使用说明
MCP(模型上下文协议)实现
该项目展示了模型上下文协议(MCP)的全面实现,该协议允许AI模型通过标准化接口与外部工具进行通信。
什么是MCP?
MCP是一个开放协议,它规范了应用程序如何为大型语言模型(LLM)提供上下文。它实现了人工智能系统和本地运行的MCP服务器之间的通信,MCP服务器提供了额外的工具和资源来扩展人工智能功能。
项目结构
服务器
server_SGL.py-键值存储服务器(设置、获取、列表操作)server_CALC.py-计算器服务器(加、减、乘、除、sqrt)server_WEATHER.py-天气信息服务器(当前天气、预报、城市)
客户
multi_server_client.py-连接到多个MCP服务器并使用Groq API的主客户端
公用事业
start_servers.bat-批处理文件,用于启动不同端口上的所有服务器.env-API密钥的环境文件(不包括在存储库中)requirements.txt- Groq集成的依赖关系
入门指南
-
设置虚拟环境:
# Create virtual environment python -m venv venv # Activate the virtual environment venv\Scripts\activate # On Windows # source venv/bin/activate # On macOS/Linux # Install dependencies pip install -r requirements.txt -
创建一个
.env使用Groq API密钥提交:GROQ_API_KEY=your_api_key_here -
启动MCP服务器(每个服务器位于不同的端口上):
# On Windows .\start_servers.bat # Or start them individually python server_SGL.py python server_CALC.py 8002 python server_WEATHER.py 8003 -
运行多服务器客户端:
python multi_server_client.py
可用工具
键值存储(端口8000)
keyvalue___set:使用键存储值keyvalue___get:按键检索值keyvalue___list:列出所有存储的密钥
计算器(端口8002)
calc___add:添加两个数字calc___subtract:从第一个数字中减去第二个数字calc___multiply:将两个数字相乘calc___divide:将第一个数字除以第二个数字calc___sqrt:计算一个数字的平方根
天气信息(端口8003)
weather___current:获取城市的当前天气(模拟)weather___forecast:获取城市的天气预报(模拟)weather___cities:列出可用城市
MCP协议详细信息
每个MCP服务器实现两个主要端点:
/mcp/tools-返回可用工具的列表/mcp/invoke-使用提供的参数执行工具
与LLM集成
该项目演示了与Groq的LLM API的集成,但MCP协议可以与任何支持函数调用的LLM一起使用,包括:
- OpenAI(GPT模型)
- 人物克劳德
- 亚马逊基岩模型
- 通过Ollama等工具建立本地模型
许可证
本项目作为MCP协议的教育示例提供。
