Lightweight MCP server bridging Claude Code to OpenRouter API
Project description
Open Bridge
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
-
Get OpenRouter API Key:
# Visit https://openrouter.ai/keys # Sign up and get your API key
-
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openrouter_mcp_bridge-1.0.0.tar.gz.
File metadata
- Download URL: openrouter_mcp_bridge-1.0.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcfc0111d42bd22c944d63df14b937a847b463837e0d41ae3e71fc836f27a547
|
|
| MD5 |
15709403c7bcdaaefa1d8fad505f23cb
|
|
| BLAKE2b-256 |
ff32dfac30c5c196ef1ff1f062d26bed9e6231886e74df18b73668c75d81cfd5
|
File details
Details for the file openrouter_mcp_bridge-1.0.0-py3-none-any.whl.
File metadata
- Download URL: openrouter_mcp_bridge-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bac7e9df4f1b9640a83d308d8295e6ad977be22e54483003f54f8d6df5e94b64
|
|
| MD5 |
ccdeaa2f74ba50029dad4c84c9622ba0
|
|
| BLAKE2b-256 |
d63c9447270343e01eb15a71580c3d9fedf38adbca5555609b7ab60f70a0cdda
|