Transform project ideas into paint-by-numbers development plans with phases, tasks, and subtasks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a lesson learned from verifier feedback. Lessons are stored in KV and used to improve future plan generation.
How it was fixed - the solution applied
What went wrong - the problem observed
Pattern to watch for - a short identifier like 'Missing error handling for empty input'
Why it happened - the underlying cause
Severity: critical (must fix), warning (should fix), info (nice to know)
Project types this applies to (e.g., ['cli', 'api']). Empty means all types.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a lesson learned from verifier feedback. Lessons are stored in KV and used to improve future plan generation.
| Argument | Type | Description |
|---|---|---|
| fix* | string | How it was fixed - the solution applied |
| issue* | string | What went wrong - the problem observed |
| pattern* | string | Pattern to watch for - a short identifier like 'Missing error handling for empty input' |
| severity | string | Severity: critical (must fix), warning (should fix), info (nice to know) |
| root_cause* | string | Why it happened - the underlying cause |
| project_types | array | Project types this applies to (e.g., ['cli', 'api']). Empty means all types. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"issue",
"root_cause",
"fix",
"pattern"
],
"properties": {
"fix": {
"type": "string",
"description": "How it was fixed - the solution applied"
},
"issue": {
"type": "string",
"description": "What went wrong - the problem observed"
},
"pattern": {
"type": "string",
"description": "Pattern to watch for - a short identifier like 'Missing error handling for empty input'"
},
"severity": {
"enum": [
"critical",
"warning",
"info"
],
"type": "string",
"default": "warning",
"description": "Severity: critical (must fix), warning (should fix), info (nice to know)"
},
"root_cause": {
"type": "string",
"description": "Why it happened - the underlying cause"
},
"project_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Project types this applies to (e.g., ['cli', 'api']). Empty means all types."
}
},
"additionalProperties": false
}Archive or unarchive a lesson. Archived lessons are preserved but excluded from plan generation. Use this to retire old lessons without deleting them.
| Argument | Type | Description |
|---|---|---|
| archive | boolean | true to archive, false to unarchive |
| lesson_id* | string | The lesson ID to archive/unarchive (e.g., 'lesson_1234567890_abc123') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lesson_id"
],
"properties": {
"archive": {
"type": "boolean",
"default": true,
"description": "true to archive, false to unarchive"
},
"lesson_id": {
"type": "string",
"description": "The lesson ID to archive/unarchive (e.g., 'lesson_1234567890_abc123')"
}
},
"additionalProperties": false
}Create a PROJECT_BRIEF.md after interviewing the user. This captures their requirements in a structured format.
| Argument | Type | Description |
|---|---|---|
| goal* | string | One-sentence project description |
| name* | string | Project name |
| features* | array | Must-have MVP features |
| timeline | string | Project timeline (e.g., '2 weeks') |
| team_size | number | Number of developers (default: 1) |
| tech_stack | object | Technology preferences |
| constraints | array | Constraints/requirements |
| nice_to_have | array | Nice-to-have features for v2 |
| project_type* | string | Project type: cli, web_app, api, or library |
| target_users* | array |
Delete a lesson by ID or pattern. Use this to remove outdated, incorrect, or duplicate lessons.
| Argument | Type | Description |
|---|---|---|
| confirm | boolean | Set to true to actually delete. Without this, only shows what would be deleted. |
| pattern | string | Delete lessons matching this pattern (partial match) |
| lesson_id | string | The lesson ID to delete (e.g., 'lesson_1234567890_abc123') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"confirm": {
"type": "boolean",
"default": false,
"description": "Set to true to actually delete. Without this, only shows what would be deleted."
},
"pattern": {
"type": "string",
"description": "Delete lessons matching this pattern (partial match)"
},
"lesson_id": {
"type": "string",
"description": "The lesson ID to delete (e.g., 'lesson_1234567890_abc123')"
}
},
"additionalProperties": false
}Export a DEVELOPMENT_PLAN.md as ReactFlow-compatible JSON for visual workflow tools like Sim.ai. Returns nodes, edges, and metadata for rendering the plan as an interactive diagram.
| Argument | Type | Description |
|---|---|---|
| platform | string | Target platform format (default: reactflow) |
| plan_content* | string | Full content of DEVELOPMENT_PLAN.md |
| include_completed | boolean | Include completed subtasks in output (default: true) |
| include_success_criteria | boolean | Include success criteria in node data (default: false) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan_content"
],
"properties": {
"platform": {
"enum": [
"sim",
"n8n",
"reactflow",
"generic"
],
"type": "string",
"description": "Target platform format (default: reactflow)"
},
"plan_content": {
"type": "string",
"description": "Full content of DEVELOPMENT_PLAN.md"
},
"include_completed": {
"type": "boolean",
"description": "Include completed subtasks in output (default: true)"
},
"include_success_criteria": {
"type": "boolean",
"description": "Include success criteria in node data (default: false)"
}
},
"additionalProperties": false
}Export a DEVELOPMENT_PLAN.md as a Mermaid flowchart diagram in markdown format. Perfect for embedding in documentation or viewing in VS Code/GitHub. Save the output as workflow.md to get a visual representation of your plan.
| Argument | Type | Description |
|---|---|---|
| plan_content* | string | Full content of DEVELOPMENT_PLAN.md |
| include_completed | boolean | Include completed subtasks in output (default: true) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan_content"
],
"properties": {
"plan_content": {
"type": "string",
"description": "Full content of DEVELOPMENT_PLAN.md"
},
"include_completed": {
"type": "boolean",
"description": "Include completed subtasks in output (default: true)"
}
},
"additionalProperties": false
}Parse a verification report and extract suggested lessons. Returns pre-filled lesson data that can be reviewed and saved with devplan_add_lesson.
| Argument | Type | Description |
|---|---|---|
| project_type | string | Project type to associate with extracted lessons (e.g., 'cli', 'api') |
| report_content* | string | The full verification report markdown content |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"report_content"
],
"properties": {
"project_type": {
"type": "string",
"description": "Project type to associate with extracted lessons (e.g., 'cli', 'api')"
},
"report_content": {
"type": "string",
"description": "The full verification report markdown content"
}
},
"additionalProperties": false
}Generate a CLAUDE.md scaffold (or equivalent for other targets like .cursorrules). Use this as a starting point, then enhance it.
| Argument | Type | Description |
|---|---|---|
| target | string | Target tool (claude, cursor, aider, cline, windsurf, generic) |
| language | string | Primary language |
| brief_content* | string | PROJECT_BRIEF.md or JSON brief |
| test_coverage | number | Required coverage percentage |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brief_content"
],
"properties": {
"target": {
"enum": [
"claude",
"cursor",
"aider",
"cline",
"windsurf",
"generic"
],
"type": "string",
"default": "claude",
"description": "Target tool (claude, cursor, aider, cline, windsurf, generic)"
},
"language": {
"type": "string",
"default": "python",
"description": "Primary language"
},
"brief_content": {
"type": "string",
"description": "PROJECT_BRIEF.md or JSON brief"
},
"test_coverage": {
"type": "number",
"default": 80,
"description": "Required coverage percentage"
}
},
"additionalProperties": false
}Generate an executor agent file (.claude/agents/{project}-executor.md). This creates a specialized Haiku-powered agent for executing subtasks with full project context.
| Argument | Type | Description |
|---|---|---|
| target | string | Target tool (default: claude) |
| language | string | Primary language (python or typescript) |
| brief_content* | string | PROJECT_BRIEF.md content or JSON brief |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brief_content"
],
"properties": {
"target": {
"enum": [
"claude",
"cursor",
"aider",
"cline",
"windsurf",
"generic"
],
"type": "string",
"default": "claude",
"description": "Target tool (default: claude)"
},
"language": {
"type": "string",
"default": "python",
"description": "Primary language (python or typescript)"
},
"brief_content": {
"type": "string",
"description": "PROJECT_BRIEF.md content or JSON brief"
}
},
"additionalProperties": false
}Generate a DEVELOPMENT_PLAN.md scaffold. IMPORTANT: This outputs a SCAFFOLD, not a finished plan. REQUIRED WORKFLOW (you MUST follow this): 1. Call this tool to get the scaffold, optionally specifying target (claude, cursor, aider, cline, windsurf, generic) 2. ENHANCE the scaffold by: - Reading the project's existing codebase - Writing COMPLETE file contents for each subtask (no "Add to" instructions) - Including ALL imports in every code block - Making test fixtures self-contained in each test file - Providing exact line context for any file modifications 3. Call devplan_validate_haiku_executable to verify the plan 4. If validation fails, fix the issues and re-validate 5. ONLY present the plan to the user after validation passes The user should NEVER see the raw scaffold - only the enhanced, validated plan.
| Argument | Type | Description |
|---|---|---|
| target | string | Target AI tool/model for agent file generation (default: claude) |
| template | string | Template override |
| min_severity | string | Minimum severity of lessons to include. 'critical' = only critical, 'warning' = critical + warning, 'info' = all (default) |
| brief_content* | string | PROJECT_BRIEF.md or JSON brief |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brief_content"
],
"properties": {
"target": {
"enum": [
"claude",
"cursor",
"aider",
"cline",
"windsurf",
"generic"
],
"type": "string",
"description": "Target AI tool/model for agent file generation (default: claude)"
},
"template": {
"type": "string",
"description": "Template override"
},
"min_severity": {
"enum": [
"critical",
"warning",
"info"
],
"type": "string",
"description": "Minimum severity of lessons to include. 'critical' = only critical, 'warning' = critical + warning, 'info' = all (default)"
},
"brief_content": {
"type": "string",
"description": "PROJECT_BRIEF.md or JSON brief"
}
},
"additionalProperties": false
}Generate a verifier agent file (.claude/agents/{project}-verifier.md). This creates a Sonnet-powered agent for validating completed applications against PROJECT_BRIEF.md requirements.
| Argument | Type | Description |
|---|---|---|
| target | string | Target tool (default: claude) |
| language | string | Primary language (python or typescript) |
| brief_content* | string | PROJECT_BRIEF.md content or JSON brief |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brief_content"
],
"properties": {
"target": {
"enum": [
"claude",
"cursor",
"aider",
"cline",
"windsurf",
"generic"
],
"type": "string",
"default": "claude",
"description": "Target tool (default: claude)"
},
"language": {
"type": "string",
"default": "python",
"description": "Primary language (python or typescript)"
},
"brief_content": {
"type": "string",
"description": "PROJECT_BRIEF.md content or JSON brief"
}
},
"additionalProperties": false
}Get details for a specific subtask by ID (e.g., '0.1.1'). Use during implementation to retrieve subtask requirements.
| Argument | Type | Description |
|---|---|---|
| subtask_id* | string | ID in format X.Y.Z |
| plan_content* | string | DEVELOPMENT_PLAN.md content |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan_content",
"subtask_id"
],
"properties": {
"subtask_id": {
"type": "string",
"description": "ID in format X.Y.Z"
},
"plan_content": {
"type": "string",
"description": "DEVELOPMENT_PLAN.md content"
}
},
"additionalProperties": false
}One-command kickoff to implement an entire development plan. Returns instructions for Claude Code to use the executor agent to build the project, then the verifier agent to validate it.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get interview questions to ask the user about their project. Ask these ONE AT A TIME, waiting for responses.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Convert a GitHub issue into a remediation task with subtasks. Returns markdown suitable for appending to DEVELOPMENT_PLAN.md or creating a standalone REMEDIATION_PLAN.md.
| Argument | Type | Description |
|---|---|---|
| mode | string | 'append' generates content to add to existing plan, 'standalone' creates full REMEDIATION_PLAN.md |
| language | string | Primary language (python, typescript) for appropriate test patterns |
| project_type | string | Project type for context (cli, web_app, api, library) |
| existing_plan | string | Existing DEVELOPMENT_PLAN.md content. If provided, generates task IDs that don't conflict with existing R.X phases. |
| issue_content* | string | JSON output from `gh issue view <number> --json number,title,body,labels,comments,url` |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"issue_content"
],
"properties": {
"mode": {
"enum": [
"append",
"standalone"
],
"type": "string",
"default": "standalone",
"description": "'append' generates content to add to existing plan, 'standalone' creates full REMEDIATION_PLAN.md"
},
"language": {
"type": "string",
"description": "Primary language (python, typescript) for appropriate test patterns"
},
"project_type": {
"type": "string",
"description": "Project type for context (cli, web_app, api, library)"
},
"existing_plan": {
"type": "string",
"description": "Existing DEVELOPMENT_PLAN.md content. If provided, generates task IDs that don't conflict with existing R.X phases."
},
"issue_content": {
"type": "string",
"description": "JSON output from `gh issue view <number> --json number,title,body,labels,comments,url`"
}
},
"additionalProperties": false
}List all lessons learned from previous projects. Optionally filter by project type or include archived lessons.
| Argument | Type | Description |
|---|---|---|
| project_type | string | Filter lessons for a specific project type (e.g., 'cli', 'api', 'web_app') |
| include_archived | boolean | Include archived lessons in the list |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"project_type": {
"type": "string",
"description": "Filter lessons for a specific project type (e.g., 'cli', 'api', 'web_app')"
},
"include_archived": {
"type": "boolean",
"default": false,
"description": "Include archived lessons in the list"
}
},
"additionalProperties": false
}List available project templates (cli, web_app, api, library). Use this to show the user what project types are supported.
| Argument | Type | Description |
|---|---|---|
| project_type | string | Filter by type |
| response_format | string | Output format |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"project_type": {
"type": "string",
"description": "Filter by type"
},
"response_format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Output format"
}
},
"additionalProperties": false
}Parse an existing PROJECT_BRIEF.md file to extract structured data. Use this if a brief already exists.
| Argument | Type | Description |
|---|---|---|
| content* | string | Full PROJECT_BRIEF.md content |
| response_format | string | Output format |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"content"
],
"properties": {
"content": {
"type": "string",
"description": "Full PROJECT_BRIEF.md content"
},
"response_format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Output format"
}
},
"additionalProperties": false
}Parse and analyze a GitHub issue to extract structured remediation requirements. Use with: `gh issue view <number> --json number,title,body,labels,comments,url`
| Argument | Type | Description |
|---|---|---|
| issue_content* | string | JSON output from `gh issue view <number> --json number,title,body,labels,comments,url` |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"issue_content"
],
"properties": {
"issue_content": {
"type": "string",
"description": "JSON output from `gh issue view <number> --json number,title,body,labels,comments,url`"
}
},
"additionalProperties": false
}Get a progress summary for a development plan. Shows completion percentage, phase-by-phase progress, next actionable subtask, and recently completed work.
| Argument | Type | Description |
|---|---|---|
| plan_content* | string | DEVELOPMENT_PLAN.md content |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan_content"
],
"properties": {
"plan_content": {
"type": "string",
"description": "DEVELOPMENT_PLAN.md content"
}
},
"additionalProperties": false
}START HERE: Initialize a new project using the DevPlan methodology. This tool provides comprehensive inline instructions for building a development plan that Claude Code can execute step-by-step.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Mark a subtask as complete and add completion notes. Use after finishing a subtask to update DEVELOPMENT_PLAN.md.
| Argument | Type | Description |
|---|---|---|
| subtask_id* | string | ID to mark complete |
| plan_content* | string | Current plan content |
| completion_notes* | string | Notes about completion |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan_content",
"subtask_id",
"completion_notes"
],
"properties": {
"subtask_id": {
"type": "string",
"description": "ID to mark complete"
},
"plan_content": {
"type": "string",
"description": "Current plan content"
},
"completion_notes": {
"type": "string",
"description": "Notes about completion"
}
},
"additionalProperties": false
}View usage statistics showing how requests are distributed across users. Helps understand if usage is concentrated among few users or spread across many.
| Argument | Type | Description |
|---|---|---|
| date | string | Date to query (YYYY-MM-DD format). Defaults to today. |
| days | number | Number of days to include (1-30). Defaults to 7. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"type": "string",
"description": "Date to query (YYYY-MM-DD format). Defaults to today."
},
"days": {
"type": "number",
"description": "Number of days to include (1-30). Defaults to 7."
}
},
"additionalProperties": false
}Validate that a DEVELOPMENT_PLAN.md is Haiku-executable (can be implemented by Claude Haiku without interpretation). Returns specific errors with fix instructions. IMPORTANT: After calling devplan_generate_plan, you MUST enhance the scaffold with complete code, then call this tool to validate before presenting to the user.
| Argument | Type | Description |
|---|---|---|
| plan_content* | string | Full content of DEVELOPMENT_PLAN.md to validate |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan_content"
],
"properties": {
"plan_content": {
"type": "string",
"description": "Full content of DEVELOPMENT_PLAN.md to validate"
}
},
"additionalProperties": false
}Validate a DEVELOPMENT_PLAN.md file for required sections and structure. Use this to check if a plan is complete.
| Argument | Type | Description |
|---|---|---|
| strict | boolean | Treat warnings as errors |
| content* | string | DEVELOPMENT_PLAN.md content |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"content"
],
"properties": {
"strict": {
"type": "boolean",
"default": false,
"description": "Treat warnings as errors"
},
"content": {
"type": "string",
"description": "DEVELOPMENT_PLAN.md content"
}
},
"additionalProperties": false
}| Target user types |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"project_type",
"goal",
"target_users",
"features"
],
"properties": {
"goal": {
"type": "string",
"description": "One-sentence project description"
},
"name": {
"type": "string",
"description": "Project name"
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"description": "Must-have MVP features"
},
"timeline": {
"type": "string",
"description": "Project timeline (e.g., '2 weeks')"
},
"team_size": {
"type": "number",
"description": "Number of developers (default: 1)"
},
"tech_stack": {
"type": "object",
"properties": {
"must_use": {
"type": "array",
"items": {
"type": "string"
}
},
"cannot_use": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Technology preferences",
"additionalProperties": false
},
"constraints": {
"type": "array",
"items": {
"type": "string"
},
"description": "Constraints/requirements"
},
"nice_to_have": {
"type": "array",
"items": {
"type": "string"
},
"description": "Nice-to-have features for v2"
},
"project_type": {
"type": "string",
"description": "Project type: cli, web_app, api, or library"
},
"target_users": {
"type": "array",
"items": {
"type": "string"
},
"description": "Target user types"
}
},
"additionalProperties": false
}