OpenAI MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Support for loading environment variables from .env files when configuring the MCP server.

  • Optional dependency that can be specified when starting the MCP server.

  • Integration with OpenAI's API for access to GPT models like gpt-4o.

MCP 编码助手,支持 OpenAI 和其他 LLM 提供商

克劳德代码的强大 Python 重构版本,增强了实时可视化、成本管理和模型上下文协议 (MCP) 服务器功能。该工具为软件开发任务提供自然语言界面,并支持多个 LLM 提供商。

主要特点

  • **多供应商支持:**与 OpenAI、Anthropic 和其他 LLM 供应商合作
  • 模型上下文协议集成:
    • 作为 MCP 服务器运行,以便与 Claude Desktop 和其他客户端一起使用
    • 使用内置 MCP 客户端连接到任何 MCP 服务器
    • 用于解决复杂问题的多代理同步
  • **实时工具可视化:**实时查看工具执行进度和结果
  • **成本管理:**通过预算控制跟踪代币使用情况和费用
  • **综合工具套件:**文件操作、搜索、命令执行等
  • **增强的用户界面:**丰富的终端界面,带有进度指示器和语法高亮显示
  • **上下文优化:**智能对话压缩和内存管理
  • **代理协调:**具有不同角色的专业代理可以协作完成任务

安装

  1. 克隆此存储库
  2. 安装依赖项:
pip install -r requirements.txt
  1. 使用您的 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 服务器模式

作为模型上下文协议服务器运行:

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

多代理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

回显服务器示例:

# 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

可用工具

  • **视图:**读取具有可选行限制的文件
  • **编辑:**通过精确的文本替换来修改文件
  • **替换:**创建或覆盖文件
  • **GlobTool:**通过模式匹配查找文件
  • **GrepTool:**使用正则表达式搜索文件内容
  • **LS:**列出目录内容
  • **Bash:**执行shell命令

聊天命令

  • **/help:**显示可用的命令
  • **/compact:**压缩对话历史记录以保存令牌
  • **/version:**显示版本信息
  • **/providers:**列出可用的 LLM 提供商
  • **/cost:**显示成本和使用情况信息
  • **/budget [amount]:**设置预算限额
  • **/quit, /exit:**退出应用程序

建筑学

Claude Code Python 版采用模块化架构构建:

/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

与模型上下文协议一起使用

使用 Claude Code 作为 MCP 服务器

一旦 MCP 服务器运行,您就可以从 Claude Desktop 或其他兼容 MCP 的客户端连接到它:

  1. 安装并运行 MCP 服务器:
    python claude.py serve
  2. 在浏览器中打开配置页面:
    http://localhost:8000
  3. 按照说明配置 Claude Desktop,包括:
    • 复制 JSON 配置
    • 下载自动配置的 JSON 文件
    • 分步设置说明

使用 Claude Code 作为 MCP 客户端

要使用 Claude 代码连接到任何 MCP 服务器:

  1. 确保你的环境或 .env 文件中有你的 Anthropic API 密钥
  2. 启动您想要连接的 MCP 服务器
  3. 使用 MCP 客户端连接:
    python claude.py mcp-client path/to/server.py
  4. 在交互式聊天界面中输入查询

使用多代理模式

对于复杂的任务,多代理模式允许多个专门的代理进行协作:

  1. 创建代理配置文件或使用提供的示例
  2. 启动 MCP 服务器
  3. 启动多代理客户端:
    python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json
  4. 使用命令界面与多个代理进行交互:
    • 键入要广播给所有代理的消息
    • 使用/talk Agent_Name message进行直接通信
    • 使用/agents查看所有可用的代理
    • 使用/history查看对话历史记录

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 通过测试实施您的更改
  4. 提交拉取请求

执照

麻省理工学院

致谢

该项目的灵感来自 Anthropic 的 Claude Code CLI 工具,用 Python 重新实现,并增加了增强可视性、成本管理和 MCP 服务器功能的功能。# OpenAI Code Assistant

一个强大的命令行和基于 API 的编码助手,它使用具有函数调用和流式传输的 OpenAI API。

特征

  • 用于编码协助的交互式 CLI
  • 用于与其他应用程序集成的 Web API
  • 模型上下文协议 (MCP) 服务器实现
  • 高可用性的复制支持
  • 基于工具的可扩展架构
  • 强化学习用于工具优化
  • 基于浏览器交互的 Web 客户端

安装

  1. 克隆存储库
  2. 安装依赖项:
    pip install -r requirements.txt
  3. 设置您的 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 :要复制的对等实例(主机:端口),可以多次指定

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

要启用复制:

# 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} :删除提示模板

复制

复制系统允许运行多个具有同步状态的助手实例。这提供了:

  • 高可用性
  • 负载均衡
  • 容错

要设置复制:

  1. 使用--enable-replication启动主实例
  2. 使用--enable-replication --secondary --peer [primary-host:port]启动辅助实例

工具

该助手包括各种工具:

  • 天气:获取某个地点的当前天气
  • 视图:从文件系统读取文件
  • 编辑:编辑文件
  • 替换:写入文件
  • Bash:执行 bash 命令
  • GlobTool:文件模式匹配
  • GrepTool:内容搜索
  • LS:列出目录内容
  • JinaSearch:使用 Jina.ai 进行网络搜索
  • JinaFactCheck:使用 Jina.ai 进行事实核查
  • JinaReadURL:阅读并总结网页

CLI 命令

  • /help :显示帮助信息
  • /compact :压缩对话以减少令牌使用
  • /status :显示令牌使用情况和会话信息
  • /config :显示当前配置设置
  • /rl-status :显示 RL 工具优化器状态(如果启用)
  • /rl-update :手动更新 RL 模型(如果启用)
  • /rl-stats :显示工具使用情况统计信息(如果启用)
ID: o0r4qq1gpp