Exarp
MCP Server for Project Management Automation
Install
🚨 For Development: This project uses uv for all package management. See .cursorrules for details.
Using uv (Recommended - Faster):
# For end users installing from PyPI
uv pip install exarp
# For developers working on this repo
uv sync
Using pip (Fallback - Not recommended for development):
pip install exarp
Quick Start
# Run the MCP server
exarp
# Or use aliases
pma
python -m project_management_automation.server
MCP Client Configuration
Add to your MCP client config (Cursor, Claude Desktop, VS Code):
{
"mcpServers": {
"exarp": {
"command": "/path/to/project-management-automation/exarp-uvx-wrapper.sh",
"args": ["--mcp"]
}
}
}
Recommended: Use exarp-uvx-wrapper.sh which automatically detects uvx location across platforms (Ubuntu, macOS Intel/Apple Silicon).
Alternative: If uvx is in your PATH, use directly:
{
"mcpServers": {
"exarp": {
"command": "uvx",
"args": ["exarp", "--mcp"]
}
}
}
See UVX Location Guide for detailed platform-specific instructions.
Development
Keeping MCP Features in Sync
This project supports both FastMCP and stdio server interfaces. When adding tools, resources, or prompts, you must register them in both systems.
📖 See MCP Sync Guide for complete instructions.
Quick check:
uv run python scripts/verify_mcp_sync.py
Features
🏥 Project Health
| Tool | Description |
|---|---|
server_status |
Server status, version, tools count |
project_scorecard |
Comprehensive health metrics (codebase, tests, tasks, docs, security) |
project_overview |
One-page summary (text, markdown, HTML, slides) |
📚 Documentation
| Tool | Description |
|---|---|
check_documentation_health |
Analyze docs, find broken links, validate formatting |
add_external_tool_hints |
Add Context7 hints to documentation |
✅ Task Management
| Tool | Description |
|---|---|
analyze_todo2_alignment |
Check task alignment with PROJECT_GOALS.md |
detect_duplicate_tasks |
Find and merge duplicate tasks |
consolidate_tags |
Standardize task tags |
task_hierarchy_analyzer |
Recommend task hierarchies |
batch_approve_tasks |
Batch approve tasks without clarification needed |
sync_todo_tasks |
Sync between TODO table and Todo2 |
🔒 Security
| Tool | Description |
|---|---|
scan_dependency_security |
Scan Python/Rust/npm for vulnerabilities |
🤖 Automation
| Tool | Description |
|---|---|
run_daily_automation |
Daily maintenance (docs, alignment, duplicates) |
run_nightly_task_automation |
Execute background tasks in parallel |
sprint_automation |
Full sprint with subtask extraction |
find_automation_opportunities |
Discover automation candidates |
🔧 CI/CD & Git
| Tool | Description |
|---|---|
validate_ci_cd_workflow |
Validate GitHub Actions workflows |
setup_git_hooks |
Configure pre-commit/pre-push hooks |
setup_pattern_triggers |
File/git/task pattern automation |
check_working_copy_health |
Git status across agents |
🧪 Testing
| Tool | Description |
|---|---|
run_tests |
Execute pytest/unittest/ctest |
analyze_test_coverage |
Coverage reports and gap analysis |
ZSH Plugin
For shell integration with context-aware project health:
# Add to ~/.zshrc
source /path/to/exarp.plugin.zsh
# Commands
xl # Quick context (no Python needed)
xc # Full context with score
xs # Project scorecard
xo # Project overview
xt # List pending tasks
xp # Scan for projects
motd # Daily wisdom
See shell/exarp.plugin.zsh for full documentation.
Daily Wisdom
Exarp includes optional daily wisdom quotes based on project health:
# Configure source
export EXARP_WISDOM_SOURCE=stoic # or: bofh, tao, bible, murphy, shakespeare, sefaria
# Disable
export EXARP_WISDOM_DISABLED=1
Man Pages
man exarp # MCP server documentation
man exarp-zsh # ZSH plugin documentation
Requirements
- Python 3.9+
- FastMCP 2.0+
- Pydantic 2.0+
Links
- PyPI: https://pypi.org/project/exarp/
- GitHub: https://github.com/davidl71/project-management-automation
- Issues: https://github.com/davidl71/project-management-automation/issues
License
MIT License - see LICENSE
Attributions
This project includes features inspired by third-party projects:
- Git-Inspired Task Management: Concepts inspired by GitTask (GPL-3.0). See ATTRIBUTIONS.md for details.
All implementations are original code. No third-party code was copied.
Metadata
Release files for exarp 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| exarp-0.2.2.tar.gz | 487.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| exarp-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / exarp-0.2.2.tar.gz
| Download URL | exarp-0.2.2.tar.gz |
|---|---|
| Size | 487.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf23fb1da3bf12aaa51d0dc8c8f1f42be23088206d6290d11d74fbfb20826e57
|
|
BLAKE2b-256 checksum How to use checksums |
d2576f4fb7aecc7b5aa2592638ebbf9eb4a14f78452b72773ba9216d5632911d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / exarp-0.2.2-py3-none-any.whl
| Download URL | exarp-0.2.2-py3-none-any.whl |
|---|---|
| Size | 581.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22222b5205cb7c91c2af510e7f717dd8849e3c6dc96003a74e5439c734c6ed8b
|
|
BLAKE2b-256 checksum How to use checksums |
1b9792970035166bfde01b9a4025b5a8d321a62b6a175d6487c3c86a64283ca9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Security for exarp 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.