Planer MCP Server

Planer MCP Server

An intelligent task management server that generates context-aware engineering plans using LLM-powered workflows and interactive requirement elicitation. It features persistent SQLite storage, category-based planning strategies, and automated progress tracking for software development projects.

Category
访问服务器

README

Planer MCP Server

An intelligent planning and task management MCP server built with FastMCP that provides sophisticated planning tools optimized for software engineering projects.

Features

  • 🤖 LLM-Powered Task Generation: Uses LLM sampling to generate context-aware, high-quality task breakdowns
  • 💬 Interactive Elicitation: Asks clarifying questions to ensure requirements are well-understood
  • ✅ Plan Validation: Preview and confirm plans before saving, with regeneration option
  • 📊 Progress Reporting: Real-time progress updates during plan creation
  • 🎯 Engineering-Focused: Optimized prompts for coding, debugging, system design, and feature development
  • ⏱️ Automatic Time Tracking: Track actual time via plan/task creation and completion timestamps
  • 📄 Pagination: Efficient handling of large plan lists (30 plans per page)
  • 🔍 Smart Filtering: Hide completed plans by default, focus on active work
  • 💾 Persistent Storage: SQLite database for reliable data persistence
  • 🏷️ Category-based Planning: Different planning strategies based on task categories

How It Works

When you create a new plan, the server uses an intelligent, LLM-driven workflow:

  1. 🧠 LLM Analyzes Requirements (10% progress)

    • The LLM evaluates if there's enough information
    • Determines what's missing (if anything)
    • Only asks for clarification when truly needed
    • Users are NOT bothered unnecessarily!
  2. 💬 Smart Elicitation (Conditional)

    • IF LLM needs more info → Asks specific, targeted questions
    • ELSE → Proceeds directly to task generation
    • Example: "Build REST API" might not need questions
    • Example: "Migrate system" likely needs clarification on tech stack
  3. 🤖 Generates Tasks with LLM (30-60% progress)

    • Uses LLM sampling to create context-aware tasks
    • Applies category-specific planning strategies
    • Considers dependencies and priorities
    • Generates detailed task descriptions
  4. 👀 Shows Preview & Confirms (80% progress)

    • Displays the proposed plan
    • You can: accept, request modifications, or cancel
  5. 🔁 Regenerates if Needed

    • If you request changes, LLM regenerates with your feedback
    • Iterative refinement until you're satisfied
  6. 💾 Saves to Database (95-100% progress)

    • Stores the validated, high-quality plan

Tools Available

new_plan ⭐ Enhanced with Intelligent LLM-Driven Workflow

Creates a new plan with intelligent task breakdown. The LLM decides when to ask for clarification - users are only bothered when necessary!

Smart Workflow:

  1. LLM analyzes your request (10% progress)
  2. Conditionally elicits only if LLM needs more info
  3. Generates tasks using LLM sampling (30-60% progress)
  4. Shows preview and asks for confirmation (80% progress)
  5. Regenerates if you request modifications
  6. Saves validated plan (95-100% progress)

Parameters:

  • title: Plan title (max 200 chars)
  • goal: Main goal or objective (max 500 chars)
  • category: One of: project, personal, learning, business, creative, research, maintenance
  • description (optional): Detailed description
  • additional_context (optional): Additional context for better planning

Key Features:

  • 🧠 Smart Elicitation: LLM decides when questions are needed
  • 🎯 No Unnecessary Interruptions: Only asks when truly required
  • 📊 Progress Reporting: Real-time updates (10%, 30%, 60%, 80%, 95%, 100%)
  • 📝 Comprehensive Logging: Info, warning, error, debug messages
  • 🤖 LLM-Powered: High-quality, context-aware task generation
  • 🔁 Feedback Loop: Request modifications and regenerate
  • 🛡️ Reliable: Falls back to templates if LLM fails

list_plans

List plans with pagination and filtering.

Parameters:

  • include_completed (optional, default: False): Include completed plans
  • page (optional, default: 1): Page number (30 plans per page)

get_plan

Retrieve detailed information about a specific plan.

Parameters:

  • plan_id: ID of the plan to retrieve

update_task_status

Update the status of specific tasks within a plan.

Parameters:

  • plan_id: ID of the plan containing the tasks
  • task_ids: List of task IDs to update
  • status: One of: pending, in_progress, completed, deleted
  • notes (optional): Notes about the status change

update_plan

Update existing plan by adding new tasks or changing plan info.

Parameters:

  • plan_id: ID of the plan to update
  • title (optional): New title
  • description (optional): New description
  • new_tasks (optional): List of new task titles to add
  • additional_context (optional): Additional context for the update

delete_plan

Permanently delete a plan and all its tasks from the database.

Parameters:

  • plan_id: ID of the plan to delete

Installation

For Users (with uvx)

The easiest way to use Planer MCP is with uvx:

uvx planer-mcp

Or add it to your MCP configuration (e.g., in Cursor):

{
  "mcpServers": {
    "planer": {
      "command": "uvx",
      "args": ["planer-mcp"]
    }
  }
}

For Development

cd planer-mcp

uv venv

uv pip install -e ".[dev]"

Usage

Run with uvx (Recommended for Users)

uvx planer-mcp

Run with Python Module (Development)

uv run python -m src.planer_mcp.server

Run with main.py (Development)

python main.py
# or
uv run python main.py

Configure in Cursor

For users:

{
  "mcpServers": {
    "planer": {
      "command": "uvx",
      "args": ["planer-mcp"]
    }
  }
}

For development:

{
  "mcpServers": {
    "planer": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/Projects/mcp/planer-mcp",
        "run",
        "python",
        "-m",
        "src.planer_mcp.server"
      ]
    }
  }
}

Change the --directory path to match your project location.

Development

Running Tests

make test         # Run tests
make format       # Format code
make lint         # Lint code
make type-check   # Type checking
make dev-check    # Run all checks (format, type-check, test)

Publishing to PyPI

  1. Update version in pyproject.toml
  2. Update authors and urls in pyproject.toml
  3. Commit all changes and create a git tag
  4. Build and publish:
make build          # Build package
make publish-test   # Publish to TestPyPI (for testing)
make publish        # Publish to PyPI

Or manually with uv:

uv build
uv publish

Architecture

  • src/planer_mcp/server.py - FastMCP server implementation
  • src/planer_mcp/models/schemas.py - Pydantic data models
  • src/planer_mcp/database/models.py - SQLAlchemy ORM models
  • src/planer_mcp/database/manager.py - Database operations with query builder
  • src/planer_mcp/planning/engine.py - Planning logic
  • src/planer_mcp/planning/formatter.py - Output formatting
  • src/planer_mcp/prompts/templates.py - Category-specific prompts

Categories

Project (Software Engineering)

  • Requirements analysis and specification
  • System architecture and design
  • Database schema and data modeling
  • API design and implementation
  • Frontend/backend development
  • Testing strategy and implementation
  • CI/CD setup and deployment
  • Code review and quality gates
  • Performance optimization
  • Documentation and security

Learning (Skill Development)

  • Progressive skill building
  • Hands-on coding exercises
  • Real project development
  • Code review practice
  • Testing and debugging
  • Performance optimization
  • Architecture patterns

Business (Product Development)

  • Market research and validation
  • MVP feature definition
  • Technical architecture
  • Monitoring and analytics
  • User feedback integration
  • Iterative development

Creative (Design)

  • User research and personas
  • Design system and components
  • Wireframing and prototyping
  • Accessibility considerations
  • Design-dev handoff

Research (Investigation)

  • Problem statement definition
  • Technology evaluation
  • Proof of concept development
  • Performance benchmarking
  • Documentation of findings

Maintenance (Refactoring)

  • Code audit and technical debt
  • Dependency updates and patches
  • Test coverage improvement
  • Documentation updates
  • Performance profiling

Example Usage

Creating a Plan (LLM-Driven, Smart Elicitation)

Example 1: Sufficient Information (No Elicitation)

User: Create plan for "Build REST API with FastAPI"

Server: [Progress 10%] Analyzing requirements...
Server: [Info] Sufficient information provided, generating task list...
Server: [Progress 30%] Generating tasks with LLM...
Server: [Progress 60%] Parsing generated tasks...
Server: [Info] Generated 12 tasks from LLM
Server: [Progress 80%] Validating plan...

[Plan Preview shows 12 detailed tasks]

Server: Does this plan look correct?
- Type 'yes' to save
- Type modifications to regenerate
- Type 'cancel' to abort

User: yes

Server: [Progress 100%] Plan created successfully!

Example 2: LLM Needs Clarification (Smart Elicitation)

User: Create plan for "Migrate legacy system to cloud"

Server: [Progress 10%] Analyzing requirements...
Server: [Info] LLM needs clarification: Critical tech stack info missing

To create an effective plan for 'Migrate legacy system to cloud', please provide:
1. What is the current technology stack?
2. Which cloud provider (AWS/Azure/GCP)?
3. What's the current deployment architecture?
4. What's the timeline/phased approach preference?

User: Currently on-premise Java monolith with MySQL. Moving to AWS. 
      3-month timeline, want microservices architecture.

Server: [Info] Additional context received, generating optimized task list...
Server: [Progress 30%] Generating tasks with LLM...
Server: [Info] Generated 18 tasks from LLM
...

Example 3: Request Modifications

[After plan preview]

User: Add more testing tasks and include performance benchmarks

Server: [Info] Regenerating plan with user feedback...
Server: [Info] Regenerated plan with 16 tasks
Server: [Progress 95%] Saving plan to database...

Listing Active Plans

# Only active (incomplete) plans
list_plans()

# Include completed plans
list_plans(include_completed=True)

# Pagination
list_plans(page=2)

Managing Tasks

# Mark tasks complete
update_task_status(plan_id=1, task_ids=[1, 2, 3], status="completed")

# Set tasks in progress
update_task_status(plan_id=1, task_ids=[4, 5], status="in_progress", notes="Started backend work")

Best Practices

  • All __init__.py files ONLY contain imports/exports
  • Code is in properly named files (schemas.py, manager.py, etc.)
  • SQLAlchemy query builder for all database operations
  • Type hints throughout
  • FastMCP for clean, modern MCP server implementation

Testing

uv run pytest tests/ -v

All 12 tests passing with 100% coverage of core functionality.

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选