使用说明
MCP简单演示
使用Python服务器和客户端简单演示模型上下文协议(MCP)。
概述
该项目演示了模型上下文协议(MCP)的基本实现,该协议允许AI模型访问外部工具和数据源。它包括:
- 具有简单工具的MCP兼容服务器
- 用于与服务器交互的客户端
- 工具调用和响应示例
仓库
此项目的官方存储库位于: https://github.com/arjunprabhulal/mcp-simple-demo
安装
先决条件
- Python 3.8+
- 点
设置
- 克隆存储库:
git clone https://github.com/arjunprabhulal/mcp-simple-demo.git
cd mcp-simple-demo
- 安装所需的软件包:
# Using requirements.txt (recommended)
pip install -r requirements.txt
# Or install packages manually
pip install mcp llama-index llama-index-tools-mcp requests
服务器使用情况
服务器提供符合MCP的工具,可供AI模型或客户端应用程序访问。
启动服务器
python server.py
这将使用两个工具在默认端口(8000)上启动MCP服务器:
hello_world:返回问候信息add:将两个数字相加
调试
要启用调试日志,请执行以下操作:
DEBUG_LEVEL=DEBUG python server.py
对于完全调试模式:
DEBUG=true DEBUG_LEVEL=DEBUG python server.py
客户端使用情况
提供的客户端可以在交互和命令行模式下与MCP服务器交互。
交互模式
python client.py
这将启动一个交互式会话,您可以在其中选择要执行的命令。
命令行模式
列出可用工具:
python client.py tools
调用hello_world工具:
python client.py hello
python client.py hello "Your Name"
调用添加工具:
python client.py add 5 3
可用工具
你好_世界
返回问候信息。
参数:
name(可选):要问候的名字(默认:“World”)
退货:
- 带有消息字段的JSON对象:
{"message": "Hello, Name!"}
添加
将两个数字相加。
参数:
a:第一个数字(整数)b:第二个数字(整数)
退货:
- a和b之和(整数)
协议细节
模型上下文协议(MCP)使用服务器发送事件(SSE)来建立连接。流程如下:
- 客户端连接到
/sse端点 - 服务器返回会话ID
- 客户端使用会话ID通过以下方式进行工具调用
/messages/?session_id=...
高级测试
要对服务器进行更详细的测试,请使用测试客户端:
python test_client.py
这将对MCP连接和可用工具进行更全面的测试。
贡献
欢迎为这个项目捐款!请随时向提交问题或拉取请求 GitHub存储库.
