项目简介

'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 服务器。

安装步骤

  1. 确保已安装 Python 3.7 或更高版本。
  2. 安装 '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': 服务器描述,可选。

基本使用方法

  1. 启动 MCP 服务器: 首先需要运行 MCP 服务器。例如,启动 'math_server.py' 示例服务器,在终端中执行:

    python servers/math_server.py
  2. 使用 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())

信息

分类

开发者工具