MCP Server
Claude Code integration via Model Context Protocol
MCP Server
The Buildd MCP server integrates with Claude Code, providing task coordination and workspace memory directly in your coding workflow.
Setup
Option 1: CLI command
claude mcp add --transport http buildd https://buildd.dev/api/mcp \
--header "Authorization: Bearer bld_your_api_key"Option 2: .mcp.json
Add to your project's .mcp.json:
{
"mcpServers": {
"buildd": {
"type": "http",
"url": "https://buildd.dev/api/mcp",
"headers": {
"Authorization": "Bearer bld_your_api_key"
}
}
}
}Option 3: buildd login
If you use the buildd CLI, login auto-configures Claude Code:
curl -fsSL https://buildd.dev/install.sh | bash
buildd loginRestart Claude Code and the buildd tools will be available.
Get your API key from the Buildd dashboard under Accounts.
Workspace Detection
The MCP server resolves the workspace from the URL:
?workspace=<id>query param — direct workspace ID?repo=<name>query param — matched against linked repositoriesworkspaceIdin tool params (per-action override)- No filter — operations that require a workspace will prompt for
workspaceId
When using buildd init <workspace-id>, the workspace is baked into the MCP URL automatically.
Tools
The server exposes two tools: buildd for task coordination and buildd_memory for workspace knowledge. Both use an action parameter to select the operation.
buildd — Task Coordination
Available actions depend on your account level (detected automatically from your API key).
Worker Actions (all accounts)
| Action | Key Params | Description |
|---|---|---|
list_tasks | offset? | List pending tasks sorted by priority |
claim_task | maxTasks?, workspaceId? | Auto-claim highest-priority pending task |
update_progress | workerId, progress, message? | Report progress (0-100%) |
complete_task | workerId, summary?, error? | Mark task done or failed |
create_pr | workerId, title, head | Create a GitHub PR tracked on the worker |
update_task | taskId, title?, description?, priority? | Update task fields or dependencies |
create_task | title, description, workspaceId?, objectiveId?, skillSlugs?, model?, effort? | Create a new task |
create_artifact | workerId, type, title, content? | Create a shareable artifact |
list_artifacts | workspaceId?, key?, type? | List workspace artifacts |
update_artifact | artifactId, title?, content? | Update an existing artifact |
review_workspace | hoursBack?, workspaceId? | Review recent task quality |
emit_event | workerId, type, label, metadata? | Record a custom milestone event |
query_events | workerId, type? | Read events from worker timeline |
list_artifact_templates | — | List available artifact templates with JSON schemas |
Admin Actions (admin-level API key only)
| Action | Key Params | Description |
|---|---|---|
register_skill | name, content, slug?, isRole?, model?, mcpServers?, allowedTools?, canDelegateTo?, requiredEnvVars? | Create/upsert a skill or role |
list_skills | workspaceId?, enabled?, isRole? | List skills/roles with filtering |
update_skill | slug, workspaceId?, name?, content?, mcpServers?, allowedTools?, canDelegateTo?, enabled? | Update a skill/role by slug |
delete_skill | slug, workspaceId? | Delete a skill/role by slug |
manage_secrets | action (list/set/delete), label?, value?, secretId? | Manage encrypted MCP credentials |
create_schedule | name, cronExpression, title | Create a recurring schedule |
update_schedule | scheduleId, cronExpression? | Update a schedule |
list_schedules | workspaceId? | List all schedules |
approve_plan | taskId | Approve a planning task and create child execution tasks |
reject_plan | taskId, feedback | Reject a plan with feedback, create revised planning task |
manage_missions | action, missionId?, title?, status?, skillSlugs?, recipeId?, model? | Manage team missions (list/create/get/update/delete/link_task/unlink_task) |
list_recipes | workspaceId? | List reusable workflow recipes |
create_recipe | name, steps, description?, category? | Create a workflow recipe |
run_recipe | recipeId, variables?, parentTaskId? | Instantiate a recipe into tasks |
Examples
# Claim a task
buildd action=claim_task
# Report progress
buildd action=update_progress params={ workerId: "...", progress: 50, message: "Implemented auth middleware" }
# Create a PR and complete
buildd action=create_pr params={ workerId: "...", title: "feat: add auth", head: "feat/auth" }
buildd action=complete_task params={ workerId: "...", summary: "Added JWT auth middleware" }
# Submit a plan for review
buildd action=update_progress params={ workerId: "...", plan: "1. Add middleware\n2. Update routes\n3. Add tests" }
# Record a custom event
buildd action=emit_event params={ workerId: "...", type: "deploy", label: "Deployed to staging" }buildd_memory — Workspace Knowledge
Backed by the Buildd Memory service. Memories are isolated per team and scoped by project within each team.
| Action | Key Params | Description |
|---|---|---|
context | — | Load relevant memories for current project |
search | query?, type?, files?, tags?, limit? | Search memories |
save | type, title, content, files?, tags? | Save a new memory |
get | id | Retrieve a specific memory |
update | id, title?, content?, type?, files?, tags? | Update an existing memory |
delete | id | Delete a memory |
Examples
# Load project context
buildd_memory action=context
# Search for relevant context
buildd_memory action=search params={ query: "drizzle migrations", type: "gotcha" }
# Save a memory
buildd_memory action=save params={ type: "gotcha", title: "neon-http no transactions", content: "..." }
# Update a stale memory
buildd_memory action=update params={ id: "mem_xxx", content: "Updated guidance..." }
# Remove outdated memory
buildd_memory action=delete params={ id: "mem_xxx" }MCP Resources
The server exposes read-only resources that MCP clients can read directly:
| URI | Description |
|---|---|
buildd://tasks/pending | Pending tasks sorted by priority |
buildd://workspace/memory | Recent workspace memories |
buildd://workspace/skills | Available skills |
Observability Events
Workers can emit custom events to their timeline using emit_event, and read them back with query_events. Events piggyback on the existing milestones system — no additional setup needed.
Use cases:
- Record deployment milestones
- Track build/test results
- Log decision points for later review
Worker Workflow
The typical MCP workflow:
builddaction=list_tasks — see what's availablebuilddaction=claim_task — claim a task, read the included memorygit checkout <branch>— switch to the worker branchbuildd_memoryaction=search — search for context on unfamiliar files- Do the work, saving memories with
buildd_memoryaction=save as you go builddaction=update_progress — report at milestones (check for admin instructions in response)git push— push your commitsbuilddaction=create_pr — create a pull request (use this instead ofgh pr create)builddaction=complete_task — mark the task as done