使用说明
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
预期输出
客户将演示:
- 服务器连接:初始化并连接到MCP服务器
- 工具发现:查找
echo_tool - 工具执行:呼叫
echo_tool“MCP客户端您好!” - 资源发现:查找静态资源和模板资源
- 资源阅读:阅读
echo://static和echo://hello - 快速发现:查找
echo提示 - 迅速执行:收到提示“来自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
