Skip to main content

File-backed MCP server for hierarchical project management (Projects → Epics → Features → Tasks)

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Trellis MCP

File-backed MCP server for hierarchical project management (Projects → Epics → Features → Tasks).

Overview

Trellis MCP implements the "Trellis MCP v 1.0" specification, providing a structured approach to project planning and task management. The server stores all state as Markdown files with YAML front-matter in a nested tree structure:

planning/projects/P-…/epics/E-…/features/F-…/tasks-open/T-….md

Installation

Install the package in development mode:

uv pip install -e .

Quick Start

1 · Zero‑install (run directly from PyPI)

# 1) install uv once
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2) run the server (STDIO transport)
uvx task-trellis-mcp serve
# 3) optional – HTTP transport on port 8545
uvx task-trellis-mcp serve --http 0.0.0.0:8545

2 · Zero‑install from GitHub

uvx --from git+https://github.com/langadventurellc/trellis-mcp.git task-trellis-mcp serve

Add --http to expose HTTP.

3 · Local development workflow (editable clone)

  1. Initialize a new planning structure:

    uv run task-trellis-mcp init
    
  2. Start the MCP server:

    # STDIO transport (default)
    uv run task-trellis-mcp serve
    
    # HTTP transport
    uv run task-trellis-mcp serve --http localhost:8000
    
  3. Create objects with priority fields:

    # Task with high priority
    kind: task
    id: T-setup-auth
    title: Set up authentication system
    priority: high
    status: open
    
    # Feature with normal priority (default)
    kind: feature  
    id: F-user-management
    title: User management system
    priority: normal
    status: open
    
  4. Test RPC methods with mcp-inspector:

    # Start mcp-inspector to test your server
    npx @modelcontextprotocol/inspector node -e "require('child_process').spawn('task-trellis-mcp', ['serve'], {stdio: 'inherit'})"
    
    # Or test with CLI mode to call getNextReviewableTask
    npx @modelcontextprotocol/inspector --cli task-trellis-mcp serve --method tools/call --tool-name getNextReviewableTask --tool-arg projectRoot=.
    

    Example output when reviewable task found:

    {
      "task": {
        "id": "implement-auth",
        "title": "Implement authentication system", 
        "status": "review",
        "priority": "high",
        "parent": "F-user-management",
        "file_path": "./planning/projects/P-app/epics/E-auth/features/F-user-management/tasks-open/T-implement-auth.md",
        "created": "2025-01-15T10:00:00Z",
        "updated": "2025-01-15T14:30:00Z"
      }
    }
    

    Example output when no reviewable tasks exist:

    {
      "task": null
    }
    
  5. Delete objects with cascade deletion:

    # Delete a task (no children to cascade)
    task-trellis-mcp delete task T-001
    
    # Delete a feature with confirmation prompt
    task-trellis-mcp delete feature F-user-management
    # Output: ⚠️  Delete Feature F-user-management and 5 descendants? [y/N]
    
    # Delete an epic and all its children
    task-trellis-mcp delete epic E-auth
    # Output: ⚠️  Delete Epic E-auth and 12 descendants? [y/N]
    
    # Force delete even if children have protected status (in-progress/review)
    task-trellis-mcp delete project P-001 --force
    

    Example output after successful deletion:

    ✓ Deleted epic E-auth
      Cascade deleted 12 items:
        - planning/projects/P-001/epics/E-auth/epic.md
        - planning/projects/P-001/epics/E-auth/features/F-login/feature.md
        - planning/projects/P-001/epics/E-auth/features/F-login/tasks-open/T-login-form.md
        - planning/projects/P-001/epics/E-auth/features/F-login/tasks-done/2025-01-15T10:30:00-T-setup-db.md
        - ... (and 8 more files)
    
  6. Run from test.pypi.org:

uvx \
  --prerelease allow \
  --index-url https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple/ \
  task-trellis-mcp==1.0.0rc1 serve
claude mcp add task-trellis-test \
  -- uvx --prerelease allow \
         --index-url https://test.pypi.org/simple/ \
         --extra-index-url https://pypi.org/simple/ \
         task-trellis-mcp==1.0.0rc1 serve
{
  "mcpServers": {
    "trellis-test": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--prerelease", "allow",
        "--index-url", "https://test.pypi.org/simple/",
        "--extra-index-url", "https://pypi.org/simple/",
        "task-trellis-mcp==1.0.0rc1",
        "serve"
      ]
    }
  }
}

Requirements

  • Python 3.12+
  • Click >= 8.1
  • FastMCP >= 0.7

Development

Install development dependencies:

uv pip install -r requirements.dev.txt
pre-commit install

Run quality checks:

pre-commit run --all-files
pytest -q

License

MIT License - See LICENSE file for details.

Repository

https://github.com/langadventurellc/trellis-mcp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

task_trellis_mcp-1.0.2rc2.tar.gz (271.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

task_trellis_mcp-1.0.2rc2-py3-none-any.whl (89.3 kB view details)

Uploaded Python 3

File details

Details for the file task_trellis_mcp-1.0.2rc2.tar.gz.

File metadata

  • Download URL: task_trellis_mcp-1.0.2rc2.tar.gz
  • Upload date:
  • Size: 271.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for task_trellis_mcp-1.0.2rc2.tar.gz
Algorithm Hash digest
SHA256 c4fafc10a3feb2f13827d0108f2cd25a5ceeefba8d2b34732c526e0a876daef0
MD5 1e8462883d02d3c70e44b072229ac965
BLAKE2b-256 a257e219d66696d83634b9a12cd02079e42fb0ee728b0a8489aaf2ab61a89b5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for task_trellis_mcp-1.0.2rc2.tar.gz:

Publisher: pypi.yml on langadventurellc/trellis-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file task_trellis_mcp-1.0.2rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for task_trellis_mcp-1.0.2rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 593ee0e02f562db5889441237639ee87d264cfac5c942977e7625eca2568a8ab
MD5 0908009da62ce8665b11d0cf80456547
BLAKE2b-256 9a489ec7c16a8f241e4dbd2e87668f018bd2534517269a7cfc75e23f3365f1f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for task_trellis_mcp-1.0.2rc2-py3-none-any.whl:

Publisher: pypi.yml on langadventurellc/trellis-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page