Automation
MCP server
CatchLoop speaks the Model Context Protocol, so an AI agent can read your board and act on it from the editor you already work in. The server is hosted: there is nothing to install.
Connecting
The workspace key is on the Integration page of your dashboard, under MCP server. Export it as CATCHLOOP_API_KEY, then add the server to your client. VS Code asks for the key instead and keeps it in its own secret storage.
claude mcp add --transport http catchloop https://mcp.catchloop.co \
--header "Authorization: Bearer $CATCHLOOP_API_KEY"
{
"mcpServers": {
"catchloop": {
"url": "https://mcp.catchloop.co",
"headers": {
"Authorization": "Bearer ${env:CATCHLOOP_API_KEY}"
}
}
}
}
{
"inputs": [
{
"type": "promptString",
"id": "catchloop-api-key",
"description": "CatchLoop workspace API key",
"password": true
}
],
"servers": {
"catchloop": {
"type": "http",
"url": "https://mcp.catchloop.co",
"headers": {
"Authorization": "Bearer ${input:catchloop-api-key}"
}
}
}
}
{
"mcpServers": {
"catchloop": {
"serverUrl": "https://mcp.catchloop.co",
"headers": {
"Authorization": "Bearer ${env:CATCHLOOP_API_KEY}"
}
}
}
}
Their custom connectors sign in with OAuth, which CatchLoop does not offer yet. If your organization has Anthropic's request headers beta, add a custom connector with the server URL, choose No sign-in, and add an authorization header whose value is Bearer, a space, then your key.
Read the key from the environment, never inline it in a file you commit. It is a workspace credential: anything an agent can do with it, anyone holding it can do.
Tools
| Tool | What it does | |
|---|---|---|
list_requests | free | The most-wanted requests, ranked by account votes. This is the one that answers "what should we build next". status narrows it to one or several of the five statuses (the tool lists their values), and limit sets how many come back, 1 to 100, 20 by default. |
create_request | free | One request onto your board, from a support ticket or a sales call. |
import_requests | free | Up to fifty requests in one call, with their past votes, date and status. See import. |
set_request_status | free | Moves a request to another status. Emails nobody: the people who asked hear once, when a changelog entry linking it is published. |
Every call is scoped to the workspace the key belongs to, so an agent cannot reach another team's data. The connection carries no session cookie.
Reading the numbers
Each request comes back with its votes in two parts: the votes of your customers' accounts, and the votes you imported from another tool. Your portal shows their sum. list_requests ranks by account votes, because only an account is a person who can be emailed when the request ships. See customer accounts for how an account is made.