streamable-http-mcp-server
Creates and configures Streamable HTTP Model Context Protocol (MCP) server connections for OpenAI Agents SDK
$ Installer
git clone https://github.com/syeda-hoorain-ali/claude-code-skills /tmp/claude-code-skills && cp -r /tmp/claude-code-skills/openai-agents-mcp-server/skills/streamable-http-mcp-server ~/.claude/skills/claude-code-skills// tip: Run this command in your terminal to install the skill
SKILL.md
name: streamable-http-mcp-server description: Creates and configures Streamable HTTP Model Context Protocol (MCP) server connections for OpenAI Agents SDK
Streamable HTTP MCP Server Skill
This skill helps create and configure Streamable HTTP Model Context Protocol (MCP) server connections for OpenAI Agents SDK.
Purpose
- Create MCPServerStreamableHttp configurations
- Configure HTTP connection parameters and authentication
- Set up caching and retry mechanisms
- Connect to HTTP-based MCP servers with direct connection management
MCPServerStreamableHttp Constructor Parameters
- params (MCPServerStreamableHttpParams): Connection parameters for the server
- url (str): The URL of the server
- headers (dict[str, str], optional): The headers to send to the server
- timeout (timedelta | float, optional): The timeout for the HTTP request (default: 5 seconds)
- sse_read_timeout (timedelta | float, optional): The timeout for the SSE connection (default: 5 minutes)
- terminate_on_close (bool, optional): Whether to terminate on close
- httpx_client_factory (HttpClientFactory, optional): Custom HTTP client factory for configuring httpx.AsyncClient behavior
- 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 from URL)
- client_session_timeout_seconds (float | None): Read timeout for 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:
- Managing HTTP connections yourself
- Running servers locally or remotely with direct connection management
- Needing to keep latency low with your own infrastructure
- Wanting to run the server inside your own infrastructure
Basic Example
import asyncio
import os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
from agents.model_settings import ModelSettings
async def main() -> None:
token = os.environ["MCP_SERVER_TOKEN"]
async with MCPServerStreamableHttp(
name="Streamable HTTP Python Server",
params={
"url": "http://localhost:8000/mcp",
"headers": {"Authorization": f"Bearer {token}"},
"timeout": 10,
},
cache_tools_list=True,
max_retry_attempts=3,
) as server:
agent = Agent(
name="Assistant",
instructions="Use the MCP tools to answer the questions.",
mcp_servers=[server],
model_settings=ModelSettings(tool_choice="required"),
)
result = await Runner.run(agent, "Add 7 and 22.")
print(result.final_output)
asyncio.run(main())
Repository

syeda-hoorain-ali
Author
syeda-hoorain-ali/claude-code-skills/openai-agents-mcp-server/skills/streamable-http-mcp-server
0
Stars
0
Forks
Updated2d ago
Added1w ago