Skip to main content

Open Bridge

OpenRouter API

A lightweight MCP (Model Context Protocol) server that enables AI coding assistants to interact with OpenRouter API. Works with Claude Code, Cursor, VS Code, and other MCP-compatible clients.

✨ Features

  • Direct OpenRouter API Integration: Async HTTP calls using httpx
  • Simple MCP Tools: Three core functions for queries, file analysis, and batch processing
  • Stateless Operation: No sessions, caching, or complex state management
  • Production Ready: Robust error handling with configurable timeouts (default: 90 seconds)
  • Minimal Dependencies: httpx, python-dotenv, and mcp>=1.0.0
  • Async/Await: Full async support for concurrent operations
  • Model Flexibility: Support any OpenRouter-compatible model

🚀 Quick Start

Prerequisites

  1. Get OpenRouter API Key:

    # Visit https://openrouter.ai/keys
    # Sign up and get your API key
    
  2. Set Environment Variable:

    export OPENROUTER_API_KEY="your-api-key-here"
    

Installation

Local Development:

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -e .

# Run directly
python -m src

Using uvx (from local directory):

uvx --from /path/to/open-bridge open-bridge

⚙️ Configuration

Environment Variables

Variable Required Default Description
OPENROUTER_API_KEY ✅ Yes - Your OpenRouter API key
OPENROUTER_MODEL No openai/gpt-4o Model to use
OPENROUTER_TIMEOUT No 90 Request timeout (seconds)

Example Configuration (Claude Code)

# Add to Claude Code with local installation
claude mcp add open-bridge -s user \
  --env OPENROUTER_API_KEY=sk-or-... \
  --env OPENROUTER_MODEL=anthropic/claude-3.5-sonnet \
  -- python -m $(pwd)/src

🛠️ Available Tools

Tool Description
consult_openrouter Direct API query with structured output
consult_openrouter_with_stdin Pipe file content for analysis
consult_openrouter_batch Multiple concurrent queries

📋 Usage Examples

# Basic query
consult_openrouter(
    query="What authentication patterns are used in this project?",
    directory="/path/to/project",
    format="json"
)

# File analysis
consult_openrouter_with_stdin(
    stdin_content=open("src/auth.py").read(),
    prompt="Review this file for security issues",
    directory="/path/to/project"
)

# Batch processing
consult_openrouter_batch(
    queries=[
        {"query": "Analyze authentication patterns"},
        {"query": "Review database implementations"}
    ],
    directory="/path/to/project"
)

🏗️ Architecture

  • API-First: Direct async HTTP calls to OpenRouter API
  • Stateless: Each tool call is independent with no session state
  • Async/Await: Full async support for concurrent operations
  • Error Handling: Comprehensive HTTP and timeout error handling

📄 License

MIT License - see LICENSE file for details.


Focus: A simple, reliable bridge between Claude Code and OpenRouter API.

Metadata

Release files for openrouter-mcp-bridge 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openrouter-mcp-bridge 1.0.0
File Size Uploaded
openrouter_mcp_bridge-1.0.0.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openrouter-mcp-bridge 1.0.0
File Interpreter ABI Platform
openrouter_mcp_bridge-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.2 kB

Release files / openrouter_mcp_bridge-1.0.0.tar.gz

Download URL openrouter_mcp_bridge-1.0.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fcfc0111d42bd22c944d63df14b937a847b463837e0d41ae3e71fc836f27a547
BLAKE2b-256 checksum
How to use checksums
ff32dfac30c5c196ef1ff1f062d26bed9e6231886e74df18b73668c75d81cfd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / openrouter_mcp_bridge-1.0.0-py3-none-any.whl

Download URL openrouter_mcp_bridge-1.0.0-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bac7e9df4f1b9640a83d308d8295e6ad977be22e54483003f54f8d6df5e94b64
BLAKE2b-256 checksum
How to use checksums
d63c9447270343e01eb15a71580c3d9fedf38adbca5555609b7ab60f70a0cdda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page