EasyMCP 是一个灵活且易于上手的 Model Context Protocol (MCP) 客户端。它允许您连接到不同类型的 MCP 服务器——SSE、NPX 和 UV,因此您可以与各种工具(例如文件操作)进行交互,并通过集成 OpenAI API 来增强聊天体验。
add_server.py 轻松添加新的服务器配置,该脚本会更新相应的配置文件(如 sse_servers.json、npx_servers.json 或 uv_servers.json)。asyncio 和现代异步特性).env 文件中)克隆仓库:
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"
}
}
}
npx_servers.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 加载可用服务器。当提示时,输入对应的数字以选择服务器。
与客户端交互: 连接后,输入您的查询。例如:
read Build a Large Language Model.pdfuse read_file tool and read 2308.11432v5.pdf客户端将引导您根据 MCP 服务器提供的允许目录构建正确的文件路径。
要添加新的 MCP 服务器配置:
准备新服务器的 JSON 配置。
运行 add_server.py:
python add_server.py
该脚本将:
npx_servers.json、uv_servers.json 或 sse_servers.json)。main.py: EasyMCP 客户端的主要入口点。它处理服务器连接、聊天循环以及与 OpenAI 集成的查询处理。
add_server.py: 用于向 JSON 文件添加新 MCP 服务器配置的脚本。
.env: 包含 API 密钥和模型配置等环境变量。
requirements.txt: 列出项目依赖项。
欢迎贡献!请分叉仓库并提交带有详细更改描述的拉取请求。
该项目是开源的,并在 MIT 许可证 下提供。
如有问题或功能请求,请随时在 GitHub 仓库中打开一个 Issue。
祝编程愉快!