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.55.tar.gz (972.5 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.55-py3-none-any.whl (133.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stravinsky-0.2.55.tar.gz
  • Upload date:
  • Size: 972.5 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.2.55.tar.gz
Algorithm Hash digest
SHA256 395ca66a3d14e043cfd1bb8102708b8a1ff929efd7c71e4e1c4ff5f548de311f
MD5 bbd6c9616f119719127eda45cc6a84dc
BLAKE2b-256 6e9ec07a6a06fbaa7ad15fc36e624301461ec1bebf38570c13ca1513937653a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stravinsky-0.2.55-py3-none-any.whl
  • Upload date:
  • Size: 133.8 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.2.55-py3-none-any.whl
Algorithm Hash digest
SHA256 15b844684b1c2fd76d96643dd4681217a122498fe0c7414c7a2955247b31cf58
MD5 8e85b79108d75ab3832fbac1470cc293
BLAKE2b-256 ccd329d30fa642c74d02e27263cbf8fd3cd310ff612e1f76375a633c91c70ebd

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