Overture

Overture

Provides interactive visual plans for AI coding agents, allowing users to review, approve, and monitor execution in real-time.

Category
访问服务器

README

<p align="center"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/SixHq/Overture/main/assets/overture-logo-dark.png"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/overture-logo-light.png" alt="Overture" width="400"> </picture> </p>

<p align="center"> <strong>See the plan before the code. Approve it. Then watch it execute.</strong> </p>

<p align="center"> <a href="https://www.npmjs.com/package/overture-mcp"><img src="https://img.shields.io/npm/v/overture-mcp?style=for-the-badge&color=blue" alt="npm version"></a> <a href="https://github.com/SixHq/Overture/actions"><img src="https://img.shields.io/github/actions/workflow/status/SixHq/Overture/ci.yml?branch=main&style=for-the-badge" alt="CI status"></a> <a href="https://www.npmjs.com/package/overture-mcp"><img src="https://img.shields.io/npm/dm/overture-mcp?style=for-the-badge&color=orange" alt="npm downloads"></a> <a href="https://github.com/SixHq/Overture/discussions"><img src="https://img.shields.io/github/discussions/SixHq/Overture?style=for-the-badge&color=purple" alt="Discussions"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge" alt="MIT License"></a> </p>

<p align="center"> <a href="#-the-problem">Problem</a> • <a href="#-the-solution">Solution</a> • <a href="#-installation">Install</a> • <a href="#-features">Features</a> • <a href="#-mcp-marketplace">Marketplace</a> • <a href="#-configuration">Config</a> • <a href="https://github.com/SixHq/Overture/discussions">Discussions</a> </p>

<br>

<p align="center">

https://github.com/user-attachments/assets/eeb9c4cb-c80d-42da-bf63-c0c4ecb1e5d6

</p>


🔥 The Problem

Every AI coding agent today — Cursor, Claude Code, Cline, Copilot — works the same way:

<table> <tr> <td width="50%">

What Happens Now

  1. You type a prompt
  2. Agent immediately starts writing code
  3. You have zero visibility into what it's doing
  4. You realize it misunderstood your request
  5. Hundreds of lines of code need to be discarded
  6. You've wasted tokens, time, and patience

</td> <td width="50%">

Text Plans Don't Help

Some agents show plans as text in chat. But text fails to show:

  • Dependencies — which tasks depend on what?
  • Branch points — what alternative approaches exist?
  • Context requirements — which files, APIs, or secrets are needed?
  • Complexity — which steps are risky?
  • Progress — what's done, what's next?

</td> </tr> </table>

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/problem-illustration.png" alt="The Problem" width="700"> </p>


✨ The Solution

Overture intercepts your AI agent's planning phase and renders it as an interactive visual flowchart — before any code is written.

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/solution-screenshot.png" alt="Overture Solution" width="900"> </p>

The agent doesn't write a single line of code until you approve the plan.

<br>

<table> <tr> <td align="center" width="20%"> <img src="https://img.icons8.com/color/96/flow-chart.png" width="64"><br> <strong>Visual Plans</strong><br> <sub>Interactive flowchart with pan, zoom, and click-through navigation</sub> </td> <td align="center" width="20%"> <img src="https://img.icons8.com/color/96/attach.png" width="64"><br> <strong>Attach Context</strong><br> <sub>Files, API keys, instructions per step</sub> </td> <td align="center" width="20%"> <img src="https://img.icons8.com/color/96/split.png" width="64"><br> <strong>Choose Approaches</strong><br> <sub>Compare pros/cons of different paths</sub> </td> <td align="center" width="20%"> <img src="https://img.icons8.com/color/96/lightning-bolt.png" width="64"><br> <strong>Real-time Execution</strong><br> <sub>Watch nodes light up with progress</sub> </td> <td align="center" width="20%"> <img src="https://img.icons8.com/color/96/shop.png" width="64"><br> <strong>MCP Marketplace</strong><br> <sub>Browse & attach tools per node</sub> </td> </tr> </table>


🚀 Installation

Overture is an MCP server that works with any MCP-compatible AI coding agent. One command to install.

Claude Code

claude mcp add overture-mcp -- npx overture-mcp

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}

<details> <summary><strong>More Agents (Cline, Copilot, Sixth AI)</strong></summary>

Cline (VS Code Extension)

Open VS Code settings → search "Cline MCP" → add:

{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}

GitHub Copilot

Create .vscode/mcp.json in your project root:

{
  "servers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}

Note: GitHub Copilot MCP requires VS Code 1.99+ and uses servers instead of mcpServers.

Sixth AI (VS Code Extension)

Add to your Sixth AI MCP settings file:

Platform Path
macOS ~/Library/Application Support/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json
Windows %APPDATA%\Code\User\globalStorage\sixth.sixth-ai\settings\sixth-mcp-settings.json
Linux ~/.config/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json
{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"],
      "disabled": false
    }
  }
}

</details>

Global Installation (Optional)

npm install -g overture-mcp

Verify It Works

Give your agent any task. Overture automatically opens at http://localhost:3031 with your plan ready for approval.


🎯 How It Works

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/how-it-works.png" alt="How Overture Works" width="800"> </p>

The Flow:

Step What Happens
1. Prompt You give your agent a task: "Build a REST API with auth"
2. Plan Agent generates a detailed plan with steps, branches, and requirements
3. Visualize Overture renders the plan as an interactive graph
4. Enrich You click nodes, attach files, select branches, fill in API keys
5. Approve You click "Approve & Execute" (or press Enter)
6. Execute Watch real-time as nodes pulse, complete, or fail
7. Control Pause (Spacebar), resume, re-run nodes, or modify the plan mid-flight

🛠 Features

Interactive Plan Canvas

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-canvas.png" alt="Interactive Canvas" width="800"> </p>

Feature Description
React Flow Canvas Full pan, zoom, drag with smooth animations
Streaming Parser Plan nodes appear in real-time as the agent generates them
Dagre Auto-Layout Intelligent automatic positioning of nodes
Visual Status Pending (gray) → Active (pulsing yellow) → Completed (green) / Failed (red)
Next Node Indicator Blue pulse shows which node executes next
Complexity Badges Low (green), Medium (yellow), High (red) at a glance
Glow Effects Shadow glows highlight active and upcoming nodes
Insertable Edges Hover over edges to insert new nodes mid-plan

Node Details Panel

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-node-panel.png" alt="Node Details Panel" width="700"> </p>

Click any node to reveal its full details:

Info What You See
Title & Description Full context for what this step does
Complexity Level Low / Medium / High with visual indicator
Expected Output What the step should produce
Risks & Edge Cases Potential issues to watch for
Pros & Cons For branch options, compare trade-offs

Dynamic Fields (User Inputs)

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-dynamic-fields.png" alt="Dynamic Fields" width="600"> </p>

Nodes can request input from you before execution:

Field Type Use Case
String Project names, URLs, custom values
Number Port numbers, limits, counts
Boolean Yes/No toggles for options
Select Dropdown with predefined choices
Secret API keys, tokens (masked input)
File File paths to attach context

Each field includes:

  • Required/optional indicator
  • Default values
  • Help text & descriptions
  • Setup instructions ("How to get an API key")

File Attachments

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-attachments.png" alt="File Attachments" width="600"> </p>

Attach context files to specific nodes:

  • Automatic type detection — Image, code, document, or other
  • Visual icons per file type
  • Descriptions — add notes about why this file matters
  • Delete — remove unwanted attachments

Meta Instructions

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-meta-instructions.png" alt="Meta Instructions" width="600"> </p>

Add custom LLM instructions to any node:

"Pay special attention to error handling here" "Use the existing auth pattern from src/auth.ts" "Make sure to add tests for edge cases"

Instructions are sent to the agent right before that node executes.


Branch Detection & Selection

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-branching.png" alt="Branch Selection" width="800"> </p>

When the agent proposes multiple approaches:

Feature Description
Auto-Detection Branches detected from graph structure (no special markup)
Branch Points Nodes with multiple outgoing edges become decision points
Selection Modal Side-by-side comparison with pros/cons
Complexity Comparison See difficulty level for each option
Visual Indicator Selected branch highlighted on canvas
Skip Unselected Only your chosen path executes

Requirements Checklist

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-checklist.png" alt="Requirements Checklist" width="400"> </p>

Before you can approve, Overture shows what's needed:

  • Empty required fields — counted per node
  • Branch selections — which decisions are pending
  • Progress indicator — visual completion tracking
  • Expandable items — click to see details
  • Color coding — Green (done) / Orange (pending)

The Approve button stays disabled until all requirements are met.


Execution Controls

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-execution.png" alt="Execution Controls" width="700"> </p>

Control How
Approve Click button or press Enter
Pause Press Spacebar mid-execution
Resume Press Spacebar again
Re-run Node Click failed node → "Re-run"
Re-run From Here Re-execute from any node to the end

The approval button is smart:

  • 🟢 "Approve & Execute" — plan ready, requirements met
  • 🟠 "Complete Requirements" — conditions unmet
  • 🔵 "Executing..." — running with spinner
  • 🟢 "Completed" — all done
  • 🔴 "Failed" — error occurred

Structured Output

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-output.png" alt="Structured Output" width="700"> </p>

After each node executes, see rich structured output:

Category What It Shows
Overview Summary of what was accomplished
Files Changed Paths, lines added/removed, diffs
Files Created New files with line counts
Files Deleted Removed files
Packages Installed npm packages with versions
MCP Servers Setup Installation status (installed/configured/failed)
Web Searches Queries performed, results used
Tool Calls Which tools were used and how often
Preview URLs Links to deployed sites or previews
Notes Info, warnings, errors

Each category is expandable — drill in without visual overload.


Output Modal

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-output-modal.png" alt="Output Modal" width="700"> </p>

Click any completed node to see full output:

  • Scrollable for long outputs
  • Syntax highlighted code snippets
  • Close with Escape or click outside

🏪 MCP Marketplace

<p align="center"> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-marketplace.png" alt="MCP Marketplace" width="800"> </p>

Browse and attach MCP servers directly from the Overture UI.

Feature Description
Built-in Marketplace Search and discover MCP servers
Server Details Descriptions, authors, GitHub links, stars
Category Browsing Filter by use case
Per-Node Attachment Attach specific tools to specific steps
Setup Instructions See how to configure each server
Recommended Servers Curated list for common tasks

When you attach an MCP server to a node, the agent gains access to those tools only for that step.


📂 Multi-Project Support

Work on multiple projects simultaneously:

Feature Description
Tab Navigation Switch between projects instantly
Auto Registration Projects register on first agent contact
Isolated State Each project has separate plans, nodes, configs
Unread Badges Know when other projects have updates
Project Context See project name, path, and agent type

Single project? Tab bar hides automatically for a cleaner UI.


📜 Plan History & Persistence

Never lose your work:

Feature Description
Auto-Save Plans saved every 3 seconds
Local Storage Stored in ~/.overture/history.json
History Browser Slide-in panel with all past plans
Status Icons Completed, failed, executing, paused
Progress Bars Visual completion percentage
One-Click Resume Load and continue any past plan
Full Context All field values, branch selections, attachments preserved

Resume Information

When resuming, you get complete context:

  • Current node — where execution stopped
  • Completed nodes — with their outputs
  • Pending nodes — what's left to do
  • Failed nodes — with error messages
  • All configurations — field values, branches, attachments
  • Timestamps — when created, when paused

✏️ Dynamic Plan Modification

Modify plans even during execution:

Operation Description
Insert Nodes Add new steps mid-execution
Remove Nodes Delete steps (edges auto-reconnect)
Replace Content Update node title/description in-place
Batch Operations Multiple changes in one request

Plan Diff View

When a plan changes, see exactly what's different:

  • Added nodes — highlighted green
  • Removed nodes — highlighted red
  • Modified nodes — yellow with before/after comparison
  • Edge changes — added/removed connections

🔌 MCP Tools (For Agent Developers)

Overture exposes 11 MCP tools for agents to interact with:

Tool Purpose
submit_plan Submit complete plan as XML
get_approval Wait for user approval (blocks until approved)
update_node_status Update node status + output during execution
plan_completed Mark plan as successfully completed
plan_failed Mark plan as failed with error message
check_rerun Check if user requested a node re-run
check_pause Check if user paused execution
get_resume_info Get full context for resuming a paused plan
request_plan_update Request incremental plan modifications
create_new_plan Signal creation of a new plan
get_usage_instructions Get agent-specific instructions

🔄 Real-time WebSocket Communication

19 server-to-client message types:

connectedplan_startednode_addededge_addedplan_readyplan_approvednode_status_updatedplan_completedplan_failedplan_pausedplan_resumednodes_insertednode_removedproject_registeredprojects_listhistory_entriesplan_loadedresume_plan_infoplan_updated

16 client-to-server message types:

approve_plancancel_planrerun_requestpause_executionresume_executioninsert_nodesremove_noderegister_projectsubscribe_projectunsubscribe_projectget_historyload_planget_resume_infosave_planrequest_plan_updatecreate_new_plan

Relay Mode

When the WebSocket port is already in use, Overture automatically operates as a relay client, forwarding messages through the existing server. Multiple agent instances can share a single UI.


⚙️ Configuration

Variable Default Description
OVERTURE_HTTP_PORT 3031 Port for the web UI
OVERTURE_WS_PORT 3030 Port for WebSocket
OVERTURE_AUTO_OPEN true Auto-open browser on start

Setting Environment Variables

<details> <summary><strong>Claude Code</strong></summary>

claude mcp add overture-mcp -e OVERTURE_HTTP_PORT=4000 -e OVERTURE_AUTO_OPEN=false -- npx overture-mcp

</details>

<details> <summary><strong>Cursor / Cline / Sixth AI</strong></summary>

{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"],
      "env": {
        "OVERTURE_HTTP_PORT": "4000",
        "OVERTURE_WS_PORT": "4001",
        "OVERTURE_AUTO_OPEN": "false"
      }
    }
  }
}

</details>

<details> <summary><strong>GitHub Copilot</strong></summary>

{
  "servers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"],
      "env": {
        "OVERTURE_HTTP_PORT": "4000",
        "OVERTURE_WS_PORT": "4001",
        "OVERTURE_AUTO_OPEN": "false"
      }
    }
  }
}

</details>


⌨️ Keyboard Shortcuts

Key Action
Enter Approve plan (when ready)
Space Pause / Resume execution
Escape Deselect current node / Close modal

🤝 Supported Agents

Agent Status Notes
Claude Code ✅ Full Native MCP support
Cursor ✅ Full Via mcp.json config
Cline ✅ Full Via VS Code settings
GitHub Copilot ✅ Full VS Code 1.99+ required
Sixth AI ✅ Full Built-in, zero config

Each agent has custom-tailored prompts for optimal plan generation.


💪 Why Overture?

<table> <tr> <td width="50%">

For Users

  • Transparency — See exactly what happens before code is written
  • Control — Approve, reject, or modify any plan
  • Context — Attach files and instructions to the right steps
  • Choice — Compare approaches and pick your path
  • Visibility — Real-time progress with rich output
  • Safety — Pause, resume, or re-run at any time
  • History — Resume any past plan instantly
  • Efficiency — No wasted tokens on rejected approaches

</td> <td width="50%">

For AI Coding

  • Trust — Makes agents predictable and controllable
  • Interpretability — See AI reasoning before execution
  • Universal — Works with any MCP-compatible agent
  • Extensible — MCP Marketplace for tool discovery
  • Open Source — MIT licensed, community-driven
  • Self-Contained — No cloud dependencies
  • Works Offline — Fully local execution
  • Multi-Project — Manage multiple workspaces

</td> </tr> </table>


🧑‍💻 Development

# Clone the repo
git clone https://github.com/SixHq/Overture.git
cd Overture

# Install dependencies
npm install

# Build all packages
npm run build

# Start MCP server (in one terminal)
cd packages/mcp-server && npm start

# Start UI dev server (in another terminal)
cd packages/ui && npm run dev

Tech Stack

Layer Technologies
MCP Server Node.js, TypeScript, Express, WebSocket (ws), SAX XML Parser
UI React 18, React Flow, Zustand, Framer Motion, Tailwind CSS, Vite
Layout Dagre (automatic graph positioning)

🤝 Contributing

Overture is open source and we welcome contributions!

All contributions are appreciated, no matter how small.


📄 License

MIT License - see LICENSE for details.


<p align="center"> <br> <img src="https://raw.githubusercontent.com/SixHq/Overture/main/assets/sixth-logo.png" alt="Sixth" width="120"> <br><br> Built by <a href="https://trysixth.com"><strong>Sixth</strong></a> <br><br> For the best experience, try <a href="https://marketplace.visualstudio.com/items?itemName=Sixth.sixth-ai"><strong>Sixth for VS Code</strong></a><br> Overture is built-in with zero configuration required. <br><br> <sub>Stop flying blind. See the plan. Approve it. Execute with confidence.</sub> </p>

Star History

Star History Chart

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选