Skip to main content
Glama
alohays

openai-tool2mcp

by alohays

openai-tool2mcp

풀어 주다빌드 상태 코드코브 활동 커밋 특허

openai-tool2mcp는 OpenAI의 강력한 내장 도구를 모델 컨텍스트 프로토콜(MCP) 서버로 래핑하는 가벼운 오픈소스 브릿지입니다. 이를 통해 Claude 및 기타 MCP 호환 모델과 함께 웹 검색 및 코드 인터프리터와 같은 고품질 OpenAI 도구를 사용할 수 있습니다.

  • 🔍 Claude 앱에서 OpenAI의 강력한 웹 검색을 사용하세요

  • 💻 MCP 호환 LLM에서 액세스 코드 인터프리터 기능

  • 🔄 OpenAI와 MCP 간의 원활한 프로토콜 변환

  • 🛠️ 간편한 통합을 위한 간단한 API

  • 🌐 MCP SDK와 완벽한 호환성

🔍 Claude 앱과 OpenAI 검색 통합 데모! 🚀

https://github.com/user-attachments/assets/f1f10e2c-b995-4e03-8b28-61eeb2b2bfe9

OpenAI는 강력하고 LLM에 최적화된 도구를 자체 에이전트 플랫폼 내에 묶어두려고 했지만, 멈출 수 없는 MCP의 오픈 소스 운동을 막을 수는 없었습니다!

Related MCP server: OpenAI Agents MCP Server

개발자의 딜레마

AI 개발자들은 현재 두 가지 생태계 중에서 어려운 선택을 해야 합니다.

지엑스피1

openai-tool2mcp는 개방형 MCP 생태계 내에서 OpenAI의 성숙하고 고품질의 도구를 사용할 수 있도록 하여 이러한 격차를 해소합니다.

🌟 특징

  • 간편한 설정 : 몇 가지 간단한 명령으로 시작 및 실행

  • MCP 서버로서의 OpenAI 도구 : 강력한 OpenAI 내장 도구를 MCP 호환 서버로 래핑

  • 원활한 통합 : Claude 앱 및 기타 MCP 호환 클라이언트와 함께 작동합니다.

  • MCP SDK 호환 : 공식 MCP Python SDK 사용

  • 도구 지원 :

    • 🔍 웹 검색

    • 💻 코드 인터프리터

    • 🌐 웹 브라우저

    • 📁 파일 관리

  • 오픈 소스 : MIT 라이선스, 해킹 및 확장 가능

🚀 설치

# Install from PyPI
pip install openai-tool2mcp

# Or install the latest development version
pip install git+https://github.com/alohays/openai-tool2mcp.git

# Recommended: Install uv for better MCP compatibility
pip install uv

필수 조건

  • 파이썬 3.10+

  • Assistant API에 액세스할 수 있는 OpenAI API 키

  • (추천) MCP 호환성을 위한 uv 패키지 관리자

🛠️ 빠른 시작

  1. OpenAI API 키를 설정하세요 :

export OPENAI_API_KEY="your-api-key-here"
  1. OpenAI 도구로 MCP 서버를 시작합니다 .

# Recommended: Use uv for MCP compatibility (recommended by MCP documentation)
uv run openai_tool2mcp/server_entry.py --transport stdio

# Or use the traditional method with the CLI
openai-tool2mcp start --transport stdio
  1. 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

  • 윈도우: %AppData%\Claude\claude_desktop_config.json

💻 사용 예시

기본 서버 구성

# server_script.py
from openai_tool2mcp import MCPServer, ServerConfig, OpenAIBuiltInTools

# Configure with OpenAI web search
config = ServerConfig(
    openai_api_key="your-api-key",
    tools=[OpenAIBuiltInTools.WEB_SEARCH.value]
)

# Create and start server with STDIO transport (for MCP compatibility)
server = MCPServer(config)
server.start(transport="stdio")

MCP에서 권장하는 대로 uv 로 실행하세요.

uv run server_script.py

Claude Desktop용 MCP 호환 구성

독립 실행형 스크립트를 만듭니다.

# openai_tools_server.py
import os
from dotenv import load_dotenv
from openai_tool2mcp import MCPServer, ServerConfig, OpenAIBuiltInTools

# Load environment variables
load_dotenv()

# Create a server with multiple tools
config = ServerConfig(
    openai_api_key=os.environ.get("OPENAI_API_KEY"),
    tools=[
        OpenAIBuiltInTools.WEB_SEARCH.value,
        OpenAIBuiltInTools.CODE_INTERPRETER.value
    ]
)

# Create and start the server with stdio transport for MCP compatibility
server = MCPServer(config)
server.start(transport="stdio")

uv 와 함께 이 스크립트를 사용하도록 Claude Desktop을 구성합니다.

{
  "mcpServers": {
    "openai-tools": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/folder",
        "run",
        "openai_tools_server.py"
      ]
    }
  }
}

📊 작동 원리

이 라이브러리는 OpenAI Assistant API와 MCP 프로토콜 간의 브리지 역할을 합니다.

sequenceDiagram
    participant Claude as "Claude App"
    participant MCP as "MCP Client"
    participant Server as "openai-tool2mcp Server"
    participant OpenAI as "OpenAI API"

    Claude->>MCP: User query requiring tools
    MCP->>Server: MCP request
    Server->>OpenAI: Convert to OpenAI format
    OpenAI->>Server: Tool response
    Server->>MCP: Convert to MCP format
    MCP->>Claude: Display result

🔄 MCP SDK 통합

openai-tool2mcp 는 이제 MCP SDK와 완벽하게 호환됩니다. Claude for Desktop 앱과 함께 사용하는 방법은 다음과 같습니다.

  1. pip install openai-tool2mcp 로 패키지 설치

  2. claude_desktop_config.json 구성하여 다음을 포함합니다.

{
  "mcpServers": {
    "openai-tools": {
      "command": "openai-tool2mcp",
      "args": [
        "start",
        "--transport",
        "stdio",
        "--tools",
        "retrieval",
        "code_interpreter"
      ]
    }
  }
}

구성 파일은 다음 위치에 있습니다.

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • 윈도우: %AppData%\Claude\claude_desktop_config.json

🤝 기여하기

커뮤니티 여러분의 참여를 환영합니다! 참여 방법은 다음과 같습니다.

  1. 저장소를 포크하세요

  2. 로컬 머신에 포크를 복제하세요

  3. 기능이나 버그 수정을 위한 브랜치를 만드세요

  4. 변경 사항을 만들고 커밋하세요

  5. 포크에 푸시 하고 풀 리퀘스트를 제출하세요

당사의 코딩 표준을 준수하고 새로운 기능에 대한 테스트를 추가해 주시기 바랍니다.

개발 설정

# Clone the repository
git clone https://github.com/alohays/openai-tool2mcp.git
cd openai-tool2mcp

# Install in development mode
make install

# Run tests
make test

# Run linting
make lint

📄 라이센스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

🙏 감사의 말

  • 뛰어난 도구와 API를 제공하는 OpenAI 팀

  • 도구 사용을 위한 개방형 표준을 개발하는 MCP 커뮤니티

  • 이 프로젝트 개선에 도움을 준 모든 기여자


⚠️ 프로젝트 상태

이 프로젝트는 현재 개발 중입니다. 핵심 기능은 정상적으로 작동하며, 정기적인 업데이트와 개선이 있을 예정입니다. 문제가 발생하면 이슈 트래커 에 제출해 주세요.


openai-tool2mcp는 OpenAI 도구와 오픈 소스 MCP 생태계를 연결하는 광범위한 MCPortal 이니셔티브의 일부입니다.

Available Tools

4 tools
browserC

Browse websites and interact with web content

ParametersJSON Schema
NameRequiredDescriptionDefault
parametersYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'browse' and 'interact' but doesn't specify whether this is read-only or allows mutations, what permissions or authentication might be needed, rate limits, or what 'interact' entails (e.g., clicking, form submission). It lacks critical behavioral details for a tool with web interaction capabilities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two short phrases: 'Browse websites' and 'interact with web content'. It's front-loaded with the core purpose, though it could be more structured. There's no wasted text, but it's under-specified rather than efficiently detailed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of web browsing/interaction, no annotations, no output schema, and 0% schema coverage for the single parameter, the description is incomplete. It doesn't cover what the tool returns, how errors are handled, or the scope of interactions. For a tool with potential side effects and rich functionality, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the description provides no information about parameters. It doesn't explain what 'parameters' should contain (e.g., URLs, actions, content), their format, or how they're used. For a single undocumented parameter, the description fails to add any semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Browse websites and interact with web content' states a general purpose but lacks specificity. It mentions 'browse' and 'interact' as verbs with 'websites' and 'web content' as resources, but doesn't distinguish from sibling tools like 'web-search' or specify what type of interaction is possible. It's vague about scope and functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'web-search' or other siblings. The description implies a general web browsing context but doesn't specify use cases, prerequisites, or exclusions. There's no mention of when-not-to-use or comparisons to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code-executionC

Execute code and return the result

ParametersJSON Schema
NameRequiredDescriptionDefault
parametersYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool executes code and returns a result, but lacks critical details such as execution environment (e.g., sandbox, permissions), safety implications (e.g., destructive effects, rate limits), or output format. This is a significant gap for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence 'Execute code and return the result', which is front-loaded and wastes no words. Every part of the sentence contributes to the core purpose, making it efficient in structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of code execution (a mutation tool with potential security implications), no annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It should address execution context, safety, and result details to be complete enough for an AI agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter ('parameters') with 0% description coverage, so the schema provides no semantic information. The description adds no meaning beyond the schema, failing to explain what 'parameters' should contain (e.g., code string, language spec, arguments). For a tool with low schema coverage, this is inadequate compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Execute code and return the result' states a clear verb ('execute') and resource ('code'), but it's vague about what type of code (e.g., programming language, environment) and lacks differentiation from sibling tools like 'browser' or 'file-io' that might also involve execution. It's not tautological but misses specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'browser' for web-based execution or 'file-io' for file operations. The description implies a general-purpose code execution but offers no context, exclusions, or prerequisites, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

file-ioC

Search and access file content

ParametersJSON Schema
NameRequiredDescriptionDefault
parametersYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Search and access file content' implies read operations, but it doesn't specify whether this tool can modify files, requires specific permissions, has rate limits, or what happens during errors. The description is too brief to provide meaningful behavioral context for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with just three words, which is efficient. However, it's arguably under-specified rather than optimally concise—it could benefit from slightly more detail without becoming verbose. The structure is simple but lacks front-loading of critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a parameter with 0% schema coverage, the description is incomplete. It doesn't compensate for the lack of structured data by explaining return values, error conditions, or parameter usage. For a tool with one parameter and potential file system interactions, this leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the tool description doesn't mention any parameters at all. The description 'Search and access file content' doesn't explain what the 'parameters' string should contain (e.g., file paths, search queries, access modes). This leaves the parameter completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search and access file content' states a general purpose (searching and accessing files) but lacks specificity about what resources it operates on (local files, remote files, specific file types) and doesn't clearly distinguish from sibling tools like 'browser' or 'web-search' which might also access content. It's vague about the exact scope of file operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'browser' or 'web-search'. The description doesn't mention any prerequisites, constraints, or typical use cases. It's left to the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • Changedbrowser1 field changed
      • addedInput schema / title
        Added value: +"tool_handlerArguments"
    • Changedcode-execution1 field changed
      • addedInput schema / title
        Added value: +"tool_handlerArguments"
    • Changedfile-io1 field changed
      • addedInput schema / title
        Added value: +"tool_handlerArguments"
    • Changedweb-search1 field changed
      • addedInput schema / title
        Added value: +"tool_handlerArguments"
  2. 4 tool updates
    • First observedbrowser
    • First observedcode-execution
    • First observedfile-io
    • First observedweb-search

TDQS

B3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: browser for web interaction, code-execution for running code, file-io for file access, and web-search for information retrieval. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency4/5

The tools follow a consistent snake_case naming convention, but there is a minor deviation with 'file-io' using a hyphen instead of an underscore. Overall, the naming is readable and predictable, with clear verb-noun patterns like 'browser' and 'web-search'.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of providing general utility functions. Each tool serves a distinct and essential role, and the count is neither too sparse nor overwhelming, fitting typical utility server ranges.

Completeness4/5

The tool set covers key utility domains: web browsing, code execution, file access, and web search. Minor gaps might exist, such as lack of advanced file operations or specialized code environments, but agents can handle core tasks effectively with these tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude users to access specialized OpenAI agents (web search, file search, computer actions) and a multi-agent orchestrator through the MCP protocol.
    4
    10
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server and local HTTP bridge designed to integrate remote upstream MCP tools into OpenClaw skills or local environments. It enables users to generate skill wrappers and proxy tool calls via a local HTTP bridge for use in Claude Desktop, Cursor, or OpenClaw.
    Apache 2.0