FastMCP回显服务器与客户端

一个完整的FastMCP(模型上下文协议)设置,包括服务器和客户端实现,用于演示工具调用、资源访问和提示生成。

  • by imvickykumar999
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 imvickykumar999/MCP-Server-Client

使用说明

FastMCP Echo服务器和客户端

该项目演示了一个完整的FastMCP(模型上下文协议)设置,包括服务器和客户端实现。

FastMCP回声服务器

服务器(fastmcp_echo_server.py)提供:

工具

  • echo_tool:接受文本输入并将其原封不动地返回

资源

  • echo://static:返回“Echo!”的静态资源
  • echo://{text}:响应输入文本的模板资源

提示

  • echo:接受文本输入并将其作为提示返回

MCP客户端

客户(mcp_client.py)演示如何:

  • 初始化与MCP服务器的连接
  • 列出和调用工具
  • 列出并阅读资源
  • 列出并获取提示
  • 处理MCP协议通信

运行演示

1.启动FastMCP服务器

# Install dependencies
pip install fastmcp

# Run the server
python fastmcp_echo_server.py

服务器将于启动 http://localhost:8000 默认情况下。

2.运行MCP客户端

在单独的终端中:

# Run the client (make sure server is running first)
python mcp_client.py

预期输出

客户将演示:

  1. 服务器连接:初始化并连接到MCP服务器
  2. 工具发现:查找 echo_tool
  3. 工具执行:呼叫 echo_tool “MCP客户端您好!”
  4. 资源发现:查找静态资源和模板资源
  5. 资源阅读:阅读 echo://static 和 echo://hello
  6. 快速发现:查找 echo 提示
  7. 迅速执行:收到提示“来自MCP客户端的Hello!”

示例输出

🚀 Starting FastMCP Echo Server Demonstration
📡 Server URL: http://localhost:8000
🔄 Initializing connection with MCP server...
✅ Successfully connected to FastMCP server
   Server: Echo Server
   Version: 1.0.0

🛠️  Discovering tools...
✅ Found 1 tools
   • echo_tool: Echo the input text

🔧 Calling echo_tool...
✅ Tool call successful: Hello from MCP Client!

📁 Discovering resources...
✅ Found 2 resources
   • Static Echo Resource: echo://static
   • Template Echo Resource: echo://{text}

📖 Reading static resource: echo://static
✅ Resource read successful: Echo!

📖 Reading template resource: echo://hello
✅ Resource read successful: Echo: hello

💬 Discovering prompts...
✅ Found 1 prompts
   • echo: Echo prompt

💬 Getting echo prompt...
✅ Prompt get successful: Hello from MCP Client!

✅ Demonstration completed successfully!

MCP协议详细信息

客户端通过HTTP使用JSON-RPC 2.0的模型上下文协议(MCP)与服务器通信。它表明:

  • 初始化:握手和能力谈判
  • 工具调用:对服务器工具的远程过程调用
  • 资源访问:读取服务器提供的资源
  • 快速生成:从服务器获取结构化提示

定制

服务器URL

要连接到其他服务器URL,请修改 BASE_URL 在 mcp_client.py:

BASE_URL = "http://your-server-url:port"

服务器实现

服务器使用 fastmcp 图书馆。确保已安装:

pip install fastmcp

需求

  • Python 3.8+
  • fastmcp 图书馆
  • requests 图书馆(为客户)

安装所有依赖项:

pip install fastmcp requests