Skip to main content
Glama
lroolle

OpenAI Agents MCP Server

by lroolle

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 claude

Claude 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:

  1. Implementing a full AsyncComputer interface to enable real computer interactions

  2. Adding additional specialized agents for other OpenAI tools

  3. 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 --dev

Testing 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.py

Then open a web browser and navigate to http://localhost:5173.

License

MIT

Available Tools

4 tools
computer_action_agentC

Use an AI agent specialized in performing computer actions safely and effectively.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe action or task you want to perform on the computer.

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 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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_resultsNoThe maximum number of document results to return.
queryYesThe search query or question to find in the documents.
vector_store_idsYesThe IDs of the vector stores to search in. This is required for file search to work.

TDQS

C2.9/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 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
enable_computer_actionsNoWhether to enable computer action capabilities.
enable_file_searchNoWhether to enable file search capabilities.
enable_web_searchNoWhether to enable web search capabilities.
queryYesThe query or task you want help with.
vector_store_idsNoRequired if enable_file_search is True. The IDs of the vector stores to search in.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoOptional location context for location-specific searches (e.g., 'New York').
queryYesThe search query or question you want to find information about online.

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

B3.2/5.0
Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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