Planwright

Official SSE

by Planwright

280 downloads Not rated yet

About

Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

Details

Transport
SSE

Explore

- Control plane for autonomous software labor.
- Agents claim objectives over MCP.
- Provides an audit trail for claimed objectives.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Planwright
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

—

planwright_set_repo

Set the active project for this session. Call this FIRST — it determines which project your objectives, bugs, and context files belong to. Two ways to select a project: (1) pass githubRepo in 'owner/repo' format — matches or auto-creates a project by repo; (2) pass projectId (UUID) directly — use this for projects with no linked GitHub repo (call planwright_list_projects to find IDs). If the repo exists in multiple workspaces you belong to, pass workspaceSlug to disambiguate. After setting yo…

planwright_list_workspaces

List the workspaces you have access to with role and project counts. Use this when set_repo reports a multi-workspace conflict, or to discover which workspaces are available to switch into. Pre-shared token sessions are workspace-scoped and will only see one entry.

planwright_list_projects

List projects you have access to, with their IDs and linked GitHub repos. Use this to discover a projectId when you need to call planwright_set_repo for a project that has no linked GitHub repo.

planwright_create_objective

Create a new objective on the board. Objectives start in backlog — do NOT set scheduleImmediately=true unless the human has explicitly asked for it. Scheduling is the human's responsibility. Pass initiativeId or initiativeSlug to assign an initiative (call planwright_list_initiatives to discover them). Pass labels to tag the objective — use 'JIRA:EPIC-42' convention for Jira-sourced work. strategic_focus is REQUIRED — classify the objective before creating it. Taxonomy: BUILD → PRODUCT_CAPABI…

planwright_update_objective

Update an objective's metadata: title, description, acceptance criteria, priority, initiative, businessValue, complexityRisk. Lane changes go through schedule/claim/request_acceptance — this tool does NOT change the lane. Pass null on initiative/businessValue/complexityRisk to clear them. Use strategic_focus to backfill classification on existing objectives — call planwright_list_unclassified to find objectives that need it. Use acceptanceCriteriaCategories to set or update AC validation-type…

planwright_list_initiatives

List the initiatives defined for the current workspace, with id, slug, name, sortOrder, and target date. Use initiativeId or initiativeSlug from this list when calling create_objective or update_objective.

planwright_create_initiative

Create a new initiative in the current workspace. Defaults to the current project scope when a project is active (set via planwright_set_repo). Pass scopeToCurrentProject=false to create a workspace-wide initiative instead.

planwright_update_initiative

Update an initiative's name, description, target date, or intent summary. Use planwright_list_initiatives to find the initiativeId.

planwright_delete_initiative

Delete an initiative. All objectives currently assigned to it will have their initiative assignment cleared — their content is preserved. Use planwright_list_initiatives to find the initiativeId. This action is recorded in the audit chain.

planwright_schedule_objective

Move a backlog objective to 'scheduled', making it available for agent pickup. JIRA SYNC: if the response contains jiraLabels and jiraComment, you MUST call addCommentToJiraIssue for each key immediately before doing anything else.

planwright_list_objectives

List objectives in a lane. Defaults to 'scheduled' — objectives ready for agent pickup. Pass labelName to filter to objectives from a specific Jira epic (e.g. 'JIRA:EPIC-42'). Pass initiativeId or initiativeSlug to scope results to a specific initiative. Each objective in the response includes initiativeId and initiativeSlug (null if unassigned).

planwright_get_objective

Fetch full objective details including description, acceptance criteria, and agent run history.

planwright_claim_objective

Claim a scheduled objective and start an agent run. Moves the objective from 'scheduled' to 'in_progress'. CLARITY CHECK (UNCONDITIONAL): the response always contains a clarityInstruction field — read it and follow it exactly. If the objective is ambiguous in ways a senior engineer could not resolve by reading the codebase alone (missing key requirement, undefined external dependency, contradictory acceptance criteria), call planwright_flag_clarity with your specific concerns and STOP — do no…

planwright_append_plan

Post the agent's decomposition plan to the active agent run.

planwright_check_alignment

Check whether the work you are about to implement aligns with the claimed objective. Call this BEFORE starting any code changes — immediately after planwright_append_plan. Pass agentRunId from your claim response and a one-sentence proposedWork description of what you are about to build based on the current conversation. Read the returned objective and compare it against what the user is now asking for. If they diverge, stop and ask the user before proceeding: offer to update the existing obj…

planwright_record_diff

Record a diff summary and test results for the active agent run.

planwright_submit_test_run

Submit acceptance-criteria verification results for the active agent run. Call this before planwright_request_acceptance whenever the claim response included acceptanceItems. Pass EITHER `results` — direct structured entries `{ criterionId, status, steps }` for ad-hoc/manual verification (the common case: commands you ran, what you observed, screenshots) — OR `playwrightJsonReport`, the raw JSON from `npx playwright test --reporter=json`, which is parsed for `[AC:ac_x]` markers in spec titles…

planwright_request_acceptance

Move an objective from 'in_progress' to 'acceptance' lane, completing the agent run and notifying humans for review. DRIFT SELF-ASSESSMENT: always include driftScore (0–100, where 0 = perfect alignment with stated intent) and driftNote (one sentence on why delivery diverged, or confirming alignment if score is low). You have the richest context right now — the diff you just wrote, the ACs you addressed or skipped — so self-assess before handing off. AC CATEGORIES: if the objective has non-emp…

planwright_list_my_bugs

List bugs for this project, optionally filtered by agent kind.

planwright_append_note

Record completion of a TODO task in the agent run log. Call this after EVERY completed TODO — but only after you have committed AND pushed the code for that task. Never call this before pushing. The note should name the task completed and briefly describe what changed.

planwright_list_context_files

List all context files for this project (CLAUDE.md, specs, architecture docs, etc.). Read these before planning or starting work on an objective.

planwright_get_context_file

Read a specific context file by filename. Use this to understand project conventions, architecture, constraints, and style guides before working on an objective.

planwright_push_context_file

Push or update a context file for this project. Use from Claude Desktop to share specs, CLAUDE.md, architecture docs, or any text that agents should read before working. If the filename already exists, it will be updated. Pass resolvedSuggestionId to mark a pending doc suggestion as applied.

planwright_get_doc_suggestions

Returns up to 10 pending documentation gap suggestions for the current project, ordered by recency. Suggestions are generated weekly from rejection notes that reference topics not covered by any context file. Call at session start — apply suggestions via planwright_push_context_file (with resolvedSuggestionId) or dismiss via planwright_dismiss_doc_suggestion.

planwright_dismiss_doc_suggestion

Dismiss a pending documentation gap suggestion by ID. Use when the suggestion is not applicable or has already been addressed. To apply a suggestion, use planwright_push_context_file with resolvedSuggestionId instead.

planwright_get_board_url

Get the Planwright board URL for the current project. Pass labelName to get a pre-filtered URL (e.g. for a Jira epic back-link).

planwright_flag_clarity

Flag an objective or initiative as having clarity concerns. For objectives: call this after claiming if the outcome is ambiguous in ways a senior engineer could not resolve by reading the codebase alone — moves it back to 'scheduled' and pauses your agent run, stop all work after calling. For initiatives: sets clarityFlag so it appears highlighted on the Intent Map for human rework. Only flag genuine blockers, not implementation opinions.

planwright_list_unenriched

Returns objectives and initiatives in the current project that have no intentSummary. Call this after planwright_set_repo as part of session setup — enrich each item before starting your primary task.

planwright_list_unclassified

Returns objectives in the CURRENT project (only) that have no strategic_focus set, across all lanes (including done and acceptance). Scoped to one project — do NOT call planwright_list_projects and iterate; classify the active project only. Use this for retroactive backfill — read each objective's title, description, and intentSummary, then call planwright_update_objective with strategic_focus to classify it. Taxonomy: BUILD → PRODUCT_CAPABILITY, PLATFORM_INFRASTRUCTURE; GROW → REVENUE_ENABLE…

planwright_override_clarity

Override a clarity flag on a flagged objective so an agent can claim it. HUMAN ONLY — this tool requires an OAuth session and will reject calls from agent tokens. Provide a reason explaining why the objective is clear enough to proceed; it is recorded in the audit chain. The agent's concerns remain visible in the audit log for reference.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "planwright": {
            "planwright": {
                "url": "https://mcp.planwright.tools/mcp"
            }
        }
    }
}

McpServers

{
    "planwright": {
        "url": "https://mcp.planwright.tools/mcp"
    }
}

- Create and manage objectives— Useplanwright_create_objectiveto define outcomes with acceptance criteria, thenplanwright_schedule_objectiveto queue them for agents.
- Claim and execute agent work— Agents callplanwright_claim_objectiveto start a run,planwright_append_planto post a decomposition, andplanwright_request_acceptancewhen ready for review.
- Record diffs and test results— Submit code changes viaplanwright_record_diffand verify acceptance criteria withplanwright_submit_test_run.
- Check for drift during execution— Useplanwright_check_alignmentto confirm the agent's work still matches the claimed objective.
- Surface documentation gaps— Callplanwright_get_doc_suggestionsto find missing context files, thenplanwright_push_context_fileto fill them.
- List bugs and enrichment gaps— Queryplanwright_list_my_bugsfor known issues andplanwright_list_unenrichedfor objectives lacking intent summaries.

Control plane for autonomous software labor.

Planwright is the objective-native planning board for agent-led software development. Humans define outcomes at the Objective layer; coding agents (Claude Code, Cursor, Codex, and others) claim work, decompose tasks, execute, and report back via native MCP—with every state change captured in a hash-chained, Ed25519-signed audit trail.

claude mcp add planwright https://mcp.planwright.tools/mcp

Your browser opens for GitHub login. That's it.

See thefull agent setup guidesfor Cursor, Codex, Claude Desktop, and generic MCP clients.

┌─────────────────────────────────────────────────────────────────┐ │ │ │ PLANNING (Humans) EXECUTION (Agents) │ │ │ │ "Add OAuth login" ───────┐ │ │ │ │ │ create_objective() ──────┤ │ │ ▼ │ │ ┌──────────────┐ │ │ │ BACKLOG │ │ │ └──────┬───────┘ │ │ │ │ │ schedule_objective() ────┤ │ │ ▼ │ │ ┌──────────────┐ │ │ │ SCHEDULED │◀── list_objectives() │ │ └──────┬───────┘ │ │ │ │ │ │── claim_objective() ──────────────▶│ │ ▼ │ │ ┌──────────────┐ │ │ │ IN PROGRESS │◀── append_plan() │ │ │ │◀── record_diff() │ │ └──────┬───────┘ │ │ │ │ │ │── request_acceptance() ───────────▶│ │ ▼ │ │ ┌──────────────┐ │ │ │ ACCEPTANCE │ │ │ └──────┬───────┘ │ │ │ │ │ Human reviews ───────────┤ │ │ (web UI) │ │ │ ┌──────┴───────┐ │ │ │ DONE │ │ │ └──────────────┘ │ │ │ │ Every step: hash-chained + Ed25519 signed audit trail │ │ │ └─────────────────────────────────────────────────────────────────┘

Objective-Native, Not Task-BasedNo story points. No velocity charts. No capacity planning. Agents decompose objectives into tasks themselves—you manage outcomes, not effort.

Immutable Audit TrailEvery state change produces a hash-chained, Ed25519-signed audit record. Know exactly what the agent planned, what it changed, and when.

Native MCP IntegrationAgents connect via the Model Context Protocol—no custom API clients needed. Works with any MCP-compatible agent.

Multi-Agent SupportClaude Code, Cursor, Codex, Factory, Amp—if it speaks MCP, it can work from your Planwright board.

Context FilesPush CLAUDE.md, architecture docs, and specs to Planwright. Agents read them before starting work.

- Getting Started
-
Agent Setup Guides
-
Writing Better Objectives
-
API Reference

- SampleCLAUDE.mdfiles for different project types
- Example objective structures
- Context file templates

Planwright's MCP server is hosted and managed—no self-hosting required.

Authentication is handled via OAuth 2.1 with Dynamic Client Registration (RFC 7591). Your agent opens a browser for GitHub login on first connection.

For CI/CD and headless environments, generate a static token inSettings → MCP Tokens.

Planwright exposes 30 MCP tools for agent orchestration:

- Documentation
-
GitHub Discussions
-
Report a Bug

Planwright is a commercial product. The MCP integration examples in this repository are provided under the MIT License.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Official MCP server for Buildable AI-powered development platform. Enables AI assistants to manage tasks, track progress, get project context, and collaborate with humans on software projects.

A planning and orchestration system for AI-driven software development.

Project management inside every AI coding tool — plans what's next, tracks every decision, stops drift.

The issue tracker AI coding agents pull work from: atomic claims, dependency-aware dispatch, leases, and cross-runtime handoffs. Remote MCP, 33 tools.

Assists AI developers with requirement clarification, module design, and technical architecture.

Interact with the CODING DevOps platform for managing projects and work items.

An MCP server for initial app planning and creating a good starting point for an app.

A development management tool for project planning, task management, and development workflows.

Access DevRev's APIs to manage work items, parts, search, and user information.

An AI-powered server that facilitates feature discussions between developers and AI, acting as a lead developer to guide implementation and architectural decisions.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.