返回市场
简单演示

简单演示

作者:arjunprabhulal4 星标更新:2025-04-04

项目介绍

MCP 简单示例

这是一个使用Python服务器和客户端演示模型上下文协议(MCP)简单示例。

概述

本项目演示了模型上下文协议(MCP)的基本实现,该协议允许AI模型访问外部工具和数据源。它包括:

  • 符合MCP标准的服务器,带有简单的工具
  • 与服务器交互的客户端
  • 工具调用和响应的示例

代码库

该项目的官方代码库位于: https://github.com/arjunprabhulal/mcp-simple-demo

安装

预备条件

  • Python 3.8+
  • pip

设置

  1. 克隆代码库:
git clone https://github.com/arjunprabhulal/mcp-simple-demo.git
cd mcp-simple-demo
  1. 安装所需包:
# 使用requirements.txt(推荐)
pip install -r requirements.txt

# 或者手动安装包
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 "您的名字"

调用add工具:

python client.py add 5 3

可用工具

hello_world

返回问候消息。

参数:

  • name(可选):要问候的名字(默认:"World")

返回值:

  • 包含消息字段的JSON对象:{"message": "Hello, 名字!"}

add

加法运算。

参数:

  • a:第一个数字(整数)
  • b:第二个数字(整数)

返回值:

  • ab的和(整数)

协议细节

模型上下文协议(MCP)使用服务端发送事件(SSE)来建立连接。流程如下:

  1. 客户端连接到/sse端点
  2. 服务器返回一个会话ID
  3. 客户端使用会话ID通过/messages/?session_id=...进行工具调用

高级测试

为了更详细地测试服务器,请使用测试客户端:

python test_client.py

这将对MCP连接和可用工具进行更全面的测试。

贡献

欢迎对此项目做出贡献!请随意向GitHub仓库提交问题或拉取请求。

参考资料