DeepSeek实战--MCP Server
本文介绍了 DeepSeek 实战中 MCP Server 的使用方法及其三大核心能力:Tool(工具)、Resource(资源)和 Prompt(提示模板)。文章以一个考评系统为例,详细展示了如何通过 MCP Server 实现工具调用。首先使用 uv 初始化项目并安装依赖,然后通过 FastMCP SDK 创建工具函数(如获取员工绩效得分),并注册到 MCP Server 中。接着,修改配置文
1.MCP Server 三大能力
- Tool(工具): 与我们在 Agent 和 Function Calling 中使用的 Tool 是一样的,就是写程序去调用外部服务。
- Resource(资源): Resource 表示服务器希望提供给客户端的任何类型的只读数据。这可能包括文件内容、数据库记录、图片、日志等等。
- Prompt(提示模板) : Prompt 是由服务器定义的可重用的模板,用户可以选择这些模板来引导或标准化与 LLM 的交互过程。例如,Git MCP Server 可以提供一个“生成提交信息”的提示模板,用户可以用它来创建标准化的提交消息。
2.示例:考评系统
1)安装 uv
MCP 官方推荐使用 uv 来进行 Python 工程的管理。可以使用如下命令进行安装,命令:
python3 -m pip install uv==0.5.24
执行结果:
2)初始化项目
命令:
uv init achievement
初始化完成后,会出现如下打印:
日志中,可以按到初始化项目后的相对路径
3)使用 Tool 能力
MCP Server 的 Python SDK,分为 FastMCP SDK 和 Low-Lever SDK 两种。FastMCP 是在 Low-Level 的基础上又做了一层封装,不论是写代码,还是项目依赖等,操作起来都更加简单,容易上手。因此建议使用 FastMCP。
4)uv 会创建出一个 .venv 虚拟环境,并自动安装一堆依赖
uv add "mcp[cli]"
此时,uv 会创建出一个 .venv 虚拟环境,并自动安装一堆依赖
5)下载 mcp sdk,之后创建一个 server.py 文件,开始写代码
python3 -m pip install mcp
执行结果:
6)写工具
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("achievement")
# Add an get score tool
@mcp.tool()
def get_score_by_name(name: str) -> str:
"""根据员工的姓名获取该员工的绩效得分"""
if name == "张三":
return "name: 张三 绩效评分: 85.9"
elif name == "李四":
return "name: 李四 绩效评分: 92.7"
else:
return "未搜到该员工的绩效"
第7 行使用 @mcp.tool() 注解向 MCP Server 注册工具,被修饰的 get_score_by_name 函数即为该工具的具体实现
第 9 行,MCP Server 会识别出来这是工具的描述,不需要单独写描述(json)
选用用 FastMCP
7)修改 MCP Server 配置文件
{
"mcpServers": {
"achievement": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"D:\\workspace\\python\\mcp-test\\achievement",
"mcp",
"run",
"D:\\workspace\\python\\mcp-test\\achievement\\server.py"
]
}
}
}
你要把实际代码路径写成你自己的
8)找一个client (如:ROO CODE)执行,验证

3.总结
1)MCP Server 需要写工具,但不需要写tools 定义,MCP能够自动解析
2)MCP Hosts 能够直接使用的插件不多
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐

所有评论(0)