模型上下文协议工具

MCP(模型上下文协议)是一个用于构建工具增强型AI系统的灵活协议,支持通过SSE、stdio或HTTP等传输方式无缝交互服务器、客户端和大型语言模型(LLMs)。

  • by VedantPancholi
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 VedantPancholi/Exposed-Weather-Tool-MCP-Protocol

使用说明

MCP(模型上下文协议)项目

🚀 什么是MCP?

MCP(模型上下文协议) 是一种功能强大、灵活的构建协议 工具增强人工智能系统它使您能够将Python函数公开为可以通过不同传输方式访问的工具,例如 上海证券交易所, 标准,或 超文本传输协议,允许服务器、客户端和大型语言模型(LLM)之间的无缝交互。


🧠 项目亮点

  • 🔧 从头开始构建MCP服务器 使用FastMCP提供实时天气工具。
  • 📡 与客户集成 两者都使用 上海证券交易所 和 标准.
  • 🤖 通过LangChain连接到Google Gemini,实现使用工具的对话式人工智能。
  • 🐳 Docker化环境 易于部署和移植。

📁 项目结构

根

文件 描述
main.py 打印问候语的输入脚本。
README.md 这份文件。
pyproject.toml 项目依赖关系。
uv.lock 锁定文件以进行确定性安装。

mcpserver/

文件 描述
server.py 带天气工具的主MCP服务器(get_alerts, get_forecast).
client-sse.py 客户端使用SSE列出和调用服务器工具。
client-stdio.py 客户端使用stdio与服务器工具交互。
Dockerfile Docker设置在容器中运行MCP服务器。
requirements.txt Python包依赖关系。

server/

文件 描述
weather.py 具有天气工具和自定义资源的替代MCP服务器。
client.py LangChain+Google Gemini与会话工具使用的集成。
weather.json 用于启动天气服务器的配置文件。

🖼️ 运行天气get_alert()函数的屏幕截图

🔍 运作原理

1.MCP服务器

  • 使用以下工具显示与天气相关的工具 @mcp.tool() 装饰师。
  • 可以在SSE和stdio等传输上运行。

2.客户集成

  • SSE客户端:通过SSE连接以发现和调用工具。
  • Stdio客户端:使用stdin/stdout进行命令行交互。

3.法学硕士整合

  • LangChain 将Gemini连接到MCP服务器。
  • 使LLM能够在对话过程中动态推理和调用工具。

4.Docker化部署

  • 所有代码和依赖项都是容器化的。
  • 通过Docker在任何平台上轻松运行MCP服务器。

🧪 如何跑步

本地运行(Python)

pip install -r mcpserver/requirements.txt
uv run mcpserver/server.py