Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/teabranch/open-responses-server/claude-mdgit clone --depth 1 https://github.com/teabranch/open-responses-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/teabranch/open-responses-server/claude-md)<a href="https://agentmods.dev/instructions/teabranch/open-responses-server/claude-md"><img src="https://agentmods.dev/badge/instructions/teabranch/open-responses-server/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01233 | $0.01233 |
| Opus 5 | $0.00616 | $0.00616 |
| Sonnet 5 | $0.00247 | $0.00247 |
| Haiku 4.5 | $0.00123 | $0.00123 |
Grade A, and why
open-responses-server CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What This Project Is
Open Responses Server is a proxy that translates OpenAI's Responses API into Chat Completions API calls, allowing any OpenAI-compatible backend (Ollama, vLLM, LiteLLM, Groq, etc.) to serve the Responses API. This enables tools like OpenAI's Codex CLI to work with self-hosted or third-party LLMs.
Build & Run
# Install from source (uses uv)
pip install uv
uv venv
uv pip install -e ".[dev]"
# Start the server
otc start
# Or directly:
uv run src/open_responses_server/cli.py start
Testing
# Run all tests (creates venv, installs deps, runs pytest + verification scripts)
./run_tests.sh
# Run tests manually (after activating venv)
python -m pytest tests/ -v
# Run a single test file
python -m pytest tests/test_server.py -v
# Run a specific test
python -m pytest tests/test_cli.py::TestCLI::test_start_server_imports -v
# Coverage
python -m pytest --cov=open_responses_server tests/
Linting
# The project uses flake8 + bandit + pylint
flake8 src/
pylint src/open_responses_server/
bandit -r src/
Architecture
The server is a FastAPI application with two main API paths that both proxy to a backend LLM:
Request flow:
Client (Codex, etc.)
|
v
api_controller.py -- FastAPI app with route definitions, CORS, startup/shutdown
|
+-- POST /responses --> responses_service.py
| Converts Responses API format to Chat Completions format,
| streams SSE events back in Responses API format
|
+-- POST /v1/chat/completions --> chat_completions_service.py
| Proxies with MCP tool injection and automatic tool-call loops
|
+-- GET/POST /{path} --> Generic proxy to backend (e.g. /v1/models)
Key modules:
api_controller.py- Route definitions.server_entrypoint.pyis the uvicorn entry point that imports fromapi_controller.responses_service.py- Converts Responses API requests to Chat Completions format (convert_responses_to_chat_completions), processes streaming Chat Completions responses back into Responses API SSE events (process_chat_completions_stream). Maintains in-memoryconversation_historykeyed byprevious_response_id.chat_completions_service.py- Handles/v1/chat/completionswith MCP tool injection. Implements a tool-call loop (up toMAX_TOOL_CALL_ITERATIONS) for both streaming and non-streaming modes.common/mcp_manager.py-MCPManagersingleton manages MCP server lifecycle (stdio, sse, streamable-http transports), tool discovery/caching with periodic refresh, and tool execution.MCPServerwraps individual server sessions.common/llm_client.py-LLMClientsingleton wrappinghttpx.AsyncClient, pointed atOPENAI_BASE_URL_INTERNAL.common/config.py- All configuration via environment variables (loaded from.envvia python-dotenv). Key vars:OPENAI_BASE_URL_INTERNAL,OPENAI_API_KEY,MCP_SERVERS_CONFIG_PATH,MAX_TOOL_CALL_ITERATIONS.models/responses_models.py- Pydantic models for Responses API request/response/streaming types.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 106 lines · 1,233 tokens per session scan A b3b78109f0fa
open-responses-server CLAUDE.md is an instructions file published in the GitHub repository teabranch/open-responses-server (185 stars, last pushed 4mo ago), licensed MIT. It adds 1,233 tokens to every session, about $0.0062 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
Prompt-Engineering-Guide CLAUDE.md
Instructions for dair-ai/Prompt-Engineering-Guide, covering prompt engineering guide, project overview, project learnings, notes & content and git workflow.
aisearch-openai-rag-audio AGENTS.md
Instructions for Azure-Samples/aisearch-openai-rag-audio, covering instructions for coding agents, code layout, running the code, prerequisites and local development setup.
mcp-gateway CLAUDE.md
Instructions for theognis1002/mcp-gateway, covering mcp gateway - claude development guide, project overview, core purpose, key features and architecture.
plano CLAUDE.md
Instructions for katanemo/plano, covering claude.md, build & test commands, rust — wasm plugins (must target wasm32-wasip1), rust — brightstaff binary (native target) and rust — tests, format, lint.
gptme AGENTS.md
AGENTS.md instructions for gptme/gptme, covering agent instructions for gptme, git workflow, code style, testing and project structure.
GPT-RAG copilot-instructions.md
Copilot instructions for Azure/GPT-RAG, covering repository development and release instructions, branching strategy, default behavior, feature development workflow and branch creation.