MCP开发入门
我们根据 readme.md 文档来操作就行。
·
MCP开发入门
环境配置
这里采用 python-sdk:mcp/python-sdk
我们根据 readme.md 文档来操作就行
安装 uv
Installation | uv选择自己对应的操作系统,复制代码运行即可
安装完后,在命令行输入
uv python list
可以看到自己电脑的 python 版本和安装路径

如果你想安装某个版本的 python,例如我要下载 3.13 版本的 python,输入
uv python install 3.13
初始化
cd 到我们的项目文件夹,初始化当前文件夹为一个 python 工程
uv init . -p 3.13
添加 MCP 到你的项目依赖中
uv add "mcp[cli]"
上面添加 MCP 依赖的 uv 代码也可替换为下面
pip install "mcp[cli]"
编写代码
此时就已经初始化好了项目,会发现自动生成了一些文件

main 文件系统给我们自动生成了 demo 代码
"""
FastMCP quickstart example.
cd to the `examples/snippets/clients` directory and run:
uv run server fastmcp_quickstart stdio
"""
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
# Add a prompt
@mcp.prompt()
def greet_user(name: str, style: str = "friendly") -> str:
"""Generate a greeting prompt"""
styles = {
"friendly": "Please write a warm, friendly greeting",
"formal": "Please write a formal, professional greeting",
"casual": "Please write a casual, relaxed greeting",
}
return f"{styles.get(style, styles['friendly'])} for someone named {name}."
@mcp.tool()分析
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
-
@mcp.tool()声明了下面函数是一个 MCP 工具,使该函数能够被MCP框架识别和调用 -
该函数的注释是必须要写上的,这段注释用于告诉大模型它的功能是什么
-
类型修饰符必须要加上,用于帮助大模型理解该工具的传参类型
@mcp.resource()分析
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
@mcp.resource()将函数声明为 MCP 资源处理器greeting是资源协议/类型标识符{name}是路径参数占位符,支持动态值替换
@mcp.prompt()分析
# Add a prompt
@mcp.prompt()
def greet_user(name: str, style: str = "friendly") -> str:
"""Generate a greeting prompt"""
styles = {
"friendly": "Please write a warm, friendly greeting",
"formal": "Please write a formal, professional greeting",
"casual": "Please write a casual, relaxed greeting",
}
@mcp.prompt()将函数标记为提示词生成器- 根据输入返回字符串类型的提示词
现在我们来运行部署这一个程序
运行与测试
SSE
在 main 文件下面添加如下代码,然后运行
if __name__ == "__main__":
mcp.run(transport="sse")

记录这个地址,并加上sse
http://127.0.0.1:8000/sse
现在我用通义灵码测试一下,点击个人设置




命令输入下面代码即可
http://127.0.0.1:8000/sse
- 中间的路径为你项目文件夹的绝对路径
- 最后的 py 文件名替换为你项目中的文件名,这里我用的是项目默认生成的 main.py

这里显示为绿色即连接成功
测试

这里就简单搭建了一个demo
部署
我们可以部署在一个云服务器上或者任何可以通过公网访问的服务器
放在服务器上部署需要在main.py添加一行代码
if __name__ == "__main__":
mcp.settings.host = "0.0.0.0"
mcp.run(transport="sse")
-
将代码文件上传到服务器
-
在终端进入对应目录,输入一下代码配置虚拟环境
uv venv -
输入命令安装依赖
uv pip install . -
启动服务
uv run main.py
剩下的操作就很简单了,跟上面测试 MCP 一样,只不过把地址换成自己的公网地址即可
http://<server-ip>:8000/sse
更多推荐


所有评论(0)