Developer Docs

MCP Interface

Connect AI assistants to your workspace with the Model Context Protocol. The same service layer that powers the REST, WebSocket, and GraphQL APIs is exposed as ~150 MCP tools across 21 domains.

MCP Interface

Overview

TRCR exposes a Model Context Protocol (MCP) server so that AI assistants — such as Claude Desktop, Claude Code, OpenAI Codex, and ChatGPT — can act directly in a workspace. Through the MCP interface an assistant can track time, manage tasks, projects, and clients, create and send invoices, generate reports, and more, using roughly 150 tools across 21 domains.

The MCP server reuses the same service layer as the REST, WebSocket, and GraphQL APIs. Business logic, validation, and permissions are identical regardless of interface, and every action an assistant performs publishes the same realtime events — so changes appear instantly to other users across the web app and connected devices.

Same logic everywhere: An MCP tool call is just another caller of the shared service layer. A task created by an assistant is indistinguishable from one created in the web app, and shows up live for the whole team.

Endpoint

The server speaks MCP over Streamable HTTP. Point your client at:

https://api.trcr.pro/mcp

Authentication — Personal Access Tokens

The MCP server authenticates with Personal Access Tokens (PATs). Create one in the app under Settings → Personal Access Tokens. The plaintext token (prefixed trcr_pat_) is shown only once at creation time — copy it immediately and store it securely.

Each token is bound to a single organization. If you work across multiple organizations, create one token per organization and connect a separate MCP server entry for each.

Send the token as a Bearer credential in the Authorization header on every request:

Authorization: Bearer trcr_pat_xxxxxxxxxxxxxxxx
Note: Native OAuth connect for ChatGPT and Claude.ai is planned. Today, the MCP server uses header-based bearer authentication with a Personal Access Token.

Connecting Clients

Replace trcr_pat_… with your token in each example below.

Claude Code

Add the server with a single CLI command:

claude mcp add trcr \
  --transport http https://api.trcr.pro/mcp \
  --header "Authorization: Bearer trcr_pat_…"

OpenAI Codex

Add the server to your Codex MCP configuration as an HTTP transport with the Authorization header:

[mcp_servers.trcr]
url = "https://api.trcr.pro/mcp"

[mcp_servers.trcr.headers]
Authorization = "Bearer trcr_pat_…"

Claude Desktop

Claude Desktop connects to remote MCP servers through the mcp-remote bridge. Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "trcr": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.trcr.pro/mcp",
        "--header",
        "Authorization: Bearer trcr_pat_…"
      ]
    }
  }
}

Restart Claude Desktop after saving. The TRCR tools will appear in the tools menu once the connection is established.

ChatGPT

In ChatGPT, add TRCR as a custom connector / MCP server. Use the server URL and supply the Authorization header with your token:

URL:    https://api.trcr.pro/mcp
Header: Authorization: Bearer trcr_pat_…

Tool Catalog

Tools are grouped into 21 domains. Tool names follow a domain_verb convention — for example tasks_create and tasks_update (both accept an optional start_date alongside due_date), tasks_dependencies_list_all (no arguments — lists every dependency edge in the token's organization), time_start_timer, and invoices_send. Use the whoami tool at any time to confirm which user and organization the active token is operating as.

DomainCovers
tasksCreate, update (including start_date and due_date), assign, comment on, and delete tasks; checklists, dependencies, labels, status, and reordering. tasks_dependencies_list_all returns every dependency edge in the token's organization in one call.
projectsManage projects, members, statistics, and archival.
task_groupsBoard columns and sections — create, rename, reorder, and delete groups.
task_statusesCustom workflow statuses with terminal flags, progress, and auto-advance transitions.
task_recurrencesRecurring task rules and their generated occurrences.
labelsOrganization labels used to tag and filter tasks.
milestonesStandalone date markers on a Space's Gantt chart. milestones_list (project_id) lists a Space's milestones; milestones_create (project_id, title, target_date, color?, description?), milestones_update (milestone_id, title?, target_date?, color?, description?, clear_description?), and milestones_delete (milestone_id) manage them. Reads require access to the Space; create, update, and delete require manage_tasks.
timeStart, stop, and adjust timers; create, edit, and list time entries.
clientsClients plus their contacts and activity history.
invoicesInvoices and line items; send invoices and mark them paid.
paymentsRecord and reconcile payments against invoices.
reportsTimesheet, revenue, utilization, and profitability reporting.
membersOrganization membership, roles, and invitations.
orgsOrganization details and settings.
usersUser profiles and preferences.
notificationsList, read, and dismiss in-app notifications.
auditRead the organization audit log.
chatTeam chat channels and messages.
searchFull-text search across tasks, projects, clients, and more.
gitGit integration — linked repositories, branches, and commits.
public_formsPublic intake forms and their submissions.
attachmentsFile attachments on tasks and other entities.

Safety

Destructive tools — those that delete, remove, or revoke data — carry the MCP destructiveHint annotation. MCP hosts use this hint to prompt the user for confirmation before the action runs, so an assistant cannot silently delete a project or revoke access.

Every tool call is authorized against the user's role and permissions in the token's organization. The MCP interface grants no additional access — an assistant can only do what the token's owner could do in the web app.