MCP server
Connect Claude, Cursor or any MCP client to your workspace, and the full list of tools they get.
cadence. ships a Model Context Protocol server, so an AI client can operate your workspace directly — reading projects, creating tasks, updating criteria and completing phases — instead of you copying context into a chat window.
Endpoint
https://cadence.alen.world/api/mcpIt speaks streamable HTTP and is stateless — every request authenticates on its own, so there is no session to establish or keep alive. Authenticate with an Authorization: Bearer cad_live_… header. Unlike the REST API, this endpoint also accepts a ?key= query parameter, because some MCP-over-HTTP clients cannot set headers — use it only when yours cannot, since query strings are recorded in logs that headers are not.
Connecting a client
claude mcp add --transport http cadence \
https://cadence.alen.world/api/mcp \
--header "Authorization: Bearer cad_live_..."{
"mcpServers": {
"cadence": {
"type": "http",
"url": "https://cadence.alen.world/api/mcp",
"headers": {
"Authorization": "Bearer cad_live_..."
}
}
}
}Add an MCP server in Cursor's settings with the same URL and an Authorization header. Cursor uses the same JSON shape as the config file above.
For connectors that accept only a URL:
https://cadence.alen.world/api/mcp?key=cad_live_...The key is then part of the URL, so it will appear in logs and history. Prefer a header wherever the client supports one.
The Integrations page in the app shows your workspace's MCP URL with a copy button, alongside the same client snippets.
Tools
Nineteen tools, covering the read and write paths that matter.
Projects
| Tool | Does |
|---|---|
list_projects | Lists every project in the team |
get_project | One project in full, including phases and tasks |
Phases
| Tool | Does |
|---|---|
list_project_phases | Phases for a project |
get_phase | One phase, with its tasks and criteria |
create_phase | Adds a phase to a project |
update_phase | Changes name, description, status, dates or order |
complete_phase | Validates the gate, completes the phase, starts the next |
delete_phase | Removes a phase |
Tasks
| Tool | Does |
|---|---|
create_task | Adds a task to a phase |
update_task | Changes status, priority, assignee and more |
delete_task | Removes a task |
search_tasks | Finds tasks by text, status, priority or assignee |
Gate criteria
| Tool | Does |
|---|---|
list_phase_criteria | Criteria for a phase |
get_phase_criterion | One criterion |
create_phase_criterion | Adds a criterion to a phase |
update_phase_criterion | Sets its state and evidence |
delete_phase_criterion | Removes a criterion |
People and discussion
| Tool | Does |
|---|---|
add_comment | Comments on a project, phase or task |
list_team_members | Lists everyone in the team |
complete_phase respects the gate
This is the tool worth knowing about. Unlike PATCH /phases/:id, which writes whatever status you give it, complete_phase applies the same rule as the interface:
- If any criterion is still incomplete, it refuses and names every blocking criterion.
- Otherwise it completes the phase, starts the next phase in order, and reports how many criteria were conditionally passed.
So an assistant driving cadence. through MCP cannot accidentally wave a gate through, and when it reports a phase complete, that is a real gate passing.
Working with it
Once connected, ordinary requests work:
"What is blocked across all projects right now?"
"Create the four packaging tasks for the Yuzu launch in the Development phase, high priority."
"Mark the stability criterion on gate 3 as conditionally passed — 12-week data is not in yet."
"Can we close phase 2 on the reformulation project?"
Limits
MCP requests count against the same per-team, per-minute rate limit as REST: 1,000 on Pro, 5,000 on Enterprise.