【MCP-1】MCP是什么,从DEMO入手
一、MCP 是什么?
想象一下,AI 大模型就像是一个超级聪明但有时候有点 “摸不着头脑” 的小伙伴。它很厉害,能处理很多信息、回答各种问题,但它和外界的数据、工具等沟通起来有时候没那么顺畅呀。这时候,MCP 就闪亮登场啦!
MCP 的全称是 Model Context Protocol,也就是模型上下文协议。它是由 Claude 的母公司 Anthropic 在 2024 年 11 月 25 日推出的,就像是 AI 大模型的一个标准化工具箱哦,你可以把它想象成 AI 大模型和外部数据、工具之间沟通的 “通用语言” 或者 “万能插座” 呢。它能帮助大模型和外部的数据、工具建立起联系,让大模型可以去访问和操作这些外部的东西,从而完成各种各样具体的任务。
二、MCP能干啥?
有的 MCP 服务(也叫 MCP Server)能专门负责读写浏览器里的信息,有的可以负责读写本地文件,还有的能操作 git 仓库等等。这些 MCP Server 通常就是运行在本地的一段 nodejs 或者 python 程序哦。
当大模型要做一件事,比如在 AI 驱动的 IDE 中写完代码后想直接向 GitHub 提交 Pull Request,它就可以通过操作系统的 stdio(标准输入通道)去调用某个 MCP Server。MCP Server 接到请求后,就会通过自己的代码功能,或者去使用 API 请求,来访问外部工具,最终完成任务呢。
简单来说,MCP就是AI的“万能接口”。有了它,AI模型就能像插上USB-C线一样,轻松连接到各种外部数据源和工具,变得更聪明、更实用。不管是开发者还是普通用户,都能通过MCP让AI干更多事,而且过程简单又安全。未来随着MCP的普及,我们可能会看到更多酷炫的AI应用冒出来!
三、MCP和Function Call的区别
MCP 是统一标准协议,集合各模型 function call 标准,解决 AI 连接万物通用性问题,类似 “USB-C 接口”;Function Call 是大模型调用外部函数等的机制,扩展模型能力,像特定手机 “专属充电协议”。一句话总结就是:MCP 是通用标准搞连接,Function Call 是模型专属做扩展。
四、MCP server DEMO
- 使用conda,创建虚拟环境。如果没有安装,可以看这篇文章AI开发利器:miniforge3无感平替Anaconda3
conda create -n my_env python=3.11
conda activate mcp_server
- 创建MCPserver工程
pip install uv
uv init mcp-server-example
创建完成后生成相应工程目录如下
其中pyproject.toml文件内容:
[project]
name = "mcp-server-example"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = []
- 按照项目依赖
cd mcp-server-example
# 安装 dependencies
uv add mcp[cli] httpx
- 创建文件simple.py
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Simple Server")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add两个数字"""
return a + b
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""获取个性化问候"""
return f"Hello, {name}!"
if __name__ == "__main__":
# 初始化并运行 server
print('mcp服务器启动')
mcp.run(transport="stdio")
- 启动程序
uv run simple.py
但是这种启动怎么测试呢,确实不方便!
五、调试服务器
MCP Inspector 是专为 Model Context Protocol(MCP)服务器设计的交互式调试工具,支持开发者通过多种方式快速测试与优化服务端功能。
- 安装mcp
pip install mcp[cli]
- 执行命令
mcp dev simple.py
--------------输出----------------------------------------
-Starting MCP inspector...
-⚙️ Proxy server listening on port 6277
-🔍 MCP Inspector is up and running at http://127.0.0.1:6274
-------------------------------------------------------------
-
浏览器访问链接:http://127.0.0.1:6274
-
接下来点击对应的资源和工具,进行测试吧。
参考文献
- 解构Manus AI:这是通用Agent革命,还是精巧缝合怪?
- MCP快速开始-面向服务器开发者
- MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch
- MCP:跨越AI模型与现实的桥梁