Skip to main content

MCP server exposing the AI Task Board to any MCP-capable AI agent

Project description

AI Task Board — MCP Server

Exposes the board to any MCP-capable AI agent (Claude Code/Desktop, Cursor, Cline, Windsurf, or a custom client — MCP is model-agnostic) as 8 typed tools mapped 1:1 onto the Board REST API. It is a thin client: it holds one scoped API key (one actor) and forwards calls. See the tool contract in docs/api/mcp-tools.md and per-client wiring + behavioral rules in docs/INTEGRATION.md.

Tools

list_projects · get_board · list_tasks · get_task (read) · claim_task · create_task · update_task (write) · add_report (report)

Conflict handling baked in:

  • claim_task on a contested task returns who holds it and for how long (never steals it).
  • update_task on a stale expected_version returns a version_conflict with advice to re-read and retry (never overwrites a human's edit).

Install & run

cd mcp-server
uv venv --python 3.14 .venv
uv pip install --python .venv -e ".[dev]"

export ATB_API_BASE_URL="http://127.0.0.1:8077"   # the backend
export ATB_API_KEY="datb_danylo_full"             # this agent's scoped key (= an actor)
export ATB_PROJECT_ID="<project-id>"              # optional default project
.venv/bin/python -m atb_mcp.server                # speaks MCP over stdio

Connect to an agent

Any MCP client uses the same command + args + env (see docs/INTEGRATION.md for Claude Desktop, Cursor, Windsurf, Cline, and custom clients). Claude Code example:

claude mcp add ai-task-board \
  --env ATB_API_BASE_URL=http://127.0.0.1:8077 \
  --env ATB_API_KEY=datb_danylo_full \
  --env ATB_PROJECT_ID=<project-id> \
  -- /media/work/GitHub/ai-task-board/mcp-server/.venv/bin/python -m atb_mcp.server

Or add to a .mcp.json / claude_desktop_config.json:

{
  "mcpServers": {
    "ai-task-board": {
      "command": "/media/work/GitHub/ai-task-board/mcp-server/.venv/bin/python",
      "args": ["-m", "atb_mcp.server"],
      "env": {
        "ATB_API_BASE_URL": "http://127.0.0.1:8077",
        "ATB_API_KEY": "datb_danylo_full",
        "ATB_PROJECT_ID": "<project-id>"
      }
    }
  }
}

Pair it with the behavioral skill in ../skill/ so the agent knows how to run the board (claim before working, one report per step, respect priorities and other actors' claims).

Config (env)

Var Default Meaning
ATB_API_BASE_URL http://127.0.0.1:8077 backend base URL
ATB_API_KEY scoped key = the agent's actor identity
ATB_PROJECT_ID default project when a tool omits project_id
ATB_TIMEOUT 15 HTTP timeout (s)

Tests

.venv/bin/python -m pytest

Spins up the real backend (via backend/.venv) as a subprocess and exercises all 8 tools end-to-end, including the claim-conflict and version-conflict paths.

Verify end-to-end (manual script)

With a seeded backend already running:

ATB_API_BASE_URL=http://127.0.0.1:8077 PYTHONPATH=. \
  .venv/bin/python scripts/verify_mcp.py

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

ai_task_board_mcp-0.1.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

ai_task_board_mcp-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file ai_task_board_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ai_task_board_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.9

File hashes

Hashes for ai_task_board_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3e7a0046d71c9f9c6e42afa3864010d423a14a770fc21e1ed37dbba79512ec1c
MD5 c22a5a6a97d22564b6d8e592207e0485
BLAKE2b-256 6815a08c147472e04fd68be9bb57ba9dc60af6e1f44ff9d3f7ac2310e0d4decb

See more details on using hashes here.

File details

Details for the file ai_task_board_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_task_board_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7376e35bc1186395a4554f943b08647cef453ee89681c56a1897c2e8fa22066f
MD5 51607c71cfb414c2a8db0a47c92ca279
BLAKE2b-256 340f448884c67b7a06fb7f3394e840001cfc7b986b061c5a9ad613d556a4ac29

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