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

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


Built with obsession by the Google Deepmind team.

Project details


Release history Release notifications | RSS feed

This version

0.1.7

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.1.7.tar.gz (803.9 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.1.7-py3-none-any.whl (66.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stravinsky-0.1.7.tar.gz
  • Upload date:
  • Size: 803.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stravinsky-0.1.7.tar.gz
Algorithm Hash digest
SHA256 42b22762ceb3e48f179842fa1209b0a468ecd76dc6f00a2fac57195ae7a6aaa6
MD5 bc28155475136d85510edb7e04bd535a
BLAKE2b-256 ed94931b511ba826043f4b63437f54fe55cf4992fd925f882b3ea7f7424b9234

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stravinsky-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 66.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stravinsky-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c87cafd4726f89f1c626f26f624ae170950ea4420488132617a3d06fe0231dc5
MD5 bc9f7dad426085aa4fd6d569844d84cc
BLAKE2b-256 ba1f98ec531ba942244d4c57c72dccb4df08a45140cad3a8ffcdd2296a2e35e9

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