掘金 人工智能 07月22日 13:44
AI编程专栏(六)-前端必用MCP推荐
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了AI编程领域中,大型语言模型(LLM)与外部工具/服务进行交互的关键技术。首先回顾了早期LLM应用的局限性,引出了OpenAI推出的Function Call机制,并分析了其在可拓展性、可靠性、延迟、成本及能力上的不足。随后,详细介绍了由Anthropic开发的开放标准Model Context Protocol (MCP),阐述了其作为连接AI与数据、工具的桥梁作用,以及其后台工作原理。文章重点对比了Function Call和MCP在架构层次、状态管理、复杂度、标准化程度及安全性等方面的差异,并列举了各自典型的应用场景。最后,推荐了Context7、Figma MCP、Git/GitHub MCP、Sequential-Thinking、Playwright、Chrome MCP Server等一系列实用的MCP工具,为开发者提供了实际应用指导。

💡 Function Call作为早期LLM与外部工具交互的核心技术,允许模型调用预定义函数,开启了工具调用的工业化时代。然而,它在可拓展性、可靠性、延迟、成本和能力方面存在局限,如缺乏统一规范、错误处理简陋、响应延迟明显、调用成本高昂以及功能相对单一。

🚀 Model Context Protocol (MCP) 是由Anthropic开发的一套开放标准,旨在通过一致的方式,让AI代理与各类工具、服务和数据安全、标准化地连接。它通过MCP服务器和客户端,实现了AI应用与本地或远程资源(如文件系统、数据库、API)的“万物互联”,解决了Function Call在集成复杂性上的不足。

⚖️ Function Call与MCP在架构层次上存在差异:Function Call更侧重操作级别的工具调用,而MCP则是一个协议级别的系统集成框架。在状态管理上,Function Call通常是无状态的,而MCP支持有状态的持久连接和上下文管理,使其更适合复杂工作流和企业级集成。

🛠️ 文章列举了多种实用的MCP工具,包括:Context7用于从源中提取最新文档和代码示例;Figma MCP可实现AI直接基于Figma数据进行UI设计;Git/GitHub MCP能够深入代码存储库,自动化GitHub工作流程;Sequential-Thinking用于复杂任务的分解和多步执行;Playwright和Chrome MCP Server则提供了浏览器自动化和网页交互能力,极大地拓展了AI在前端开发和网页分析中的应用。

🔗 MCP的出现标志着AI与外部世界集成进入了一个新阶段,它提供了一种标准化的、可扩展的框架,使得AI代理能够更深入、更安全地与各种数据源和工具进行交互,从而在实际应用中发挥更大的潜力,尤其是在复杂任务处理和系统集成方面。

AI编程专栏(一)- 评估AI编程工具对编程语言支持情况

AI编程专栏(二)- Cursor 深度使用指南

Cursor 深度使用指南(二) - 新能力使用教程

AI编程专栏(三)- 实战无手写代码,Monorepo结构框架开发

AI编程专栏(四) - 提示词技术,如何写编程提示词

AI编程专栏(五)-提示词知识-通用提示结构或框架

一、简单介绍 MCP 发展

1.1 早期问题

早期,大家对大模型应用,一般是复制或上传内容,或者研发通过API接入Token,很难与本地或远程工具/软件/插件/数据库等进行串联,存在较多的局限性。只能进行“纸上谈兵”,缺少现实中实际应用。

1.2 初次改进 - Function Call

为了解决上面的问题,OpenAI推出Function Call函数调用,它允许大型语言模型在生成文本的过程中调用外部函数或服务的功能,开启了工具调用的工业化时代。尽管 Function Call 解决了一些问题,但其本身也存在一些问题

1.2.1 Function Call(函数调用)

是一种让大模型与外部工具、API或代码交互的核心技术,允许模型在生成文本时,主动触发预定义的函数并返回结构化数据,从而突破纯文本生成的限制,实现动态能力扩展。Function Call定义工具调用的规范结构,但本身并不会调用函数或工具,是一种工具使用机制。

1.2.2 都干了什么
1.2.3 核心流程

模型决策

生成调用请求

functions = [    {        "name": "get_current_weather",        "description": "获取指定城市的天气",        "parameters": {            "type": "object",            "properties": {                "location": {"type": "string", "description": "城市名称"},                "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}            },            "required": ["location"]        }    }]

本地执行函数

if response.choices[0].message.get("function_call"):    func_name = response["function_call"]["name"]    args = json.loads(response["function_call"]["arguments"])    if func_name == "get_current_weather":        result = weather_api(args["location"])  # 调用真实API

返回结果给模型

final_response = openai.ChatCompletion.create(    model="gpt-4",    messages=[        {"role": "user", "content": "北京现在多少度?"},        {"role": "function", "name": func_name, "content": str(result)}     ])print(final_response.choices[0].message.content)# 输出:"北京当前气温25℃,晴间多云。"

1.3 统一标准 - MCP诞生

模型上下文 Model Context Protocol (MCP) 由 Claude 背后公司 Anthropic 开发的开放标准。核心目标 “通过一致方式,让 AI 代理与工具、服务和数据连接,无论它们位于何处或如何构建”。

MCP是一个标准协议,较好的类比是TYPE-C接口,你手机用的TYPE-C接口,那你就可以正常使用相关标准的充电器,无关手机或充电器品牌。

MCP 直接在 AI 与数据之间架桥联通,通过 MCP 服务器和 MCP 客户端,大家只要都遵循这套协议,就能实现“万物互联”。

图取自此处

1.3.1 MCP后台工作原理

1.4 MCP 和 Function Call 对比

1.4.1 主要区别

架构层次

状态管理

复杂度

标准化程度

安全性

1.4.2 应用场景

Function Call 典型使用场景

主要集中在简单的工具调用(简单/轻量/无状态工具使用)

MCP 典型使用场景

主要集中在复杂系统应用(持久化上下文依赖,多步骤工作流,安全性要求严格)

二者本身定义并不相同,Function Call更像MCP的一个子集,但也有各自更为契合的应用场景

二、MCP资源

2.1 MCP官方

github.com/modelcontex…

开发文档

modelcontextprotocol.io/introductio…

2.2 Cursor官方

2.3 awesome

github.com/punkpeye/aw…

2.4 魔塔

www.modelscope.cn/home

2.5 pulemcp

www.pulsemcp.com/

2.6 glama

glama.ai/mcp/servers

2.7 smithery

smithery.ai/

2.8 linuxdo

linux.do/t/topic/499…

2.9 Awesome-MCP-ZH

github.com/yzfly/Aweso…

三、好用的MCP

使用MCP前,一定先看文档,看清楚文档中MCP的要求(Node版本)和接入方式,另外MCP现在已经非常多了,我这里仅说一些前端开发或者通用型的MCP。

3.1 Context7

github.com/upstash/con…

这个确实很好的解决了使用三方框架时,API使用不准确的问题。

作用

如何使用

接入配置

// 安装npm i -g @upstash/context7-mcp// mcp.json配置"context7": {    "command": "npx",    "args": [        "-y",        "@upstash/context7-mcp"    ],    "env": {        "DEFAULT_MINIMUM_TOKENS": "6000"    }},

3.2 figma MCP

www.figma.com/blog/introd…

如果你们团队再用figma的话,那这个算是前端必须的工具,接入figma后可以可以让你少完成30%-50%前端页面布局设计。

作用

如何使用

接入配置

// 安装npm i -g figma-developer-mcp// 配置,token换掉{    "mcpServers": {        "Framelink Figma MCP": {            "command": "npx",            "args": [                "-y",                "figma-developer-mcp",                "--figma-api-key={yourtoken}",                "--stdio"            ]        }    }}

3.3 git或github

gitmcp.io/

github.com/github/gith…

业务开发,我是不怎么用这两个的,适合经常活跃github的研发。不细说直接参考文档即可。

git mcp

github mcp

3.4 sequential-thinking

github.com/modelcontex…

核心用来做复杂任务设计和拆分,是深度应用多步任务执行必备工具。

作用

如何使用

接入配置

// 先安装在使用npm i -g @modelcontextprotocol/server-sequential-thinking// 配置"sequential-thinking": {    "command": "npx",    "args": [        "-y",        "@modelcontextprotocol/server-sequential-thinking"    ]},

3.5 Playwright

github.com/microsoft/p…

提供浏览器自动化功能的模型上下文协议 (MCP) 服务器。此服务器使 LLM 能够通过结构化的辅助功能快照与网页进行交互,而无需屏幕截图或视觉调整模型

作用

如何使用

接入配置

// 先安装npm i -g @playwright// 在配置使用{  "mcpServers": {    "playwright": {            "command": "npx",            "args": [                "node",                "D:/nvm4w/nodejs/node_modules/@playwright/mcp/cli.js"            ]        }  }}

3.6 Chrome MCP Server

github.com/hangwin/mcp…

基于 Chrome 扩展程序的模型上下文协议 (MCP) 服务器,它将您的 Chrome 浏览器功能开放给 Claude 等 AI 助手,从而实现复杂的浏览器自动化、内容分析和语义搜索。

与传统的浏览器自动化工具(例如 Playwright)不同,Chrome MCP 服务器直接使用您日常使用的 Chrome 浏览器,利用现有的用户习惯、配置和登录状态,让各种大型模型或聊天机器人控制您的浏览器

作用

如何使用

接入配置

// 先安装npm install -g mcp-chrome-bridge// 方案1"chrome-mcp-stdio": {    "command": "npx",    "args": [        "node",        "D:/nvm4w/nodejs/node_modules/mcp-chrome-bridge/dist/mcp/mcp-server-stdio.js"    ]}// 方案2"chrome-mcp-server": {    "type": "streamableHttp",    "url": "http://127.0.0.1:12306/mcp"}

3.7 browser-tools

github.com/AgentDeskAI…

一个强大的浏览器监控和交互工具,它使 AI 驱动的应用程序能够通过 Anthropic 的模型上下文协议 (MCP) 通过 Chrome 扩展程序捕获和分析浏览器数据。这个偏向监控,但和上面有些类似,不细说啦。

四、知识参考

MCP官方:modelcontextprotocol.io/introductio…

medium.com/@elisowski/…

www.53ai.com/news/LargeL…

zhuanlan.zhihu.com/p/273275152…

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI编程 MCP Function Call LLM 工具集成
相关文章