Metadata-Version: 2.4
Name: stravinsky
Version: 0.1.8
Summary: 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-URL: Repository, https://github.com/davidandrews/stravinsky
Project-URL: Issues, https://github.com/davidandrews/stravinsky/issues
Author: Stravinsky Team
License: MIT
Keywords: claude,gemini,mcp,oauth,openai
Requires-Python: >=3.11
Requires-Dist: aiofiles>=23.1.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: google-auth-oauthlib>=1.0.0
Requires-Dist: google-auth>=2.20.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: jedi>=0.19.2
Requires-Dist: keyring>=25.7.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: openai>=1.0.0
Requires-Dist: psutil>=5.9.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: ruff>=0.14.10
Requires-Dist: uuid-utils>=0.9.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Description-Content-Type: text/markdown

<div align="center">
  <img src="data:image/png;base64,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" width="200" alt="Stravinsky Logo">
  <h1>Stravinsky</h1>
  <p><strong>The Avant-Garde MCP Bridge for Claude Code</strong></p>
  <p><em>Movement • Rhythm • Precision</em></p>
</div>

---

## 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):**

```bash
# 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):**

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

### Authentication

```bash
# 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`:

```markdown
## 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

```bash
# 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

---

<div align="center">
  <small>Built with obsession by the Google Deepmind team.</small>
</div>
