项目简介
Jibberish 仓库中包含两个用于演示 Model Context Protocol (MCP) 的示例服务器实现:一个基于 HTTP 协议 ('tests/simple_http_mcp_server.py'),另一个基于标准输入/输出 (Stdio) 协议 ('tests/simple_mcp_server.py')。它们作为独立的后端服务,旨在向 LLM 客户端提供标准化的工具注册与调用能力,是理解 MCP 协议和客户端如何与其交互的绝佳范例。
主要功能点
- 工具注册与调用: 服务器通过 MCP 定义的 JSON-RPC 协议,允许 LLM 客户端发现其托管的工具列表(通过 'tools/list' 请求),并按需调用这些工具(通过 'tools/call' 请求),以获取特定信息或执行外部操作。
- 多传输协议支持: 示例服务器分别展示了通过 HTTP 和 Stdio 两种常见传输协议与客户端进行通信的能力,适应不同的部署和集成场景。
- 标准化 JSON-RPC 接口: 严格遵循 MCP 规范,实现 'jsonrpc' 2.0 版本协议,确保与兼容的 LLM 客户端进行无缝通信。
- 内置示例工具:
- HTTP 服务器: 提供了 'greet' (生成问候语)、'calculate' (执行基本算术运算) 和 'reverse' (反转字符串) 等工具。
- Stdio 服务器: 提供了 'repeat' (回显输入消息) 和 'add' (将两个数字相加) 等工具。
安装步骤
- 克隆 Jibberish 仓库:
打开您的终端,执行以下命令将 Jibberish 仓库克隆到本地:
git clone https://github.com/bjeremy23/jibberish.git cd jibberish - 准备 Python 环境: 这些示例 MCP 服务器是 Python 脚本,通常只需要 Python 3 环境即可运行,无需额外的 'pip install' 依赖(它们主要依赖 Python 标准库)。
MCP 客户端配置示例
MCP 客户端(例如 Jibberish 自身或其他兼容的 LLM 应用)需要配置 MCP 服务器的连接信息。以下是配置这两个示例服务器的 JSON 格式片段,您可以将其作为参考,整合到您的 MCP 客户端配置文件中(例如 '~/.jbrsh-mcp-servers.json' 或客户端指定的文件):
{ "SimpleHttpServer": { "enabled": true, "command": "http://localhost:8080", "tool_prefix": "http_example", "description": "提供 HTTP 接口的 MCP 示例服务器,包含 greet, calculate, reverse 工具。" }, "SimpleStdioServer": { "enabled": true, "command": "python3", "args": ["tests/simple_mcp_server.py"], "tool_prefix": "stdio_example", "description": "提供 Stdio 接口的 MCP 示例服务器,包含 repeat, add 工具。" } }
-
'SimpleHttpServer' 配置说明:
- '"enabled": true': 表示该 MCP 服务器处于启用状态,客户端将尝试连接。
- '"command": "http://localhost:8080"': 指定 HTTP 服务器的 URL 地址。客户端将向此地址发送 JSON-RPC POST 请求。
- '"tool_prefix": "http_example"': 在客户端中,该服务器提供的所有工具名称都将带有此前缀(例如,'http_example_greet')。这有助于避免工具名称冲突。
- '"description"': 简要描述此服务器提供的功能和工具。
-
'SimpleStdioServer' 配置说明:
- '"enabled": true': 表示该 MCP 服务器处于启用状态。
- '"command": "python3"': 指定用于启动服务器进程的可执行程序,此处为 Python 3 解释器。
- '"args": ["tests/simple_mcp_server.py"]': 传递给 'command' 的命令行参数,此处为 Stdio 服务器脚本的路径。客户端通过向此进程的标准输入发送 JSON-RPC 请求,并从标准输出接收响应。
- '"tool_prefix": "stdio_example"': 客户端中该服务器工具的前缀(例如,'stdio_example_repeat')。
- '"description"': 简要描述此服务器提供的功能和工具。
基本使用方法
-
启动 HTTP MCP 示例服务器: 在一个独立的终端窗口中,导航到克隆的 'jibberish' 仓库目录,然后运行:
python3 tests/simple_http_mcp_server.py --port 8080您将看到服务器启动并监听 'http://localhost:8080'。它将显示可用的 'greet', 'calculate', 'reverse' 工具。
-
启动 Stdio MCP 示例服务器: Stdio 服务器通常由 MCP 客户端应用程序自动作为子进程启动和管理。您无需手动运行此命令,客户端会自动处理其生命周期。
-
通过 MCP 客户端调用工具: 如果您的 LLM 客户端(如配置了上述信息的 Jibberish shell)已成功集成,当您向 LLM 提出需要外部工具协助的问题时,LLM 将能够自动识别并调用这些 MCP 服务器提供的工具。例如,您可以:
- HTTP 服务器工具: 客户端的 LLM 可能会调用 'http_example_greet' 工具来生成问候语。
- Stdio 服务器工具: 客户端的 LLM 可能会调用 'stdio_example_add' 工具来执行加法。
信息
分类
AI与计算