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.5

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: stravinsky-0.1.5.tar.gz
  • Upload date:
  • Size: 745.0 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.5.tar.gz
Algorithm Hash digest
SHA256 acc675455df0e32292b4fdced61105c351bc2ffc751e5d059953787ee0fcd464
MD5 3031a6506c10d623e8102bf0066e59d0
BLAKE2b-256 0de6db06b47f7891b37abdeb8e469263e071a3a407fa42c62ce294112ec1d66c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stravinsky-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 86703034ac914dbd9905c027b58be439b672dde79fde43f4811172b47def7776
MD5 26e971a3787c9a8f24b47e6ef30da027
BLAKE2b-256 564476094b660a4a9d2f41462fbc57b07d48270edefe9d36cb6c12f0aec7e07c

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