关于 MCP Coding Assistant with support for OpenAI + other LLM Providers
MCP Coding Assistant 是 Claude Code 的 Python 重新实现,支持 OpenAI、Anthropic 等多种 LLM 提供商。它提供命令行编码助手,并可作为 MCP 服务端或 MCP 客户端运行,适合希望自定义编码工作流并关注成本的开发者。
主要功能
- 01支持多个 LLM 提供商
- 02可作为 MCP 服务运行
- 03内置 MCP 客户端连接任意 MCP 服务
- 04多 Agent 协同工作模式
- 05实时显示工具执行过程
- 06Token 用量与预算控制
适用场景
- 01在命令行中用自然语言完成文件查看、编辑与搜索
- 02将其接入 Claude Desktop 作为 MCP 服务使用
- 03连接已有 MCP 服务并由 Claude 进行推理调用
MCP 相关
该项目既可通过 serve 命令以 MCP 服务形式向 Claude Desktop 等客户端提供工具,也可通过 mcp-client 命令连接任意 MCP 服务并调用其工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
支持 OpenAI 和其他大模型提供商的 MCP 编码助手
这是一个功能强大的 Python 版 Claude Code 重现实现,具有增强的实时可视化、成本管理和 Model Context Protocol(MCP)服务能力。该工具为软件开发任务提供自然语言界面,并支持多个大模型提供商。
主要功能
- 多提供商支持: 支持 OpenAI、Anthropic 和其他大模型提供商
- Model Context Protocol 集成:
- 作为 MCP 服务运行,供 Claude Desktop 和其他客户端使用
- 使用内置的 MCP 客户端连接到任意 MCP 服务
- 多 Agent 同步,协同解决复杂问题
- 实时工具可视化: 实时查看工具执行进度和结果
- 成本管理: 通过预算控制跟踪 Token 用量和费用
- 全面的工具套件: 文件操作、搜索、命令执行等
- 增强的 UI: 丰富的终端界面,带有进度指示和语法高亮
- 上下文优化: 智能压缩对话和管理记忆
- Agent 协作: 具有不同职责的专用 Agent 可以协作完成任务
安装
- 克隆此仓库
- 安装依赖:
pip install -r requirements.txt
- 创建包含 API 密钥的
.env文件:
# Choose one or more providers
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# Optional model selection
OPENAI_MODEL=gpt-4o
ANTHROPIC_MODEL=claude-3-opus-20240229
使用方法
CLI 模式
使用默认提供商运行 CLI(根据可用的 API 密钥确定):
python claude.py chat
指定提供商和模型:
python claude.py chat --provider openai --model gpt-4o
设置预算上限以管理成本:
python claude.py chat --budget 5.00
MCP 服务模式
作为 Model Context Protocol 服务运行:
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
试用随附的示例服务:
# In terminal 1 - start the server
python examples/echo_server.py
# In terminal 2 - connect with the client
python claude.py mcp-client examples/echo_server.py
多 Agent MCP 模式
启动一个包含同步 Agent 的多 Agent 客户端:
python claude.py mcp-multi-agent path/to/server.py
使用自定义 Agent 配置文件:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json
使用 echo 服务的示例:
# In terminal 1 - start the server
python examples/echo_server.py
# In terminal 2 - launch the multi-agent client
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: 压缩对话历史以节省 Token
- /version: 显示版本信息
- /providers: 列出可用的大模型提供商
- /cost: 显示成本和用量信息
- /budget [amount]: 设置预算上限
- /quit, /exit: 退出应用程序
架构
Claude Code Python Edition 采用模块化架构构建:
/claude_code/
/lib/
/providers/ # LLM provider implementations
/tools/ # Tool implementations
/context/ # Context management
/ui/ # UI components
/monitoring/ # Cost tracking & metrics
/commands/ # CLI commands
/config/ # Configuration management
/util/ # Utility functions
claude.py # Main CLI entry point
mcp_server.py # Model Context Protocol server
与 Model Context Protocol 配合使用
将 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 服务:
- 确保环境变量或 .env 文件中包含 Anthropic API 密钥
- 启动要连接的 MCP 服务
- 使用 MCP 客户端连接:
python claude.py mcp-client path/to/server.py - 在交互式聊天界面中输入查询
使用多 Agent 模式
对于复杂任务,多 Agent 模式允许多个专业 Agent 协同工作:
- 创建 Agent 配置文件,或使用提供的示例
- 启动 MCP 服务
- 启动多 Agent 客户端:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json - 使用命令界面与多个 Agent 交互:
- 输入消息以广播给所有 Agent
- 使用
/talk Agent_Name message进行直接通信 - 使用
/agents查看所有可用的 Agent - 使用
/history查看对话历史记录
参与贡献
- Fork 此仓库
- 创建功能分支
- 编写更改并添加测试
- 提交拉取请求
许可证
MIT
致谢
本项目受到 Anthropic 的 Claude Code CLI 工具启发,使用 Python 重新实现,并增加了增强可见性、成本管理和 MCP 服务功能。# OpenAI Code Assistant
一款功能强大的命令行和基于 API 的编码助手,使用 OpenAI API,并支持函数调用和流式传输。
功能
- 用于编码协助的交互式 CLI
- 用于与其他应用集成的 Web API
- Model Context Protocol(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:手动触发强化学习模型更新
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 服务模式
将助手作为 Model Context Protocol(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
要启用复制:
# Primary instance
./deploy.sh --enable-replication --port 8000
# Secondary instance
./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 搜索网页
- JinaFactCheck:使用 Jina.ai 进行事实核查
- JinaReadURL:读取并总结网页
命令行命令
/help:显示帮助消息/compact:压缩对话以减少令牌用量/status:显示令牌用量和会话信息/config:显示当前配置设置/rl-status:显示 RL 工具优化器状态(如果已启用)/rl-update:手动更新 RL 模型(如果已启用)/rl-stats:显示工具使用统计信息(如果已启用)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
