Skip to main content

CLI to manage the OpenAI Responses Server that bridges chat completions to responses API calls

Project description

🚀 open-responses-server

A plug-and-play server that speaks OpenAI’s Responses API—no matter which AI backend you’re running.

Ollama? vLLM? LiteLLM? Even OpenAI itself?
This server bridges them all to the OpenAI ChatCompletions & Responses API interface.

In plain words:
👉 Want to run OpenAI’s Coding Assistant (Codex) or other OpenAI API clients against your own models?
👉 Want to experiment with self-hosted LLMs but keep OpenAI’s API compatibility?

This project makes it happen.
It handles stateful chat, tool calls, and future features like file search & code interpreter—all behind a familiar OpenAI API.

✨ Why use this?

✅ Acts as a drop-in replacement for OpenAI’s Responses API.
✅ Lets you run any backend AI (Ollama, vLLM, Groq, etc.) with OpenAI-compatible clients.
✅ MCP support around both Chat Completions and Responses APIs ✅ Supports OpenAI’s new Coding Assistant / Codex that requires Responses API.
✅ Built for innovators, researchers, OSS enthusiasts.
✅ Enterprise-ready: scalable, reliable, and secure for production workloads.

🔥 What’s in & what’s next?

✅ Done 📝 Coming soon

  • ✅ Tool call support .env file support
  • ✅ Manual & pipeline tests
  • ✅ Docker image build
  • ✅ PyPI release
  • 📝 Persistent state (not just in-memory)
  • ✅ CLI validation
  • 📝 hosted tools:
    • ✅ MCPs support
    • 📝 Web search: crawl4ai
    • 📝 File upload + search: graphiti
    • 📝 Code interpreter
    • 📝 Computer use APIs

🏗️ Quick Install

Latest release on PyPI:

pip install open-responses-server

Or install from source:

uv venv
uv pip install .
uv pip install -e ".[dev]"  # dev dependencies

Run the server:

# Using CLI tool (after installation)
otc start

# Or directly from source
uv run src/open_responses_server/cli.py start

Docker deployment:

# Run with Docker
docker run -p 8080:8080 \
  -e OPENAI_BASE_URL_INTERNAL=http://your-llm-api:8000 \
  -e OPENAI_BASE_URL=http://localhost:8080 \
  -e OPENAI_API_KEY=your-api-key \
  ghcr.io/teabranch/open-responses-server:latest

Works great with docker-compose.yaml for Codex + your own model.

🛠️ Configure

Minimal config to connect your AI backend:

OPENAI_BASE_URL_INTERNAL=http://localhost:11434  # Ollama, vLLM, Groq, etc.
OPENAI_BASE_URL=http://localhost:8080            # This server's endpoint
OPENAI_API_KEY=sk-mockapikey123456789            # Mock key tunneled to backend

Server binding:

API_ADAPTER_HOST=0.0.0.0
API_ADAPTER_PORT=8080

Optional logging:

LOG_LEVEL=INFO
LOG_FILE_PATH=./log/api_adapter.log

Configure with CLI tool:

# Interactive configuration setup
otc configure

Verify setup:

# Check if the server is working
curl http://localhost:8080/v1/models

💬 We’d love your support!

If you think this is cool:
⭐ Star the repo.
🐛 Open an issue if something’s broken.
🤝 Suggest a feature or submit a pull request!

This is early-stage but already usable in real-world demos.
Let’s build something powerful—together.

Star History

Star History Chart

Projects using this middleware

  • Agentic Developer MCP Server - a wrapper around Codex, transforming Codex into an agentic developer node over a folder. Together with this (ORS) repo, it becomes a link in a tree/chain of developers.
  • Nvidia jetson devices - docker compose with ollama

📚 Citations & inspirations

Referenced projects

  • SearXNG MCP
  • UncleCode. (2024). Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper [Computer software]. GitHub. Crawl4AI repo

Cite this project

Code citation

@software{open-responses-server,
  author = {TeaBranch},
  title = {open-responses-server: Open-source server bridging any AI provider to OpenAI’s Responses API},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/teabranch/open-responses-server}},
  commit = {use the commit hash you’re working with}
}

Text citation

TeaBranch. (2025). open-responses-server: Open-source server the serves any AI provider with OpenAI ChatCompletions as OpenAI's Responses API and hosted tools. [Computer software]. GitHub. https://github.com/teabranch/open-responses-server

Links:

Naming history

This repo had changed names:

  • openai-responses-server (Changed to avoid brand name OpenAI)
  • open-responses-server

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_responses_server-0.4.1.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_responses_server-0.4.1-py3-none-any.whl (47.8 kB view details)

Uploaded Python 3

File details

Details for the file open_responses_server-0.4.1.tar.gz.

File metadata

  • Download URL: open_responses_server-0.4.1.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for open_responses_server-0.4.1.tar.gz
Algorithm Hash digest
SHA256 34e1456a73a99cef73ed14818d6a8c7a04d74d39a16c7972d9fffcf87b755131
MD5 f723006539e2184a71f8230d8875bf8d
BLAKE2b-256 13789cfccc988cfff547b2304a6744d4af3fbebd6a4e8064aaf66c9c8246e820

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_responses_server-0.4.1.tar.gz:

Publisher: publish.yml on teabranch/open-responses-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file open_responses_server-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for open_responses_server-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9b113af2c1dd829c7ef06f6bcbb6e38eb7220c1214058a558a69a97f06b555e
MD5 85c37edf22ad4a60042f8fcfd98b9cf7
BLAKE2b-256 ee815ebf13564e497a236f813e8682ab373f05034b8520281b84f8213f2f0e11

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_responses_server-0.4.1-py3-none-any.whl:

Publisher: publish.yml on teabranch/open-responses-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page