使用说明
远程MCP(模型上下文协议)服务器
一个演示项目,展示了用于公寓信息检索的远程MCP服务器,客户端使用LangChain和OpenAI创建了一个交互式聊天机器人。
概述
这个项目由两个主要部分组成:
- MCP 服务器 (
remote_mcp/server.py): 一个提供公寓信息工具的FastMCP服务器 - MCP 客户端 (
client_mcp/client.py): 基于LangChain的聊天机器人客户端,用于连接远程MCP服务器
服务器通过模型上下文协议提供公寓搜索功能,而客户端则提供了一个由OpenAI的GPT模型驱动的交互式聊天界面。
特点/特性
- 🏠 一个房子的图标,常用于表示住宅或家 公寓搜索获取任何城市的公寓房源信息
- 🤖 机器人 AI驱动的聊天使用OpenAI GPT-4的交互式聊天机器人
- 🌐(地球/网络) **远程MCP(管理控制面板/主机)**远程部署的服务器(Render.com)
- ⚡(闪电符号,常用于表示快速、能量或电力) FastMCP高性能MCP服务器实现
- 🔗 LangChain 集成与LangGraph实现无缝工具集成
项目结构
remote_mcp/
├── pyproject.toml # Poetry configuration and dependencies
├── poetry.lock # Locked dependencies
├── README.md # This file
├── remote_mcp/
│ ├── __init__.py
│ └── server.py # MCP server implementation
└── client_mcp/
└── client.py # Interactive chatbot client
先决条件
- Python 3.11及以上版本
- 诗歌(用于依赖管理)
- OpenAI API密钥
安装
-
克隆仓库:
git clone https://github.com/matfonseca/remote_mcp cd remote_mcp -
使用 Poetry 安装依赖项:
poetry install -
设置环境变量: 创建一个
.env项目根目录中的文件:touch .env将您的OpenAI API密钥添加到
.env文件:OPENAI_API_KEY=your_openai_api_key_here
用法
运行MCP服务器(本地开发)
要在本地运行MCP服务器以进行开发:
poetry run python remote_mcp/server.py
服务器将在 http://0.0.0.0:8001 默认情况下。您可以通过设置来自定义端口 PORT 环境变量。
poetry run python client_mcp/client.py
这将开始一个互动聊天会话,您可以在其中询问有关公寓的问题。
示例交互
MCP Chatbot Started!
Type your queries or 'quit' to exit.
Query: What apartments are available in New York?
Response:
Here are the available apartments in New York:
- Apartment 1: 2 bed, 1 bath, $1200/month
- Apartment 2: 3 bed, 2 bath, $1500/month
- Apartment 3: 1 bed, 1 bath, $900/month
Query: quit
可用工具
MCP服务器提供了以下工具:
get_apartments_info(city: str)
- 描述获取指定城市中的公寓列表
- 参数:
city(字符串): 要搜索公寓的城市
- 退货公寓描述列表,包含卧室、浴室和租金等详细信息
配置
服务器配置
服务器可以通过环境变量进行配置:
PORT服务器端口(默认:8001)HOST服务器主机(默认:0.0.0.0)
客户端配置
要连接到本地服务器,请修改URL中的 client_mcp/client.py:
"url": "http://0.0.0.0:8001/mcp"
依赖项
核心依赖项
mcp ^1.17.0模型上下文协议实现langchain-mcp-adapters ^0.1.11LangChain与MCP的集成langchain ^0.3.27LangChain框架langchain-openai ^0.3.35LangChain的OpenAI集成langgraph ^0.6.10基于图的代理框架
开发依赖项
python-dotenv环境变量管理
发展
运行测试
poetry run pytest
代码格式化
poetry run black .
poetry run isort .
代码检查(或代码规范检查)
poetry run flake8
部署
MCP服务器目前部署在Render.com上,地址为 https://remote-mcp-mzug.onrender.com/mcp。
部署您自己的实例:
- 克隆这个仓库
- 将您的Render.com帐户连接到您的GitHub
- 在Render上创建一个新的Web服务
- 设置构建命令:
poetry install - 设置启动命令:
poetry run python remote_mcp/server.py - 根据需要配置环境变量
故障排除
常见问题
- “模块未找到”错误确保你是在以管理员权限运行命令
poetry run前缀 - OpenAI API错误请确保您的API密钥已正确设置在
.env文件 - 连接错误检查远程服务器URL是否可访问
调试模式
在您的环境中设置日志级别以启用调试日志记录:
export LOG_LEVEL=DEBUG
贡献
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支
- 做出你的更改
- 如适用,请添加测试
- 提交拉取请求
许可证
[在此添加您的许可证信息]
联系
如需咨询或获取支持,请[添加联系方式]。
这个项目展示了模型上下文协议在构建分布式AI工具生态系统方面的强大能力。
