retrievalLABSCO SUMMARY
Borrow one vendor's tools for another vendor's model.
The reason to reach for this is specific: OpenAI's web search and code interpreter are mature, and MCP clients cannot call them directly. Everything runs through your own OpenAI key over the Assistant API, so it is a routing layer, not a free lunch — and you decide per launch which of the four tools the client actually sees.
What it is
A bridge in one direction: it takes tools that live inside OpenAI's Assistant API and republishes them over MCP, so a client that speaks MCP can use them. You choose which tools to expose when you start the server, and requests are translated into OpenAI's format and the responses back into MCP's.
What you get
- OpenAI's web search available inside an MCP client, which is the case the project demonstrates first
- Code interpreter reachable from any MCP-compatible model
- Web browser and file management listed alongside those two in the supported set
- The exposed set chosen at launch — either as
tools=[OpenAIBuiltInTools.WEB_SEARCH.value]in a few lines of Python, or on the command line with--tools retrieval code_interpreter - Stdio transport, which is the form MCP clients expect for a local server
Requirements
An OpenAI API key with access to the Assistant API, exported as OPENAI_API_KEY — the tools are OpenAI's, so the usage is billed to your OpenAI account. Python 3.10+. The README's install line names openai-tool2mcp, which PyPI does not have; its Claude Desktop config launches from a checkout, using uv --directory with the project path, and uv is recommended over plain Python for that. The project describes itself as in active development.
Setup effort
Build from source
USE CASES
Giving a non-OpenAI client web search that works
Start the server with web search enabled and your OpenAI key, and the searching happens on OpenAI's side while the answer arrives over MCP.
Running code from a client that has no sandbox
Expose code interpreter and let the client hand off execution instead of trying to run things locally.
Limiting what the bridge exposes
Name only the tools you want in the launch arguments, so the client's tool list stays as small as the job needs.
4 tools
Listed in project docs. Your client may show a different list.
code_interpreterweb_browserfile_searchBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- uv
- Python 3.10+
- An OpenAI API key (OPENAI_API_KEY)
INSTALLATION
Connect your client
MCP Clients
Claude Desktop — local build
uv run installs the dependencies from pyproject.toml the first time the client starts the server.
Clone the repository
git clone https://github.com/alohays/openai-tool2mcp.gitAdd this to claude_desktop_config.json, with the absolute path of your clone
{
"mcpServers": {
"openai-tools": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_OPENAI_TOOL2MCP>",
"run",
"openai_tool2mcp/server_entry.py"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}