openai-tool2mcp 仓库介绍
项目概述
openai-tool2mcp 是一个轻量级的开源项目,其作用是将OpenAI强大的内建工具封装成MCP(Model Context Protocol)兼容服务器。这一工具包允许开发人员在Claude应用和其他MCP兼容模型中使用高质量的OpenAI工具,如网页搜索和代码解释器。
通过openai-tool2mcp,用户可以轻松地将OpenAI的成熟工具集成到开放的MCP生态系统中,提供了无缝的协议转换。此项目为开发者们提供了简单易用的API,确保与MCP SDK的完全兼容性。
特色功能
- 易于设置:只需几个简单的命令即可快速上手。
- OpenAI工具作为MCP服务器:将强大的OpenAI内建工具包装成MCP合规服务器。
- 无缝集成:与Claude应用和其他MCP兼容客户端完美协作。
- MCP SDK兼容:使用官方的MCP Python SDK。
- 支持的工具:
- 🔍 网页搜索
- 💻 代码解释器
- 🌐 网页浏览器
- 📁 文件管理
- 开源:基于MIT许可协议,易于扩展和改进。
安装指南
要开始使用openai-tool2mcp,请按照以下步骤进行安装:
# 从PyPI安装
pip install openai-tool2mcp
# 或者安装最新的开发版本
pip install git+https://github.com/alohays/openai-tool2mcp.git
# 推荐:安装uv以获得更好的MCP兼容性
pip install uv
前置条件
- Python 版本3.10或更高
- 拥有Access API权限的OpenAI API密钥
- (推荐) 使用uv包管理工具提高MCP兼容性
快速入门
以下是使用openai-tool2mcp的快速入门指南:
-
设置OpenAI API密钥:
将你的API密钥设为环境变量:
export OPENAI_API_KEY="your-api-key-here"
-
启动MCP服务器,并载入OpenAI工具:
使用以下命令启动MCP服务器:
# 推荐使用uv来提高MCP兼容性(根据MCP文档推荐) uv run openai_tool2mcp/server_entry.py --transport stdio # 或使用传统的命令行方法启动 openai-tool2mcp start --transport stdio
-
配置Claude for Desktop的使用:编辑
claude_desktop_config.json
配置文件,使Claude for Desktop连接到对应的服务器:{ "mcpServers": { "openai-tools": { "command": "uv", "args": [ "--directory", "/absolute/path/to/your/openai-tool2mcp", "run", "openai_tool2mcp/server_entry.py" ] } } }
配置文件的位置为:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%AppData%\Claude\claude_desktop_config.json
- MacOS:
使用示例
基础服务器配置
from openai_tool2mcp import MCPServer, ServerConfig, OpenAIBuiltInTools
# 设置OpenAI网页搜索配置
config = ServerConfig(
openai_api_key="your-api-key",
tools=[OpenAIBuiltInTools.WEB_SEARCH.value]
)
# 创建并启动支持STDIO传输的服务器(保证MCP兼容性)
server = MCPServer(config)
server.start(transport="stdio")
使用
uv
运行此配置,以保证最佳兼容性:uv run server_script.py
Claude桌面版的MCP兼容配置
创建一个独立的脚本来启动服务器:
import os
from dotenv import load_dotenv
from openai_tool2mcp import MCPServer, ServerConfig, OpenAIBuiltInTools
# 加载环境变量
load_dotenv()
# 使用多个工具创建服务器配置
config = ServerConfig(
openai_api_key=os.environ.get("OPENAI_API_KEY"),
tools=[
OpenAIBuiltInTools.WEB_SEARCH.value,
OpenAIBuiltInTools.CODE_INTERPRETER.value
]
)
# 创建并启动支持stdio传输的服务器,以保证MCP兼容性
server = MCPServer(config)
server.start(transport="stdio")
Claude 桌面配置
在
claude_desktop_config.json
中进行配置:{
"mcpServers": {
"openai-tools": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/your/project/folder",
"run",
"openai_tools_server.py"
]
}
}
}
项目协作
我们欢迎来自社区的贡献!如果你有兴趣参与进来,可以按照以下步骤进行贡献:
- Fork 本仓库。
- 克隆 你fork的仓库到本地。
- 创建一个分支 来开发新功能或修复漏洞。
- 提交 你的修改。
- 推送 到你的fork,并提交pull request。
请确保遵循我们的编码标准,并为任何新功能添加测试。
开发环境设置
# 克隆仓库
git clone https://github.com/alohays/openai-tool2mcp.git
cd openai-tool2mcp
# 开发模式安装
make install
# 运行测试
make test
# 运行代码检查
make lint
授权许可
此项目根据MIT许可协议进行授权。详细信息请查阅LICENSE文件。
感谢
- 感谢OpenAI团队提供出色的工具和API
- 感谢MCP社区创建了一个开放的工具使用标准
- 感谢所有为此项目的发展贡献力量的开发者
项目状态
本项目正在积极开发中。虽然核心功能已就绪,但预计未来会有频繁的更新和改进。如果您发现任何问题,请通过我们的问题追踪器提交问题。
openai-tool2mcp是更广泛的MCPortal计划的一部分,旨在将OpenAI的工具与开源MCP生态系统连接起来。