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

Uploaded Python 3

File details

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

File metadata

  • Download URL: task_trellis_mcp-1.0.1rc10.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.1rc10.tar.gz
Algorithm Hash digest
SHA256 374ef09a68bc817b403fa107d7dc22e9eba9ddfc13f132b2458d8ffed3f7fe67
MD5 5a4e0f6708562afe9417d8d14554a93c
BLAKE2b-256 519c5dda3387e5c6d50aecc18c8889546a2bc8467a8dcc412b7555334ec95560

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for task_trellis_mcp-1.0.1rc10-py3-none-any.whl
Algorithm Hash digest
SHA256 9f2ed03e4106925f0d33937fd9bc7e2eae72e059b076eff291b387771b516a68
MD5 47f5be561c2602f538c69d76b1c3edfc
BLAKE2b-256 3398fbd452389ba0564455eacb07deecf5c1b4f8498405a6628c4c088c63ec25

See more details on using hashes here.

Provenance

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