使用说明
EasyMCP
EasyMCP是一个灵活的、对初学者友好的模型上下文协议(MCP)客户端。它允许您连接到不同类型的MCP服务器-SSE、NPX和UV,因此您可以与各种工具(例如文件操作)交互,并与OpenAI API集成,以增强聊天体验。
特性
- 多服务器支持
- SSE服务器: 使用服务器URL通过服务器发送的事件进行连接。
- NPX服务器: 使用NPX命令启动服务器(与Windows和非Windows系统兼容)。
- UV服务器: 运行配置了UV命令的服务器。
- 动态工具集成:
客户端会自动从连接的服务器检索可用工具,并使用它们来处理用户查询。 - 交互式聊天循环:
键入查询,让客户端使用OpenAI和可用的MCP工具处理响应。 - 配置管理:
通过以下方式轻松添加新的服务器配置add_server.py其更新适当的配置文件(例如。,sse_servers.json,npx_servers.json,或uv_servers.json).
先决条件
- Python 3.10+ (为了兼容
asyncio以及现代异步功能) - 有效的OpenAI API密钥(在
.env文件) - 其他集成所需的其他API密钥
安装
-
克隆存储库:
git clone https://github.com/yourusername/EasyMCP.git cd EasyMCP -
创建虚拟环境并激活它:
在Windows上:
python -m venv .venv .venv\Scripts\activate在macOS/Linux上:
python3 -m venv .venv source .venv/bin/activate -
安装所需的软件包:
pip install -r requirements.txt -
设置环境变量:
重命名提供的.env.sample向.env(或创建自己的.env)并填写必要的API密钥和配置。
服务器配置文件
EasyMCP使用几个JSON配置文件来管理服务器:
-
sse_servers.json: 包含基于SSE的服务器的配置。
例子:{ "mcpServers": { "@modelcontextprotocol/time": { "url": "https://router.mcp.so/sse/pnabizm8lkazpr" } } } -
npxservers.json: 包含NPX服务器的配置。
例子:{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\lotus\\Documents\\llm_books_papers", "C:\\Users\\lotus\\Documents\\llm_books_papers" ] } } } -
uv_servers.json: 包含UV服务器的配置。
例子:{ "mcpServers": { "sqlite": { "command": "uv", "args": [ "--directory", "parent_of_servers_repo/servers/src/sqlite", "run", "mcp-server-sqlite", "--db-path", "~/test.db" ] } } }
用法
-
运行MCP客户端:
python main.py -
选择服务器:
客户端将从以下位置加载可用服务器sse_servers.json,npx_servers.json,以及uv_servers.json。出现提示时,输入相应的号码以选择服务器。 -
与客户互动:
连接后,键入您的查询。例如:- 要阅读PDF文件:
read Build a Large Language Model.pdf - 要使用文件工具,请执行以下操作:
use read_file tool and read 2308.11432v5.pdf
客户端将指导您根据MCP服务器提供的允许目录构建正确的文件路径。
- 要阅读PDF文件:
添加新服务器
要添加新的MCP服务器配置:
-
准备JSON配置 对于新服务器。
-
跑
add_server.py:python add_server.py此脚本将:
- 检测服务器类型(NPX、UV或默认为SSE)。
- 将新配置附加到适当的文件(例如。,
npx_servers.json,uv_servers.json,或sse_servers.json).
示例文件
-
main.py:
EasyMCP客户端的主要入口点。它通过OpenAI集成处理服务器连接、聊天循环和处理查询。 -
add_server.py:
将新的MCP服务器配置添加到JSON文件的脚本。 -
.env:
包含环境变量,如API键和模型配置。 -
requirements.txt:
列出项目依赖关系。
贡献
欢迎投稿!请分叉存储库并提交拉取请求,并详细描述您的更改。
许可证
该项目是开源的,可在 MIT许可证.
联系
对于问题或功能请求,请随时在GitHub存储库中打开问题。
编码愉快!