Skip to main content

MCP server for Taskdog - enables Claude Desktop integration

Project description

taskdog-mcp

MCP (Model Context Protocol) server for Taskdog, enabling Claude Desktop and other MCP-compatible AI clients to interact with your task management system.

Features

  • Task Management: Create, read, update, delete tasks via natural language
  • Task Lifecycle: Start, complete, pause, cancel, reopen tasks
  • Task Decomposition: AI-assisted breakdown of large tasks into subtasks
  • Queries: Get statistics, executable tasks, tag statistics

Installation

# From the taskdog workspace root
make install-mcp

# Or install globally
uv tool install taskdog-mcp

Configuration

Create ~/.config/taskdog/mcp.toml:

[api]
host = "127.0.0.1"
port = 8000
api_key = ""  # Optional, for authenticated servers

[server]
name = "taskdog"
log_level = "INFO"

Environment variables override config file:

  • TASKDOG_API_HOST
  • TASKDOG_API_PORT
  • TASKDOG_API_KEY
  • TASKDOG_MCP_NAME
  • TASKDOG_MCP_LOG_LEVEL

Claude Desktop Setup

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "taskdog": {
      "command": "taskdog-mcp"
    }
  }
}

Or with uv (for development):

{
  "mcpServers": {
    "taskdog": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/taskdog/packages/taskdog-mcp",
        "run",
        "taskdog-mcp"
      ]
    }
  }
}

Available Tools

Task CRUD

  • list_tasks - List tasks with filtering
  • get_task - Get task details
  • create_task - Create a new task
  • update_task - Update task fields
  • delete_task - Delete/archive a task
  • restore_task - Restore an archived task

Lifecycle

  • start_task - Start working on a task
  • complete_task - Mark task as completed
  • pause_task - Pause a task
  • cancel_task - Cancel a task
  • reopen_task - Reopen a completed/canceled task

Queries

  • get_statistics - Get task statistics
  • get_tag_statistics - Get tag statistics
  • get_executable_tasks - Get tasks AI can work on

Decomposition & Organization

  • decompose_task - Break down a task into subtasks
  • add_dependency - Add dependency between tasks
  • remove_dependency - Remove a dependency
  • set_task_tags - Set task tags
  • update_task_notes - Update task notes
  • get_task_notes - Get task notes

Usage Examples

Ask Claude Desktop:

  • "Create a task to write unit tests for the API"
  • "Start task 42"
  • "Complete task 42"
  • "Decompose task 123 into smaller subtasks for implementing the login feature"
  • "What tasks can you execute for me?"

Requirements

  • taskdog-server must be running (default: http://127.0.0.1:8000)
  • Python 3.13+

Development

# Install in development mode
cd packages/taskdog-mcp
uv pip install -e .

# Run tests
PYTHONPATH=src uv run python -m pytest tests/ -v

Troubleshooting

"Cannot connect to API server"

Problem: MCP server can't reach taskdog-server

Solutions:

  1. Check if taskdog-server is running:

    curl http://127.0.0.1:8000/health
    
  2. Verify ~/.config/taskdog/mcp.toml has correct host/port

  3. Check if authentication is required:

    curl -H "X-Api-Key: your-key" http://127.0.0.1:8000/health
    

"Authentication failed"

Problem: API key is invalid or missing

Solutions:

  1. Ensure api_key in mcp.toml matches a key in server.toml
  2. Check that auth is enabled on server ([auth] enabled = true)

Claude Desktop doesn't see taskdog tools

Problem: MCP server not properly configured

Solutions:

  1. Verify claude_desktop_config.json has correct path
  2. Restart Claude Desktop after config changes
  3. Check logs: ~/Library/Logs/Claude/mcp*.log (macOS)

Related Packages

License

MIT

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

taskdog_mcp-0.18.1.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

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

taskdog_mcp-0.18.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file taskdog_mcp-0.18.1.tar.gz.

File metadata

  • Download URL: taskdog_mcp-0.18.1.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for taskdog_mcp-0.18.1.tar.gz
Algorithm Hash digest
SHA256 2f52fef539842c6c6fa5d790aa0943c411f324bc90c853c87c54c012fef72dfd
MD5 a5dc3039920b2172bbff8187b743e1a0
BLAKE2b-256 0cb0eb4501e3b2a0b70daebf7113940a92ee505b03be34f35a368e78bc178255

See more details on using hashes here.

File details

Details for the file taskdog_mcp-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: taskdog_mcp-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for taskdog_mcp-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d86f9e7f37757a6a53df961bb40fe30598d17e493e2e7c0dc24f14fd0ba6706
MD5 6498b32f160306057c604f249b5f3181
BLAKE2b-256 577060dfda587166d9fe119f637cf99cdf21251ad26b2cb8a9123b9b6c15ea8b

See more details on using hashes here.

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