MCP服务器构建工具

一个手把手教你如何构建MCP服务器并与LLM通过Streamlit聊天界面连接的项目,支持Groq LLM调用内置工具。

  • by BinhMinhs10
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BinhMinhs10/first-mcp-server

使用说明

🤖 MCP服务器演示——从头开始构建您的第一台MCP服务器

一个实践演示项目,展示如何构建 模型上下文协议(MCP) 服务器,并通过一个漂亮的连接将其连接到LLM 溪流 聊天界面,由 格罗克.

✨ 亮点

  • 🔧 MCP 服务器 建于 FastMCP --使用简单的装饰器注册工具
  • 💬 聊天界面 由Streamlit提供支持,具有完整的对话历史记录
  • ⚡ Groq法学硕士 (Llama 3.3 70B)用于快速、智能的响应
  • 🛠️ 5个内置工具 法学硕士可以随叫随到

🏗️ 建筑

User  ➜  Streamlit Chat UI  ➜  Groq LLM  ➜  MCP Server  ➜  Tools
                                   ⬆                          |
                                   └──────── result ──────────┘

要点:

  • LLM从不直接与工具对话。
  • 工具位于MCP服务器内部。
  • MCP服务器根据请求执行工具,并将结果返回给LLM。

🛠️ 可用工具

工具 说明
get_weather 获取一个城市的模拟天气数据
get_time 返回当前时间(带可选时区)
calculate 安全地计算数学表达式(例如。 3 + 5 * 2)
calculate_operation 执行基本数学运算:加、减、乘、除
check_system_status 检查命名系统的状态(数据库、api等)

📦 项目结构

first-mcp-server/
├── app.py            # Streamlit chat client — connects to MCP server & Groq
├── my_server.py      # MCP server — registers and exposes all tools
├── test_client.py    # Standalone test client to verify tools
├── main.py           # Default PyCharm entry point (unused)
├── requirement.txt   # Python dependencies
└── .env              # Environment variables (GROQ_API_KEY)

🚀 入门指南

设置Groq API密钥

创建一个 .env 项目根目录中的文件:

GROQ_API_KEY=your_groq_api_key_here

在获取免费API密钥 console.groq.com.

运行应用程序

streamlit run app.py

打开终端中显示的URL(通常 http://localhost:8501)开始聊天吧!

(可选)直接测试工具

python test_client.py

🧩 运作原理

MCP建立在 三个构建块:

概念 角色
服务器 一个向LLM公开工具的Python脚本。你运行它,它会监听请求。
工具 一个用以下代码装饰的常规Python函数 @mcp.tool它可以做任何事情:获取数据、计算结果、调用API。
客户 连接到服务器并调用工具。在这个项目中,客户端是Streamlit应用程序;为了进行测试,FastMCP提供了一个内置客户端。

聊天流程:

  1. 用户通过Streamlit UI发送消息。
  2. 消息(包含对话历史记录)将发送到 格罗克.
  3. 如果LLM决定需要一个工具,它将返回 工具调用.
  4. 应用程序将呼叫转发给 MCP服务器,它执行该工具。
  5. 工具结果被发送回Groq进行 最终答案.
  6. 答案显示在聊天中。

📝 依赖项

📄 许可证

这个项目是开源的。请随意使用、修改和分享。