loading…
Search for a command to run...
loading…
Enables AI agents to manage projects, epics, and tasks with atomic locking, real-time dashboard, and multi-agent coordination.
Enables AI agents to manage projects, epics, and tasks with atomic locking, real-time dashboard, and multi-agent coordination.
PyPI version Python 3.9+ License: MIT Code style: black
The easiest way to get started with Claude Code:
# Add the plugin marketplace
/plugin marketplace add https://github.com/Commands-com/pm.git
# Install the plugin
/plugin install pm
# Restart Claude Code - you're ready to go!
This automatically installs:
uvx)/pm:* slash commandspip install project-manager-mcp
# or
uvx project-manager-mcp
Claude Code:
claude mcp add project-manager -- uvx project-manager-mcp
Codex:
[mcp_servers.project-manager-mcp]
command = "uvx"
args = ["project-manager-mcp"]
Gemini:
"mcpServers": {
"project-manager": {
"type": "stdio",
"command": "uvx",
"args": ["project-manager-mcp"],
"env": {}
}
}
project-manager-mcp install-claude-assets --target-dir ~/my-project
A comprehensive project management system with Model Context Protocol (MCP) support, enabling AI agents to manage projects, epics, and tasks through both programmatic interfaces and a web dashboard.
PM Dashboard includes an auto-activation system that ensures Claude actually uses skills and enforces quality standards:
Four skills automatically activate based on what you're working on:
ra-methodology - Response Awareness methodology enforcement
pm-dashboard-dev - Development patterns and architecture
src/task_manager/, adding MCP tools, writing testsknowledge-management - Capture hard-won insights
task-locking - Atomic locking patterns
Three hooks ensure quality and consistency:
UserPromptSubmit - Analyzes prompts BEFORE Claude sees them
Post-Tool-Use - Tracks file edits during work
Stop Event - Runs after Claude finishes responding
mypy, black, pytest on modified filesUser asks: "Create a task with complexity 7"
↓
UserPromptSubmit Hook matches: ra-methodology skill
↓
Injects: "🎯 Use ra-methodology skill"
↓
Claude sees prompt with skill reminder
↓
ra-methodology skill automatically loads
↓
Claude follows RA methodology patterns
↓
Stop Hook checks: RA tags added? Tests passing?
Before Skills + Hooks:
After Skills + Hooks:
See skills/ and hooks/ directories for implementation details.
# Install from source (development)
pip install -e .
# Or install development dependencies
pip install -e .[dev]
# Run directly with uvx (no installation needed)
uvx --from . project-manager-mcp
# Start with default configuration (dashboard on :8080, MCP over stdio)
project-manager-mcp
# Custom port and options
project-manager-mcp --port 9000 --no-browser
# Import a project on startup
project-manager-mcp --project examples/simple-project.yaml
# MCP over stdio (default; for shell integration)
project-manager-mcp --mcp-transport stdio
# Add RA tags with automatic context detection
python -m task_manager.cli add-ra-tag "#COMPLETION_DRIVE_IMPL: Assuming user validation upstream" --task-id 123
# Install Claude agents and commands to your project
project-manager-mcp install-claude-assets --target-dir ~/my-project
After startup, access the dashboard at http://localhost:8080 (or your chosen port).
Connect MCP clients to interact programmatically:
# Stdio transport (default)
# Connect via stdin/stdout
# SSE transport (optional)
project-manager-mcp --mcp-transport sse
# Connect to http://localhost:8081/sse
# Using uvx for MCP integration
uvx --from . project-manager-mcp --mcp-transport stdio
uvx --from . project-manager-mcp --mcp-transport sse --port 9000
task_manager.cli): Zero-config server coordinationtask_manager.api): REST endpoints and WebSocket broadcastingtask_manager.mcp_server): AI agent tool integrationtask_manager.database): SQLite with atomic lockingtask_manager.tools): GetAvailableTasks, AcquireTaskLock, UpdateTaskStatus, ReleaseTaskLock, AddRATagtask_manager.context_utils): Automatic file, git, and symbol context detectionProjects (top-level containers)
├── Epics (high-level initiatives)
├── Tasks (specific work items)
Each task supports:
Two patterns are supported:
# Automatically acquires a short-lived lock if unlocked, updates status, then releases.
mcp_client.call_tool("update_task_status", {
"task_id": "123",
"status": "DONE", # UI vocabulary also accepted
"agent_id": "agent-1"
})
# Acquire exclusive lock on task (status moves to IN_PROGRESS)
mcp_client.call_tool("acquire_task_lock", {
"task_id": "123",
"agent_id": "agent-1",
"timeout": 300
})
# Perform work...
# Update status and auto-release on DONE
mcp_client.call_tool("update_task_status", {
"task_id": "123",
"status": "DONE",
"agent_id": "agent-1"
})
WebSocket events keep all clients synchronized:
task.status_changed - Task status updatestask.locked - Task lock acquisitiontask.unlocked - Task lock releaseDefine projects in YAML and import on startup:
projects:
- name: "User Management System"
description: "Complete user lifecycle management"
epics:
- name: "User Authentication"
status: "ACTIVE"
tasks:
- name: "Create registration form"
status: "TODO"
- name: "Implement login validation"
status: "TODO"
get_available_tasksacquire_task_lock update_task_status--port PORT: Dashboard server port (default: 8080)--mcp-transport {stdio|sse|none}: MCP transport mode (default: stdio)--project PATH: Import project YAML on startup--no-browser: Skip automatic browser launch--host HOST: Server bind address (default: 127.0.0.1)--db-path PATH: Database file location (default: project_manager.db)--verbose: Enable debug loggingInstall Claude Code agents and commands to your projects:
# Install both agents and commands to a project
project-manager-mcp install-claude-assets --target-dir ~/my-project
# Install with overwrite protection
project-manager-mcp install-claude-assets --target-dir ~/my-project --force
# Install only agents
project-manager-mcp install-claude-assets --target-dir ~/my-project --agents-only
# Install only commands
project-manager-mcp install-claude-assets --target-dir ~/my-project --commands-only
# Verbose output showing all installed files
project-manager-mcp install-claude-assets --target-dir ~/my-project --verbose
# Alternative standalone command
pm-install-claude-assets --target-dir ~/my-project
This creates a .claude/ directory in your target location with:
.claude/agents/): Specialized agents for adaptive assessment, planning review, task execution, and verification.claude/commands/pm/): Project management commands for task workflow, epic management, and status trackingDATABASE_PATH: Override default database locationDEBUG: Enable verbose loggingPort already in use
# Use alternative ports
project-manager-mcp --port 9000
# Check what's using the port
lsof -i :8080
Database locked errors
# Check for competing processes
ps aux | grep project-manager-mcp
# Remove database if corrupted
rm project_manager.db
WebSocket connection refused
# Verify server is running
curl http://localhost:8080/healthz
# Check WebSocket endpoint
curl -H "Upgrade: websocket" http://localhost:8080/ws/updates
MCP client connection issues
# Test SSE endpoint (when using --mcp-transport sse)
curl http://localhost:8081/sse
# For stdio mode, verify no conflicting processes
project-manager-mcp --mcp-transport stdio --verbose
This project is licensed under the MIT License - see the LICENSE file for details.
You are free to use, modify, and distribute this software for any purpose, including commercial use.
We welcome contributions! Please see CONTRIBUTING.md for:
For detailed architecture and development information, see Development Guide.
Выполни в терминале:
claude mcp add project-manager-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.