Claude Code Plugins

Community-maintained marketplace

Feedback

Creates and configures stdio Model Context Protocol (MCP) server connections for OpenAI Agents SDK

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name mcp-server-stdio
description Creates and configures stdio Model Context Protocol (MCP) server connections for OpenAI Agents SDK

Stdio MCP Server Skill

This skill helps create and configure stdio Model Context Protocol (MCP) server connections for OpenAI Agents SDK.

Purpose

  • Create MCPServerStdio configurations
  • Configure local subprocess parameters
  • Connect to MCP servers that run as local processes
  • Use stdio transport for local MCP server communication

MCPServerStdio Constructor Parameters

  • params (MCPServerStdioParams): Process parameters for the server
    • command (str): The executable to run to start the server (e.g., python or node)
    • args (list[str], optional): Command line args to pass to the command (e.g., ['foo.py'] or ['server.js', '--port', '8080'])
    • env (dict[str, str], optional): The environment variables to set for the server
    • cwd (str | Path, optional): The working directory to use when spawning the process
    • encoding (str, optional): The text encoding used when sending/receiving messages to the server (default: utf-8)
    • encoding_error_handler (Literal["strict", "ignore", "replace"], optional): The text encoding error handler (default: strict)
  • cache_tools_list (bool): Whether to cache the list of available tools (default: False)
  • name (string | None): A readable name for the server (default: None, auto-generated)
  • client_session_timeout_seconds (float | None): The read timeout passed to the MCP ClientSession (default: 5)
  • tool_filter (ToolFilter): The tool filter to use for filtering tools (default: None)
  • use_structured_content (bool): Whether to use tool_result.structured_content when calling an MCP tool (default: False)
  • max_retry_attempts (int): Number of times to retry failed list_tools/call_tool calls (default: 0)
  • retry_backoff_seconds_base (float): The base delay, in seconds, for exponential backoff between retries (default: 1.0)
  • message_handler (MessageHandlerFnT | None): Optional handler invoked for session messages (default: None)

Usage Context

Use this skill when:

  • Working with MCP servers that run as local subprocesses
  • Needing to communicate with command-line MCP server implementations
  • Using stdio-based MCP server implementations
  • Running MCP servers in local development environments
  • When the server only exposes a command line entry point

Basic Example

import asyncio
from pathlib import Path
from agents import Agent, Runner
from agents.mcp import MCPServerStdio

current_dir = Path(__file__).parent
samples_dir = current_dir / "sample_files"

async def main() -> None:
    async with MCPServerStdio(
        name="Filesystem Server via npx",
        params={
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-filesystem", str(samples_dir)],
        },
    ) as server:
        agent = Agent(
            name="Assistant",
            instructions="Use the files in the sample directory to answer questions.",
            mcp_servers=[server],
        )
        result = await Runner.run(agent, "List the files available to you.")
        print(result.final_output)

asyncio.run(main())