使用说明
🤖 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提供了一个内置客户端。 |
聊天流程:
- 用户通过Streamlit UI发送消息。
- 消息(包含对话历史记录)将发送到 格罗克.
- 如果LLM决定需要一个工具,它将返回 工具调用.
- 应用程序将呼叫转发给 MCP服务器,它执行该工具。
- 工具结果被发送回Groq进行 最终答案.
- 答案显示在聊天中。
📝 依赖项
- FastMCP --MCP服务器框架
- 溪流 --聊天界面
- 格罗克 -LLM API客户端
- python dotenv —
.env文件加载器
📄 许可证
这个项目是开源的。请随意使用、修改和分享。
