OpenAI MCP Server
一个模型上下文协议(Model Context Protocol, MCP)服务器的实现,它支持 OpenAI API 和 MCP 客户端之间的连接,从而实现编码辅助功能,包括命令行界面(CLI)交互、Web API 集成和基于工具的架构。
README
MCP 编码助手,支持 OpenAI + 其他 LLM 提供商
一个强大的 Python 版 Claude Code 重构,具有增强的实时可视化、成本管理和模型上下文协议 (MCP) 服务器功能。此工具提供了一个自然语言界面,用于软件开发任务,并支持多个 LLM 提供商。
主要特性
- 多提供商支持: 可与 OpenAI、Anthropic 和其他 LLM 提供商配合使用
- 模型上下文协议集成:
- 作为 MCP 服务器运行,以便与 Claude Desktop 和其他客户端一起使用
- 使用内置的 MCP 客户端连接到任何 MCP 服务器
- 用于解决复杂问题的多代理同步
- 实时工具可视化: 实时查看工具执行进度和结果
- 成本管理: 使用预算控制跟踪令牌使用情况和费用
- 全面的工具套件: 文件操作、搜索、命令执行等
- 增强的 UI: 具有进度指示器和语法高亮的丰富终端界面
- 上下文优化: 智能对话压缩和内存管理
- 代理协调: 具有不同角色的专用代理可以协作完成任务
安装
- 克隆此存储库
- 安装依赖项:
pip install -r requirements.txt
- 创建一个包含 API 密钥的
.env文件:
# 选择一个或多个提供商
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# 可选的模型选择
OPENAI_MODEL=gpt-4o
ANTHROPIC_MODEL=claude-3-opus-20240229
用法
CLI 模式
使用默认提供商(从可用的 API 密钥确定)运行 CLI:
python claude.py chat
指定提供商和模型:
python claude.py chat --provider openai --model gpt-4o
设置预算限制以管理成本:
python claude.py chat --budget 5.00
MCP 服务器模式
作为模型上下文协议服务器运行:
python claude.py serve
在开发模式下使用 MCP Inspector 启动:
python claude.py serve --dev
配置主机和端口:
python claude.py serve --host 0.0.0.0 --port 8000
指定其他依赖项:
python claude.py serve --dependencies pandas numpy
从文件加载环境变量:
python claude.py serve --env-file .env
MCP 客户端模式
使用 Claude 作为推理引擎连接到 MCP 服务器:
python claude.py mcp-client path/to/server.py
指定 Claude 模型:
python claude.py mcp-client path/to/server.py --model claude-3-5-sonnet-20241022
尝试包含的示例服务器:
# 在终端 1 中 - 启动服务器
python examples/echo_server.py
# 在终端 2 中 - 使用客户端连接
python claude.py mcp-client examples/echo_server.py
多代理 MCP 模式
启动具有同步代理的多代理客户端:
python claude.py mcp-multi-agent path/to/server.py
使用自定义代理配置文件:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json
与 echo 服务器的示例:
# 在终端 1 中 - 启动服务器
python examples/echo_server.py
# 在终端 2 中 - 启动多代理客户端
python claude.py mcp-multi-agent examples/echo_server.py --config examples/agents_config.json
可用工具
- View: 读取文件,可选择行数限制
- Edit: 使用精确的文本替换修改文件
- Replace: 创建或覆盖文件
- GlobTool: 通过模式匹配查找文件
- GrepTool: 使用正则表达式搜索文件内容
- LS: 列出目录内容
- Bash: 执行 shell 命令
聊天命令
- /help: 显示可用命令
- /compact: 压缩对话历史记录以节省令牌
- /version: 显示版本信息
- /providers: 列出可用的 LLM 提供商
- /cost: 显示成本和使用情况信息
- /budget [amount]: 设置预算限制
- /quit, /exit: 退出应用程序
架构
Claude Code Python Edition 采用模块化架构构建:
/claude_code/
/lib/
/providers/ # LLM 提供商实现
/tools/ # 工具实现
/context/ # 上下文管理
/ui/ # UI 组件
/monitoring/ # 成本跟踪和指标
/commands/ # CLI 命令
/config/ # 配置管理
/util/ # 实用函数
claude.py # 主要 CLI 入口点
mcp_server.py # 模型上下文协议服务器
与模型上下文协议一起使用
将 Claude Code 用作 MCP 服务器
MCP 服务器运行后,您可以从 Claude Desktop 或其他 MCP 兼容客户端连接到它:
-
安装并运行 MCP 服务器:
python claude.py serve -
在浏览器中打开配置页面:
http://localhost:8000 -
按照说明配置 Claude Desktop,包括:
- 复制 JSON 配置
- 下载自动配置的 JSON 文件
- 分步设置说明
将 Claude Code 用作 MCP 客户端
要使用 Claude Code 连接到任何 MCP 服务器:
- 确保您的 Anthropic API 密钥位于环境或 .env 文件中
- 启动要连接的 MCP 服务器
- 使用 MCP 客户端连接:
python claude.py mcp-client path/to/server.py - 在交互式聊天界面中键入查询
使用多代理模式
对于复杂的任务,多代理模式允许多个专用代理进行协作:
- 创建一个代理配置文件或使用提供的示例
- 启动您的 MCP 服务器
- 启动多代理客户端:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json - 使用命令界面与多个代理交互:
- 键入消息以广播给所有代理
- 使用
/talk Agent_Name message进行直接通信 - 使用
/agents查看所有可用代理 - 使用
/history查看对话历史记录
贡献
- Fork 存储库
- 创建一个功能分支
- 使用测试实现您的更改
- 提交 pull request
许可证
MIT
致谢
该项目灵感来自 Anthropic 的 Claude Code CLI 工具,该工具以 Python 重新实现,并具有额外的功能,可增强可见性、成本管理和 MCP 服务器功能。# OpenAI 代码助手
一个强大的命令行和基于 API 的编码助手,它使用 OpenAI API,具有函数调用和流式传输功能。
特性
- 用于编码辅助的交互式 CLI
- 用于与其他应用程序集成的 Web API
- 模型上下文协议 (MCP) 服务器实现
- 用于高可用性的复制支持
- 用于可扩展性的基于工具的架构
- 用于工具优化的强化学习
- 用于基于浏览器的交互的 Web 客户端
安装
- 克隆存储库
- 安装依赖项:
pip install -r requirements.txt - 设置您的 OpenAI API 密钥:
export OPENAI_API_KEY=your_api_key
用法
CLI 模式
在交互式 CLI 模式下运行助手:
python cli.py
选项:
--model,-m: 指定要使用的模型(默认:gpt-4o)--temperature,-t: 设置响应生成的温度(默认:0)--verbose,-v: 启用带有附加信息的详细输出--enable-rl/--disable-rl: 启用/禁用用于工具优化的强化学习--rl-update: 手动触发 RL 模型的更新
API 服务器模式
将助手作为 API 服务器运行:
python cli.py serve
选项:
--host: 要绑定的主机地址(默认:127.0.0.1)--port,-p: 要监听的端口(默认:8000)--workers,-w: 工作进程数(默认:1)--enable-replication: 启用跨实例的复制--primary/--secondary: 这是否是主实例或辅助实例--peer: 要复制的对等实例 (host:port),可以指定多次
MCP 服务器模式
将助手作为模型上下文协议 (MCP) 服务器运行:
python cli.py mcp-serve
选项:
--host: 要绑定的主机地址(默认:127.0.0.1)--port,-p: 要监听的端口(默认:8000)--dev: 启用带有附加日志记录的开发模式--dependencies: 要安装的其他 Python 依赖项--env-file: 带有环境变量的 .env 文件的路径
MCP 客户端模式
使用助手作为推理引擎连接到 MCP 服务器:
python cli.py mcp-client path/to/server.py
选项:
--model,-m: 用于推理的模型(默认:gpt-4o)--host: MCP 服务器的主机地址(默认:127.0.0.1)--port,-p: MCP 服务器的端口(默认:8000)
部署脚本
为了更轻松地部署,请使用提供的脚本:
./deploy.sh --host 0.0.0.0 --port 8000 --workers 4
要启用复制:
# 主实例
./deploy.sh --enable-replication --port 8000
# 辅助实例
./deploy.sh --enable-replication --secondary --port 8001 --peer 127.0.0.1:8000
Web 客户端
要使用 Web 客户端,请在浏览器中打开 web-client.html。 确保 API 服务器正在运行。
API 端点
标准 API 端点
POST /conversation: 创建新对话POST /conversation/{conversation_id}/message: 向对话发送消息POST /conversation/{conversation_id}/message/stream: 流式传输消息响应GET /conversation/{conversation_id}: 获取对话详细信息DELETE /conversation/{conversation_id}: 删除对话GET /health: 健康检查端点
MCP 协议端点
GET /: 健康检查 (MCP 协议)POST /context: 获取提示模板的上下文GET /prompts: 列出可用的提示模板GET /prompts/{prompt_id}: 获取特定的提示模板POST /prompts: 创建新的提示模板PUT /prompts/{prompt_id}: 更新现有的提示模板DELETE /prompts/{prompt_id}: 删除提示模板
复制
复制系统允许运行具有同步状态的助手的多个实例。 这提供了:
- 高可用性
- 负载均衡
- 容错能力
要设置复制:
- 使用
--enable-replication启动主实例 - 使用
--enable-replication --secondary --peer [primary-host:port]启动辅助实例
工具
助手包括各种工具:
- Weather: 获取某个位置的当前天气
- View: 从文件系统读取文件
- Edit: 编辑文件
- Replace: 写入文件
- Bash: 执行 bash 命令
- GlobTool: 文件模式匹配
- GrepTool: 内容搜索
- LS: 列出目录内容
- JinaSearch: 使用 Jina.ai 进行 Web 搜索
- JinaFactCheck: 使用 Jina.ai 进行事实核查
- JinaReadURL: 读取和总结网页
CLI 命令
/help: 显示帮助消息/compact: 压缩对话以减少令牌使用量/status: 显示令牌使用情况和会话信息/config: 显示当前配置设置/rl-status: 显示 RL 工具优化器状态(如果已启用)/rl-update: 手动更新 RL 模型(如果已启用)/rl-stats: 显示工具使用统计信息(如果已启用)
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。