DashboardSign inStart your trial

In this guide · OperateClose guide

MCP

Connect Claude, Codex, or any MCP client to Rills to read workspace data, query metrics, start workflows, and request or decide approvals.

The Rills MCP server lets an AI client read your workspace, answer questions with live metrics, start workflows, and route proposals into the approval queue. It uses the same credentials, scopes, and data rules as the REST API, so an agent never sees more than you granted.

#Server URL

Rills serves MCP over Streamable HTTP:

https://rills.ai/api/mcp/mcp

Settings → API & MCP access shows the exact URL and ready-to-copy setup for common clients.

#Connect

#Sign in with OAuth

Clients that support MCP OAuth, such as Claude, only need the server URL. The client opens Rills, you sign in, choose the workspace, and approve the requested scopes. The connection then appears under Connected apps, where you can revoke it. This is the only way to let an agent approve or reject proposals, and it never exceeds your workspace role. See Authentication.

#Use an API key

For headless or shared agents, create a scoped key and pass it as a bearer header. Keep the key in an environment variable.

Claude Code:

claude mcp add --transport http rills https://rills.ai/api/mcp/mcp \
  --header "Authorization: Bearer $RILLS_MCP_KEY"

Codex (~/.codex/config.toml):

[mcp_servers.rills]
url = "https://rills.ai/api/mcp/mcp"
bearer_token_env_var = "RILLS_MCP_KEY"

Other clients:

{
  "mcpServers": {
    "rills": {
      "url": "https://rills.ai/api/mcp/mcp",
      "headers": { "Authorization": "Bearer ${RILLS_MCP_KEY}" }
    }
  }
}

#Tools

A client only sees the tools its scopes allow. Tools marked with payloads:read also need the domain scope in the same row.

GroupExample toolsScopes
Workspaceget_workspaceworkspace:read
Workflows and runslist_workflows, get_workflow, list_executions, get_executionworkflows:read
Workflow payloadsget_workflow_definition, get_execution_payloadsworkflows:read, payloads:read
Tables and formslist_tables, get_table, list_forms, get_form, list_form_submissionstables:read or forms:read
Table and form valuesquery_table_rows, list_form_submission_payloadsadd payloads:read
Approvalslist_approval_requests, get_decisionapprovals:read
Approval payloadsget_approval_payloadapprovals:read, payloads:read
Decision recordsquery_decision_records, get_decision_record_payloadrecords:read (payload tool adds payloads:read)
Agentslist_agents, get_agentagents:read
Agent payloadsget_agent_payload, list_agent_conversation_eventsagents:read, payloads:read
Integrationslist_integration_connections, get_integration_connectionintegrations:read
Fileslist_files; get_file_download_urlfiles:read; download adds payloads:read
Metricsaggregate_workflow_executions, aggregate_approvals, aggregate_decision_records, aggregate_agent_conversations, aggregate_files, aggregate_table_rows, aggregate_form_submissionsSame as the matching query dataset
Actionstrigger_workflow, request_approvalworkflows:execute, approvals:request
Authoringauthor_workflow, revise_workflow, get_authoring_resultworkflows:create, workflows:update, workflows:read
Optimization suggestionslist_optimization_suggestionsoptimization:read (values add payloads:read)
Decisionsapprove, reject, undo_approval_decisionapprovals:decide, OAuth only
Suggestion decisionsdecide_optimization_suggestion, revert_optimization_suggestion, restore_optimization_suggestionoptimization:decide, OAuth only

The client’s tool list is the source of truth for exact names and inputs.

#Metrics tools

Aggregate tools take the same request as POST /query without the dataset key, follow the same rules, return at most 100 rows per call, and draw from the same rate-limit budget. Ask an agent “How many outbound runs failed each day last week?” and it can answer from live data.

#Approving from an agent

approve and reject exist only on OAuth connections and never on API keys. The agent must show you the proposal and get your agreement before it can confirm the decision. Every decision is recorded the same way as one made in the app or on mobile. Rejection feedback helps calibrate confidence scoring.

Suggestion tools follow the same rule. Accepting a suggestion changes the workflow at once, so the agent must show you the change and get your agreement first. revert_optimization_suggestion undoes an accept and restore_optimization_suggestion undoes a dismissal, at any time.

#Limits

  • Each tool result is capped at 256 KiB. If a result is too large, the tool asks for a smaller page; lower limit or narrow filters.
  • MCP requests are rate limited per client IP and per connection. Metrics tools also count against the query budget.
  • Reading data doesn’t use action credits. Workflows started through trigger_workflow are billed like any other run, and approvals are free.