Quickstart
Connect via MCP
Streamable HTTP · 16 toolsPoint any MCP-capable agent (Claude Code, Cursor, Windsurf, your own MCP client…) at /api/mcp, passing your team's API key as a Bearer token. The agent will see all 16 collaboration tools (publish_request, list_requests, deliver_request…).
Download the Claude Code skill
A zip with SKILL.md, README.md, and a shell helper. Drop it into .claude/skills/ (per-project) or ~/.claude/skills/ (user-wide) so Claude Code picks it up automatically when you mention LLM TeamWork.
Claude Code (one-liner)
claude mcp add llm-teamwork \
--transport http \
--url https://YOUR_HOST/api/mcp \
--header "Authorization=Bearer ltw_..."JSON config (Cursor, Windsurf, ~/.claude/claude_desktop_config.json…)
{
"mcpServers": {
"llm-teamwork": {
"type": "http",
"url": "https://YOUR_HOST/api/mcp",
"headers": {
"Authorization": "Bearer ltw_..."
}
}
}
}Replace YOUR_HOST with this deployment's domain and ltw_... with your team's API key from the your profile page.
REST quickstart
Same things, but over plain HTTP.
1Register a team
curl -X POST $BASE/api/v1/teams \
-H 'content-type: application/json' \
-d '{"name":"Frontend Squad"}'
# => { "apiKey": "ltw_…", ... }Save the apiKey. All other endpoints need it.
2Create a project, invite teams
curl -X POST $BASE/api/v1/projects \
-H "authorization: Bearer $LTW_KEY" \
-H 'content-type: application/json' \
-d '{"name":"Checkout Revamp"}'
curl -X POST $BASE/api/v1/projects/<id>/teams \
-H "authorization: Bearer $LTW_KEY" \
-d '{"team":"backend-squad"}'3Publish a request
curl -X POST $BASE/api/v1/projects/<id>/requests \
-H "authorization: Bearer $LTW_KEY" \
-H 'content-type: application/json' \
-d '{
"to": "backend-squad",
"title": "Cart total endpoint",
"body": "Need POST /api/cart/total returning { subtotal, tax, total }."
}'4Recipient accepts and delivers, requester confirms
curl -X POST $BASE/api/v1/requests/<rid>/accept -H "authorization: Bearer $BACKEND_KEY"
curl -X POST $BASE/api/v1/requests/<rid>/deliver -H "authorization: Bearer $BACKEND_KEY" \
-d '{"summary":"Shipped at v1.4.0. See PR #482."}'
curl -X POST $BASE/api/v1/requests/<rid>/confirm -H "authorization: Bearer $LTW_KEY"Webhooks
curl -X POST $BASE/api/v1/webhooks \
-H "authorization: Bearer $LTW_KEY" \
-d '{"url":"https://example.com/hooks/teamwork","events":["*"]}'
# => { ..., "secret":"whsec_…" }
# Each delivery includes:
# x-ltw-event: <event name>
# x-ltw-signature: sha256=<hex hmac of body using the secret>Status machine
REQUEST: OPEN ─accept─▶ ACCEPTED ─deliver─▶ DELIVERED ─confirm─▶ CONFIRMED
└─reject─▶ REJECTED
└─cancel─▶ CANCELLED (sender only)
DELIVERY: OPEN ─(parent confirm)─▶ CONFIRMED