OpenAI Agents MCP Server
Leverages OpenAI's Agents SDK to expose individual specialized agents (Web Search, File Search, Computer Action) and a multi-agent orchestrator through the MCP protocol.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenAI Agents MCP Serversearch the web for latest AI developments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenAI Agents MCP Server
A Model Context Protocol (MCP) server that exposes OpenAI agents through the MCP protocol.
Features
This server exposes both individual agents and a multi-agent orchestrator using the OpenAI Agents SDK:
Individual Specialized Agents
Web Search Agent: A specialized agent for searching the web for real-time information
File Search Agent: A specialized agent for searching and analyzing files in OpenAI's vector store
Computer Action Agent: A specialized agent for performing actions on your computer safely
Multi-Agent Orchestrator
Orchestrator Agent: A powerful agent that can coordinate between the specialized agents, choosing the right one(s) for each task
Each agent is accessed through the MCP protocol, making them available to any MCP client, including the Claude desktop app.
Related MCP server: MCP Simple OpenAI Assistant
Installation
Prerequisites
Python 3.11 or higher
uv package manager (recommended)
OpenAI API key
Installing via Smithery
To install openai-agents-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @lroolle/openai-agents-mcp-server --client claudeClaude Desktop
"mcpServers": {
"openai-agents-mcp-server": {
"command": "uvx",
"args": ["openai-agents-mcp-server"],
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
}
Implementation Details
Tool Requirements
WebSearchTool: No required parameters, but can accept optional location context
FileSearchTool: Requires vector_store_ids (IDs from your OpenAI vector stores)
ComputerTool: Requires an AsyncComputer implementation (currently simulated)
Customization
You can customize this server by:
Implementing a full AsyncComputer interface to enable real computer interactions
Adding additional specialized agents for other OpenAI tools
Enhancing the orchestrator agent to handle more complex workflows
Configuration
You can configure the server using environment variables:
OPENAI_API_KEY: Your OpenAI API key (required)MCP_TRANSPORT: Transport protocol to use (default: "stdio", can be "sse")
Development
Setup development environment
# Clone the repository
git clone https://github.com/lroolle/openai-agents-mcp-server.git
cd openai-agents-mcp-server
# Create a virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv sync --devTesting with MCP Inspector
You can test the server using the MCP Inspector:
# In one terminal, run the server with SSE transport
export OPENAI_API_KEY=your-api-key
export MCP_TRANSPORT=sse
uv run mcp dev src/agents_mcp_server/server.pyThen open a web browser and navigate to http://localhost:5173.
License
MIT
Available Tools
4 toolscomputer_action_agentC
Use an AI agent specialized in performing computer actions safely and effectively.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The action or task you want to perform on the computer. |
TDQS
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 'safely and effectively,' which hints at safety considerations but doesn't specify what makes it safe (e.g., permissions, side effects, rate limits) or describe the agent's behavior (e.g., how it performs actions, what it returns). This is inadequate for a tool that likely involves system-level operations, leaving critical behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that is front-loaded with the core purpose. It avoids redundancy and waste, making it appropriately concise. However, it could be more structured by explicitly separating purpose from guidelines or behavioral details, but it earns high marks for brevity and clarity within its limited scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a tool that performs computer actions (likely involving system interactions), the description is incomplete. With no annotations, no output schema, and minimal behavioral transparency, it fails to provide enough context for safe and effective use. The agent lacks information on what the tool returns, error handling, or operational limits, making this inadequate for such a potentially impactful tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'action' parameter documented as 'The action or task you want to perform on the computer.' The description adds no additional meaning beyond this, such as examples, constraints, or format details. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema does the heavy lifting without extra value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool uses an AI agent for computer actions, which gives a vague purpose but lacks specificity about what 'computer actions' entails. It mentions 'safely and effectively' but doesn't clarify what types of actions (e.g., file operations, system commands, GUI interactions) or distinguish it from sibling tools like file_search_agent or multi_tool_agent. This is a minimal viable description that doesn't fully differentiate the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions for usage, nor does it reference sibling tools like file_search_agent or multi_tool_agent to help the agent choose appropriately. This leaves the agent with no explicit or implied usage rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_search_agentC
Use an AI agent specialized in searching through files and documents to find relevant information.
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | The maximum number of document results to return. | |
| query | Yes | The search query or question to find in the documents. | |
| vector_store_ids | Yes | The IDs of the vector stores to search in. This is required for file search to work. |
TDQS
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 the tool uses an 'AI agent specialized in searching' but doesn't describe how it works (e.g., semantic search vs keyword, ranking approach), what types of files it supports, whether it requires specific permissions, or what the output format looks like. The description is too vague about the actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without any wasted words. It's appropriately sized for a tool with good schema documentation and no complex behavioral nuances to explain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what constitutes a 'relevant' result, how results are ranked, what file formats are supported, or what the return structure looks like. The agent needs more context to understand what this tool actually delivers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. It mentions 'search query or question' and 'vector stores' indirectly but provides no additional context about parameter usage or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'searching through files and documents to find relevant information' using an 'AI agent specialized' for this task. It specifies the verb (search) and resource (files/documents), but doesn't distinguish it from sibling tools like 'web_search_agent' which might search different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'web_search_agent' or 'multi_tool_agent'. It mentions the tool is 'specialized in searching through files and documents' but doesn't clarify when file/document search is appropriate versus web search or other approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_tool_agentC
Use an AI agent that can orchestrate between web search, file search, and computer actions based on your query.
| Name | Required | Description | Default |
|---|---|---|---|
| enable_computer_actions | No | Whether to enable computer action capabilities. | |
| enable_file_search | No | Whether to enable file search capabilities. | |
| enable_web_search | No | Whether to enable web search capabilities. | |
| query | Yes | The query or task you want help with. | |
| vector_store_ids | No | Required if enable_file_search is True. The IDs of the vector stores to search in. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool orchestrates between capabilities but doesn't describe how the orchestration works, what the agent does (e.g., sequential vs. parallel execution), error handling, or output format. This leaves significant gaps in understanding the tool's behavior beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words and gets straight to the point, though it could be slightly more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (orchestrating multiple capabilities) and lack of annotations and output schema, the description is insufficient. It doesn't explain the orchestration logic, result aggregation, or any behavioral nuances, leaving the agent with incomplete context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain how 'query' interacts with enabled capabilities or provide examples). Baseline score of 3 is appropriate as the schema handles parameter semantics adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Use an AI agent that can orchestrate between web search, file search, and computer actions based on your query.' It specifies the verb ('orchestrate') and resources (web search, file search, computer actions), but doesn't explicitly differentiate from sibling tools like computer_action_agent, file_search_agent, and web_search_agent, which are mentioned as siblings but not contrasted in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its sibling tools (computer_action_agent, file_search_agent, web_search_agent). It mentions the tool can orchestrate between capabilities but doesn't specify scenarios, prerequisites, or exclusions for choosing this multi-tool agent over individual specialized agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_search_agentB
Use an AI agent specialized in web searching to find accurate, up-to-date information from the internet.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Optional location context for location-specific searches (e.g., 'New York'). | |
| query | Yes | The search query or question you want to find information about online. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the agent is 'specialized in web searching' and aims for 'accurate, up-to-date information,' which adds some context about quality and timeliness. However, it doesn't disclose critical behavioral traits such as rate limits, authentication needs, potential costs, or how results are returned (e.g., format, pagination). For a tool with no annotations, this leaves significant gaps in understanding its operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose: using an AI agent for web searching. Every word earns its place by specifying specialization ('specialized in web searching'), quality goals ('accurate, up-to-date'), and source ('from the internet'). There's no redundancy or unnecessary elaboration, making it appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is partially complete. It covers the basic purpose and context but lacks details on behavioral aspects (e.g., how searches are performed, result handling) and doesn't compensate for the absence of an output schema. It's adequate as a starting point but leaves the agent with insufficient information for optimal tool invocation without further exploration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('query' and 'location') well-documented in the input schema. The description doesn't add any parameter-specific information beyond what the schema provides (e.g., it doesn't explain query formatting or location usage details). According to the rules, with high schema coverage (>80%), the baseline score is 3 even without param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Use an AI agent specialized in web searching to find accurate, up-to-date information from the internet.' It specifies the verb ('find') and resource ('information from the internet'), distinguishing it from sibling tools like 'file_search_agent' (local files) and 'computer_action_agent' (system actions). However, it doesn't explicitly differentiate from 'multi_tool_agent' in terms of web search specialization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'accurate, up-to-date information from the internet,' suggesting this tool is for online research. It doesn't provide explicit when-to-use vs. when-not-to-use guidance or name alternatives among siblings (e.g., use this for web searches vs. 'file_search_agent' for local files). The context is clear but lacks specific exclusions or comparative advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The tools have mostly distinct purposes with clear specialization: computer actions, file search, web search, and a multi-tool orchestrator. However, the multi_tool_agent overlaps with the specialized agents by potentially performing their functions, which could cause some confusion about when to use it versus the specific agents.
All tool names follow a consistent snake_case pattern with a clear '_agent' suffix (e.g., computer_action_agent, file_search_agent). The naming is predictable and uniform across all four tools, making them easy to identify and categorize.
With 4 tools, the count is reasonable for an agent orchestration server, covering core areas like computer actions, file search, web search, and multi-tool coordination. It is slightly thin but well-scoped, as each tool serves a distinct role without unnecessary bloat.
The tool set covers key agent functionalities (computer actions, file search, web search, and orchestration), but there are notable gaps. For example, there is no dedicated tool for database operations, API interactions, or other common agent tasks, which might limit coverage for broader use cases in the agent domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.128176MIT
- AlicenseAqualityDmaintenanceA simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.939MIT
- AlicenseBqualityFmaintenanceA lightweight bridge that wraps OpenAI's built-in tools (like web search and code interpreter) as Model Context Protocol servers, enabling their use with Claude and other MCP-compatible models.412MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables conversational LLMs to delegate complex research tasks to specialized AI agents powered by various OpenRouter models, coordinated by a Claude orchestrator.5355MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lroolle/openai-agents-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server