kanbanger-mcp
v0.0.1
Published
This package provides a single MCP server implementation (unified) exposing automation operations over stdio.
Downloads
65
Readme
Tasks GMAC MCP Server (apps/mcp)
This package provides a single MCP server implementation (unified) exposing automation operations over stdio.
Prerequisites
This MCP server exposes all tool groups in one process (tasks + forgegraph).
Set the key you already use for the MCP server:
TASKS_API_KEY(required)TASKS_API_URL(optional, default:https://tasks.gmac.io)
ForgeGraph tools also use TASKS_API_KEY by default. If you need a different key, set FORGEGRAPH_API_KEY explicitly.
FORGEGRAPH_API_KEY(optional override)FORGEGRAPH_API_URL(optional, default:TASKS_API_URL/https://tasks.gmac.io)
Local Smoke Test (McpServer Mode)
- Start the MCP server:
TASKS_API_KEY=... \
FORGEGRAPH_API_URL=http://localhost:3000 \
pnpm --filter @linear-clone/mcp devYou should see a log on stderr similar to:
MCP server running on stdio (mcpserver)- Connect with an MCP client.
Recommended: MCP Inspector (if you have it available):
npx @modelcontextprotocol/inspectorThen configure it to launch the server command above (stdio).
- Verify tool discovery
- Call
tools/listand confirm all tool groups are present.
Tasks tools:
list_workspaceslist_projectsget_projectcreate_projectupdate_projectlist_tasks
ForgeGraph tools:
forgegraph_list_repositoriesforgegraph_list_revisionsforgegraph_get_revisionforgegraph_ingest_run_eventforgegraph_trigger_build
- Verify
tools/callend-to-end
list_workspaces(no args)- Pick a workspace id from the result and call
list_projects - Create a project and forge repo in one step:
{
"workspaceId": "<uuid>",
"name": "Platform Engine",
"key": "PLAT",
"createForgeRepository": true,
"forgeRepositoryName": "platform-engine",
"forgeRepositoryStorageBackend": "s3",
"forgeRepositoryStoragePrefix": "platform-engine"
}- Update a project to link an existing forge repo:
{
"projectId": "<uuid>",
"forgeRepositoryId": "<uuid>"
}- Unlink a project's forge repo:
{
"projectId": "<uuid>",
"forgeRepositoryId": null
}- Call
list_taskswith:
{
"workspaceId": "<uuid>",
"status": ["todo", "in_progress"],
"limit": 10
}Expected behavior:
- Response includes a text JSON block (
content) for backward compatibility. - Response also includes
structuredContentwith a root object envelope (e.g.{ items: [...], meta: {...} }).
Notes
- Do not log to stdout. MCP stdio uses stdout for JSON-RPC messages; use stderr for logs.
