无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由: ...
2025-08-11 0
一、MCP介绍
去年 11 月,由Claude的母公司 Anthropic 推出了模型上下文协议(MCP),MCP是一种开放协议,可以实现LLM应用与外部数据源和工具的无缝集成。无论您是在构建一个AI驱动的IDE、增强聊天界面,还是创建定制的AI工作流程,MCP都能提供连接LLM与所需的上下文的一种标准化方式。
MCP实现了两大突破:
网络上目前有很多介绍MCP原理的文章值得一读,在这里就不一一列举了,小伙伴们可以自行搜索了解,本文重点在快速实战上手MCP。
二、MCP核心解决的问题
传统范式之困:在传统开发模式中,大模型调用外部服务需要经历复杂的技术链路:
自然语言理解 -> 业务逻辑解析 -> API调用 -> 结果处理
每个环节都可能产生信息损耗,比如下面提到的三个典型问题:
MCP核心解决的问题:
打通模型与工具、与现实世界、与人类所见、所思、所想的最后一公里。
三、MCP与functionCall的关系
一句话总结:
MCP统一了不同大模型和不同服务之间的协议。
一张图理解:
图片源自网络
再引用两张网络流传甚广的图片帮助理解:
图片源自网络
图片源自网络
四、快速使用MCP服务
1. 安装vscode+cline
我们使用开源免费的vscode和cline来进行mcp的尝试,当然你也可以用cursor等其他方式。本质上我们只是需要一个agent以及一个对应的IDE(用来编辑mcp配置文件)。
2. 配置cline
我们需要配置cline使用的大模型,cline提供的是与你本地IDE和命令行交互的能力,需要用户配置使用的模型。
可以看到有很多现成的API Provider可以选,如果你有deepseek或者通义千问的现成额度和api key可以直接使用。我研究了一番,发现openrouter很好,他有大量主流模型的免费额度可以使用。如果想快速体验的朋友可以直接选openrouter,cline会引导你注册apikey。(需要谷歌或者Github账号登录)
https://openrouter.ai/
下图可以看到,我只筛选免费,搜索deepseek,包括当前最新的V3 0324模型都可以免费使用(但是有限制)。
跟着cline引导配置完OpenRouter API Key。
配置完成后你可以尝试下现在cline的对话是否ok,来确定openrouter是否调通。
3. 使用现有MCP Server
接下来,我们开始尝试使用网上现成的MCP Server,cline内置了一个MCP应用市场,可以直接点击install。
我们先用应用市场内有的浏览器操作框架Puppeteer提供的MCP Server来尝试,当然你完全可以在网上自行找MCP Server来安装。
点击install后,实际上cline就是帮你写了一段提示词,来让大模型帮你全自动安装Puppeteer MCP Server,提示词如下:
根据cline的指引,一步步接受模型指令后,我们可以看到一个配置完成的cline_mcp_settings.json文件,里面申明了我们安装的mcp server列表(目前只有一个Puppeteer MCP Server)。
{ "mcpServers": { "github.com/modelcontextprotocol/servers/tree/main/src/puppeteer": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-puppeteer" ], "transportType": "stdio" }}
接着我们来使用该mcp访问网页,尝试访问下bilibili首页,并让他告诉我首页有哪些视频标题。
运行后,可以看到Puppeteer自主操作了浏览器,打开了B站首页。
模型通过Puppeteer得到了返回的数据。
成功。
高德很早就支持了MCP协议,我们就来试试它的能力如何。
我们向模型发起提问:
请帮我规划一条从杭州市滨江区阿里巴巴园区到杭州市西湖景区的路线
模型依次调用了查询目的地经纬度、驾车、地铁公交、步行三种方案:
得到了最终方案:
详细的思考和调用截图示例
五、快速搭建MCP服务
我们已经能够调用现成的MCP服务(MCP Server),接下来我们的目标是自己搭建一个MCP Server,让cline来调用。
目前MCP官方已经有多个语言的SDK,在其官方文档都能看到。
https://modelcontextprotocol.io/introduction
我们使用他们的python sdk来创建一个demo
https://github.com/modelcontextprotocol/python-sdk
我们直接偷懒,让cline+deepseek来帮我们写。deepseek一路火花带闪电,完成了工作,主要有下面几个步骤:
首先需要在当前项目目录下创建一个新文件夹来存放MCP server
使用FastMCP来创建一个简单的Python MCP server demo
需要安装FastMCP依赖,可以使用pip安装
创建一个简单的MCP server示例,暴露一个简单的工具
将MCP server配置添加到cline_mcp_settings.json文件中
最终的mcp server(mcp_server.py)如下,实现了打招呼和两数相加的工具(tool)和资源(resource)。
# server.pyfrom mcp.server.fastmcp import FastMCP# Create an MCP serverprint("Initializing FastMCP...")mcp = FastMCP("Demo", port=8001)print("FastMCP instance created")# Add an addition toolprint("Registering add tool...")@mcp.tool()def add(a: int, b: int) -> int: """Add two numbers""" return a + bprint("Add tool registered")# Add a dynamic greeting resourceprint("Registering greeting resource...")@mcp.resource("greeting://{name}")def get_greeting(name: str) -> str: """Get a personalized greeting""" return f"Hello, {name}!"print("Greeting resource registered")# Start the MCP serverif __name__ == "__main__": print("Starting MCP server...") try: mcp.run(transport="stdio") print("MCP server is running") except Exception as e: print(f"Error starting MCP server: {str(e)}") exit(1)
资源、工具、提示词的定义,也是MCP的官方概念,在本文不做详细阐述。
图片源自网络
我们在cline上添加第二个配置。
{ "mcpServers": { "github.com/modelcontextprotocol/servers/tree/main/src/puppeteer": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-puppeteer" ], "transportType": "stdio" }, "demo-python-server": { "autoApprove": [], "disabled": false, "timeout": 3000, "command": "/Users/xxxx/.venv/bin/python3", "args": [ "/Users/xxxxx/mcp_server_demo/mcp_server.py" ], "transportType": "stdio" } }}
配置完成后,可以看到clineUI也展示了我的MCP Server。
接着可以让cline尝试调用一下模型,由于配置文件里有我们自己创造的工具的声明,所以cline调用了工具,完成了打招呼的任务。
展望
MCP正在构建AI时代的"数字乐高标准件"技术体系。当协议层实现真正的标准化,将引发三个技术革命:
当工具调用成本趋近于零时,将引爆产品创新奇点:
当工具调用成为基础能力,将引发更深层的变革:
MCP协议正悄然构建着AI时代的"数字巴别塔"。当不同语言、不同平台的服务都能通过统一协议无缝协作时,我们或将见证人类文明史上最大规模的认知革命——在这个新世界里,调用工具的能力,终将成为人类思维的自然延伸。
实时监控应用关键业务异常与告警
本方案使用日志服务(SLS)基于收集的业务日志对业务实现监控与告警,能够帮助您了解应用的运行趋势,及时发现业务异常状态,采用具体措施以保证系统稳定性。
点击实时可观测, 即时应对风险-阿里云技术解决方案查看详情。
相关文章
你敢想象吗,印度只是轻飘飘提一嘴,巴基斯坦就一夜少了5架战机。是的没错,印度空军参谋长辛格在一次公开活动中披露了上次印巴空战的细节,他声称当时印军使用...
2025-08-11 0
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-08-11 0
发表评论