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.1rc9.tar.gz (66.8 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.1rc9-py3-none-any.whl (89.3 kB view details)

Uploaded Python 3

File details

Details for the file task_trellis_mcp-1.0.1rc9.tar.gz.

File metadata

  • Download URL: task_trellis_mcp-1.0.1rc9.tar.gz
  • Upload date:
  • Size: 66.8 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.1rc9.tar.gz
Algorithm Hash digest
SHA256 f2466359b1c7237e8910bd899f87616722d8e36a7300f02ad1c3a378cad89170
MD5 2bc9e1bb28b3bdf0c7926bdcfd9d0621
BLAKE2b-256 1b9ab998f939293488d0073624b8618870f89b996531462a209cfaef88dca6b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for task_trellis_mcp-1.0.1rc9.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.1rc9-py3-none-any.whl.

File metadata

File hashes

Hashes for task_trellis_mcp-1.0.1rc9-py3-none-any.whl
Algorithm Hash digest
SHA256 c6b04888ddb288f98e79ab1dbc338d4e07299a5d1d8ae2895c3d61396a64b349
MD5 9d7fd35a32dd0a6eafb74763bd29e867
BLAKE2b-256 0b8dbcf28e18273f7611a14a56e2eecba9e075d1de4c15a268f0ee9047f8d6c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for task_trellis_mcp-1.0.1rc9-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