Skip to main content

MCP Bridge for Claude Code with Multi-Model Support. Install globally: claude mcp add --scope user stravinsky -- uvx stravinsky. Add to CLAUDE.md: See https://pypi.org/project/stravinsky/

Project description

Stravinsky Logo

Stravinsky

The Avant-Garde MCP Bridge for Claude Code

Movement • Rhythm • Precision


What is Stravinsky?

Multi-model AI orchestration with OAuth authentication for Claude Code.

Features

  • 🔐 OAuth Authentication - Secure browser-based auth for Google (Gemini) and OpenAI (ChatGPT)
  • 🤖 Multi-Model Support - Seamlessly invoke Gemini and GPT models from Claude
  • 🛠️ 31 MCP Tools - Model invocation, code search, LSP integrations, session management, and more
  • 🧠 7 Specialized Agents - Stravinsky (orchestrator), Delphi (advisor), Dewey (documentation), and more
  • 🔄 Background Tasks - Spawn parallel agents with full tool access via Claude Code CLI
  • 📝 LSP Integration - Full Language Server Protocol support for Python (jedi)
  • 🔍 AST-Aware Search - Structural code search and refactoring with ast-grep

Quick Start

Installation

From PyPI (Recommended):

# One-shot with uvx - no installation needed!
claude mcp add stravinsky -- uvx stravinsky

# Or install globally first:
uv tool install stravinsky
claude mcp add stravinsky -- stravinsky

From Source (for development):

uv tool install --editable /path/to/stravinsky
claude mcp add stravinsky -- stravinsky

Authentication

# Login to Google (Gemini)
stravinsky-auth login gemini

# Login to OpenAI (ChatGPT Plus/Pro required)
stravinsky-auth login openai

# Check status
stravinsky-auth status

# Logout
stravinsky-auth logout gemini

### Slash Commands

Slash commands are discovered from:
- Project-local: `.claude/commands/**/*.md` (recursive)
- User-global: `~/.claude/commands/**/*.md` (recursive)

Commands can be organized in subdirectories (e.g., `.claude/commands/strav/stravinsky.md`).

Add to Your CLAUDE.md

After installing globally, add this to your project's CLAUDE.md:

## Stravinsky MCP (Parallel Agents)

Use Stravinsky MCP tools. **DEFAULT: spawn parallel agents for multi-step tasks.**

### Agent Tools

- `agent_spawn(prompt, agent_type, description)` - Spawn background agent with full tool access
- `agent_output(task_id, block)` - Get results (block=True to wait)
- `agent_progress(task_id)` - Check real-time progress
- `agent_list()` - Overview of all running agents
- `agent_cancel(task_id)` - Stop a running agent

### Agent Types

- `explore` - Codebase search, "where is X?" questions
- `dewey` - Documentation research, implementation examples
- `frontend` - UI/UX work, component design
- `delphi` - Strategic advice, architecture review

### Parallel Execution (MANDATORY)

For ANY task with 2+ independent steps:

1. **Immediately use agent_spawn** for each independent component
2. Fire all agents simultaneously, don't wait
3. Monitor with agent_progress, collect with agent_output

### ULTRATHINK / ULTRAWORK

- **ULTRATHINK**: Engage exhaustive deep reasoning, multi-dimensional analysis
- **ULTRAWORK**: Maximum parallel execution - spawn agents aggressively for every subtask

Tools (31)

Category Tools
Model Invoke invoke_gemini, invoke_openai, get_system_health
Environment get_project_context, task_spawn, task_status, task_list
Agents agent_spawn, agent_output, agent_cancel, agent_list, agent_progress
Code Search ast_grep_search, ast_grep_replace, grep_search, glob_files
LSP lsp_diagnostics, lsp_hover, lsp_goto_definition, lsp_find_references, etc.
Sessions session_list, session_read, session_search
Skills skill_list, skill_get

Agent Prompts (7)

Prompt Purpose
stravinsky Task orchestration, planning, and goal-oriented execution.
delphi Strategic technical advisor (GPT-based) for hard debugging.
dewey Documentation and multi-repository research specialist.
explore Specialized for codebase-wide search and structural analysis.
frontend UI/UX Engineer (Gemini-optimized) for component prototyping.
document_writer Technical documentation and specification writer.
multimodal Visual analysis expert for UI screenshots and diagrams.

Development

# Install in development mode
uv pip install -e .

# Run server
stravinsky

Project Structure

stravinsky/
├── mcp_bridge/           # Python MCP server
│   ├── server.py         # Entry point
│   ├── auth/             # OAuth (Google & OpenAI)
│   ├── tools/            # Model invoke, search, skills
│   ├── prompts/          # Agent system prompts
│   └── config/           # Bridge configuration
├── pyproject.toml        # Build system
└── README.md             # This file

Troubleshooting

OpenAI "Port 1455 in use"

The Codex CLI uses the same port. Stop it with: killall codex

OpenAI Authentication Failed

  • Ensure you have a ChatGPT Plus/Pro subscription
  • Tokens expire occasionally; run stravinsky-auth login openai to refresh

License

MIT


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

stravinsky-0.2.41.tar.gz (936.3 kB view details)

Uploaded Source

Built Distribution

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

stravinsky-0.2.41-py3-none-any.whl (115.8 kB view details)

Uploaded Python 3

File details

Details for the file stravinsky-0.2.41.tar.gz.

File metadata

  • Download URL: stravinsky-0.2.41.tar.gz
  • Upload date:
  • Size: 936.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stravinsky-0.2.41.tar.gz
Algorithm Hash digest
SHA256 d9c5865f9dd3251f14ffb08c057806c1a3c6685167661edcda14cc19a0eee968
MD5 2741287fde88f90127a6b2affa9b4419
BLAKE2b-256 e84fa6810a8137ac7dffb8345e934101479f0a21820c624feccab15a24188054

See more details on using hashes here.

File details

Details for the file stravinsky-0.2.41-py3-none-any.whl.

File metadata

  • Download URL: stravinsky-0.2.41-py3-none-any.whl
  • Upload date:
  • Size: 115.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stravinsky-0.2.41-py3-none-any.whl
Algorithm Hash digest
SHA256 c66e3d7631488be5a0bbe812a0a7ed98a474cfbce6fa916a389d321a1a1c2fa5
MD5 6fd66298e3fb08b9ce45016c2f08a050
BLAKE2b-256 fd562ef94d728a3de4e8050f288368bd6c035de8ff92c0465ab9838a05fb8672

See more details on using hashes here.

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