Agent MCP tools
The tools agents get through the symphony MCP server, per tracker, plus linked-task and test-login tools, with their arguments.
Agents update their task through an MCP server named symphony. Its tools run on the SI Fabrik host (your Mac or the server) with SI Fabrik's credentials, so agents never see a tracker token. Each run gets its own MCP URL with a token scoped to its task, so a tool can only act on that task.
Which tools an agent gets depends on the project's tracker, its links and its test logins. Tools that only read are marked read-only (readOnlyHint).
Built-in board#
| Tool | Arguments | Description |
|---|---|---|
board_get_issue | none | Read the current issue, including its comments and state. Read-only. |
board_set_state | state (one of the board's states) | Move the current issue to another state. |
board_comment | body | Add a Markdown comment: progress notes, PR links, the hand-off summary. |
board_create_issue | title, description?, priority? (0–4), state? | File a follow-up issue. It lands in Backlog unless a state is given. |
ClickUp#
| Tool | Arguments | Description |
|---|---|---|
clickup_get_task | none | Read the current task: description, status, tags, assignees, the list's allowed statuses and recent comments. Read-only. |
clickup_set_status | status | Move the task to another status of its list, such as in progress or review. |
clickup_comment | text | Post a comment. |
clickup_create_task | name, description?, priority? (1 urgent … 4 low), subtask? | Create a follow-up task in the same list, or a subtask of the current task. |
clickup_add_tag | tag | Add an existing space tag to the task. |
GitHub Issues#
| Tool | Arguments | Description |
|---|---|---|
github_comment | body | Post a Markdown comment on the issue. |
github_add_labels | labels (list) | Add labels, such as human-review to hand off. |
github_remove_label | label | Remove a label. |
github_close | reason? (completed or not_planned) | Close the issue. |
Linked tasks#
Offered when at least one project this one links to accepts tasks from it. See Linked tasks.
| Tool | Arguments | Description |
|---|---|---|
create_linked_task | project (one of the accepting projects), title, description (Markdown: what to change, where, how to verify), wait? (default true) | File a task in a linked project. With wait, this task pauses after the current turn until that one is done. At most 3 per task. |
linked_tasks | none | List the linked tasks this task filed and their current state. Read-only. |
Test logins#
Offered when the project has the browser on and at least one valid test login.
| Tool | Arguments | Description |
|---|---|---|
browser_sign_in | login (one of the saved names) | Fill and submit the sign-in form on the current page with a saved account, including a one-time code if it has one. Only on the login's origins. The agent never sees the password. |
The browser server#
With browser.enabled, agents also get a second MCP server named browser: Playwright's MCP server, running inside the sandbox and driving the task's Chromium. Its tools (browser_navigate, browser_snapshot, browser_take_screenshot and others) are Playwright's own.
Protocol#
The symphony server speaks MCP over streamable HTTP with JSON responses, at POST /mcp/<session-token> on the host's tools endpoint: 127.0.0.1:7878 on the Mac (reached from Docker through the egress proxy), tools_listen on a server, and the relay for Cloudflare. It implements initialize, ping, tools/list and tools/call. An unknown tool returns isError: true. Every tool call is logged in Activity, and on a server it's recorded in the audit log as tool_call by agent:<task>.