项目简介
'mcpwire' 是一个 Python 库,用于构建 MCP (Model Context Protocol) 客户端,方便 Python 应用与实现了 MCP 协议的服务器进行交互。仓库中同时包含一个简单的 数学工具服务器示例 ('math_server.py'),用于演示 MCP 服务器的基本功能。
主要功能点
- MCP 客户端库: 提供 Python API,用于连接 MCP 服务器,并调用服务器提供的工具和 Prompt。
- 工具调用: 允许客户端列出并调用 MCP 服务器注册的工具,扩展 LLM 应用的功能。
- Prompt 获取: 支持客户端从 MCP 服务器获取预定义的 Prompt 模板,定制 LLM 交互。
- 多种连接方式: 支持 SSE 和 Stdio 两种传输协议连接 MCP 服务器。
- 配置灵活: 支持通过 'mcp.json' 配置文件管理多个 MCP 服务器连接信息。
- 服务器示例: 包含一个简单的 'math_server.py' 示例,演示如何使用 'FastMCP' 快速搭建提供数学计算工具的 MCP 服务器。
安装步骤
- 确保已安装 Python 3.7 或更高版本。
- 安装 'mcpwire' 库:
pip install mcpwire
服务器配置 (客户端)
MCP 客户端需要配置服务器连接信息才能与 MCP 服务器通信。以下是一个连接到 'math_server.py' 示例服务器的 'mcp.json' 客户端配置示例:
{ "servers": { "math_server": { "transport": "sse", "url": "http://localhost:8000/sse", "description": "Example Math Server" } } }
配置参数说明:
- 'servers': 配置的服务器列表。
- 'math_server': 服务器名称,可以自定义。
- 'transport': 传输协议,这里使用 'sse' (Server-Sent Events)。
- 'url': 'math_server.py' 示例服务器的 SSE 地址,默认为 'http://localhost:8000/sse'。
- 'description': 服务器描述,可选。
- 'math_server': 服务器名称,可以自定义。
基本使用方法
-
启动 MCP 服务器: 首先需要运行 MCP 服务器。例如,启动 'math_server.py' 示例服务器,在终端中执行:
python servers/math_server.py -
使用 MCP 客户端: 编写 Python 代码使用 'mcpwire' 客户端库连接并与 MCP 服务器交互。可以参考 'examples' 目录下的示例代码,例如 'examples/math_client_example.py' 和 'examples/basic_usage.py'。
以下是一个简单的客户端代码片段,演示如何列出和调用 'math_server' 提供的工具:
import asyncio from mcpwire import MCPClient async def main(): client = MCPClient.from_config(server_name="math_server") async with client as mcp: tools = await mcp.list_tools() print("Available tools:", [tool.name for tool in tools]) result = await mcp.call_tool("add", {"a": 10, "b": 5}) print("Tool result:", result) if __name__ == "__main__": asyncio.run(main())
信息
分类
开发者工具