人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » 最新消息

从零构建 MCP Server 与 Client:打造你的第一个 AI 工具集成应用

2025-08-03 11

🚀 从零构建 MCP Server 与 Client:打造你的第一个 AI 工具集成应用

🧱 1. 准备工作

🛠️ 2. 构建 MCP Server(服务端)

2.1 初始化服务器

🧩 3. 添加自定义工具(Tools)

3.1 创建工具文件

3.2 修改 server.py 注册工具

🖥️ 4. 构建 MCP Client(客户端)

🧪 5. 联调测试(Server + Client)

🧠 总结与下一步

🚀 从零构建 MCP Server 与 Client:打造你的第一个 AI 工具集成应用

随着大型语言模型(LLM)能力的飞速发展,如何让 AI 模型灵活调用外部工具、实时访问外部数据,成为开发者面临的重要挑战。
模型上下文协议(Model Context Protocol,简称 MCP)作为一种开放标准,为 LLM 提供了类似“USB-C”统一接口,使模型能够以标准方式调用资源与服务。

本篇博客将带你一步步从零搭建:

  • ✅ MCP 服务器(Server)

  • ✅ MCP 客户端(Client)

  • ✅ 自定义工具(Tool)

  • ✅ 实现 Server-Client 联调

  • ✅ 与 Claude、ChatGPT 等大模型无缝集成!

开发环境建议:

  • Python 3.10+

  • MCP Python SDK(安装方法见下文)

  • 支持 MCP 协议的 AI 应用(如 Claude Desktop、ChatGPT 插件版)

安装基础依赖:

pip install mcp-sdk 

创建项目基本目录:

mcp_demo/ ├── server.py ├── client.py ├── tools/ │ └── file_reader.py ├── requirements.txt 

MCP Server 负责注册并提供工具,供 AI 模型调用。

server.py 中创建 MCP Server 实例,并运行。

from mcp.server.fastmcp import FastMCP # 创建 MCP Server 实例 mcp = FastMCP("Demo MCP Server") if __name__ == "__main__": mcp.run() 

运行:

python server.py 

此时 Server 会以本地模式(stdio)监听连接。

工具是 MCP 中模型可以调用的能力模块。比如读取文件、调用 API、发起数据库查询等。

我们先添加一个简单工具:列出本地目录下所有 .txt 文件。

tools/file_reader.py 中定义工具:

import os from mcp.server.fastmcp import tool @tool() def list_txt_files(directory: str = ".") -> list[str]: """列出指定目录下所有 .txt 文件""" try: return [f for f in os.listdir(directory) if f.endswith(".txt")] except Exception as e: return [str(e)] 

这里用 @tool() 装饰器标记函数,MCP Server 会自动注册它为可调用工具。

tools.file_reader 导入到 server.py

from mcp.server.fastmcp import FastMCP import tools.file_reader # 导入工具模块,自动注册 mcp = FastMCP("Demo MCP Server") if __name__ == "__main__": mcp.run() 

现在 MCP Server 已提供了一个 "list_txt_files" 工具,供后续客户端调用。

MCP Client 作为中介,负责与 Server 通信,协调 AI 应用请求与工具调用。

client.py 中创建 MCP Client 实例:

from mcp.client import MCPClient def main(): # 连接到 Server(本地也可以用 stdio 通信) client = MCPClient(server_address="http://localhost:8000") client.connect() # 列出可用工具 tools = client.list_tools() print("当前可用工具列表:", tools) # 调用 list_txt_files 工具 params = {"directory": "."} result = client.call_tool("list_txt_files", params) print("目录下的 .txt 文件:", result) client.disconnect() if __name__ == "__main__": main() 

运行:

python client.py 

如果一切顺利,你将看到 MCP Client 成功调用 MCP Server 提供的 list_txt_files 工具,并返回本地目录下的所有 .txt 文件。

完整流程如下:

可以在支持 MCP 的 AI 应用中,如 Claude Desktop,配置 MCP Client,体验完整联动!

示例提问:

请帮我列出我电脑上当前目录的所有 txt 文件。 

→ AI 调用 MCP → MCP Client 转发请求 → MCP Server 执行 list_txt_files → 返回结果!

通过本篇教程,你已经掌握了:

  • 什么是 MCP 协议

  • 如何搭建 MCP Server

  • 如何定义并注册自定义工具

  • 如何搭建 MCP Client

  • 如何实现 Client-Server 联调

  • 如何与 AI 应用对接调用工具

这为你后续开发多工具协同、多资源访问、智能体智能扩展打下了坚实基础!

在下一篇内容中,我们将探索:

原文链接:https://blog.csdn.net/gs80140/article/details/147564262?ops_request_misc=%257B%2522request%255Fid%2522%253A%25222c31fa6113d6652831ef87a5e25af6fc%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=2c31fa6113d6652831ef87a5e25af6fc&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-1-147564262-null-null.nonecase&utm_term=AI%E5%B7%A5%E5%85%B7

相关推荐

评论 ( 0 )

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部