Risotto MCP Server
Risotto exposes a Model Context Protocol server so MCP-compatible clients (Claude Desktop, Cursor, ChatGPT, and custom agents) can call into your Risotto workspace. The server has 116 tools. You can work with tickets, knowledge, users, departments, runbooks, automation tools, access rules, and organization settings. See Available tools for the full list. Two authentication methods are supported:- OAuth 2.1 (recommended) — interactive clients run a standard browser-based authorization flow. Each user signs in with their own Risotto identity, so tool calls are attributed and audited per-person. This is the right choice for Claude Desktop, Cursor, the MCP Inspector, and any client that ships a built-in OAuth UI.
- API key — a long-lived
rso_live_…key sent as a request header. Suited to headless scripts, CI, and other callers that can’t drive a browser-based consent flow.
Prerequisites
- A Risotto account.
- An MCP-compatible client. OAuth requires a client that supports OAuth 2.1 + Dynamic Client Registration (Claude Desktop, recent Cursor, MCP Inspector, or any spec-compliant client).
Find your MCP server URL
Each Risotto organization has its own MCP server URL of the form:Connect with OAuth (recommended)
Add the MCP server to your client
- Claude Desktop
- Cursor
- ChatGPT
- MCP Inspector
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
YOUR_MCP_SERVER_URL with the URL from your dashboard. No client ID, client secret, or token URL is needed — Claude Desktop discovers everything from the server.Restart Claude Desktop after saving.Sign in and grant scopes
Use the tools
Available scopes
OAuth clients request scopes at consent time. The same scope vocabulary applies to API keys. A scope grants the tools listed under it in Available tools.tickets:read scope doesn’t
grant visibility into tickets outside the departments that user belongs to.Manage authorized clients
From Settings → Integrations → MCP in the dashboard you can:- See every OAuth client that has registered against your organization, including the IP it was registered from and when it last made a request.
- Revoke a client — invalidates all of its tokens immediately. The client will be prompted to sign in again on its next request.
Connect with an API key
API keys are the right choice when the caller can’t run a browser — for example, a CI job or a server-side automation.Issue a key
Onboarding bot — production so you can revoke a single caller’s access later.Select scopes
Copy the key
rso_live_. Copy it immediately — you will not be able to see it again. If you lose it, revoke it and issue a new one.Authorization: Bearer header to the same MCP server URL from your dashboard. The MCP endpoint does not accept the X-API-Key header that the REST API accepts.
Available tools
The server registers 116 tools. Each tool needs one scope.tools/list returns every tool. A call to a tool outside the credential’s scopes fails with a missing-scope error.
Tool names below are the values you pass in tools/call. The dashboard Assistant is built on the same tools.
Tickets and comments (8 tools)
Tickets and comments (8 tools)
Ticket insights (7 tools)
Ticket insights (7 tools)
Knowledge (3 tools)
Knowledge (3 tools)
Users (3 tools)
Users (3 tools)
Departments and Tier 2 Assistant (10 tools)
Departments and Tier 2 Assistant (10 tools)
Runbooks, templates, and forms (17 tools)
Runbooks, templates, and forms (17 tools)
Automation tools and scripts (15 tools)
Automation tools and scripts (15 tools)
Custom API sources and templates (21 tools)
Custom API sources and templates (21 tools)
External MCP servers (8 tools)
External MCP servers (8 tools)
Access management (8 tools)
Access management (8 tools)
Organization settings, request sources, and identity provider (10 tools)
Organization settings, request sources, and identity provider (10 tools)
Artifacts and audit log (6 tools)
Artifacts and audit log (6 tools)
request_tool_credentials, request_custom_api_credentials,
request_external_mcp_credentials, request_external_mcp_authorization, and
request_okta_credentials. From an external MCP client they only report the
current state. Enter the secret in the dashboard instead.
ingest_attached_file reads a file uploaded in the dashboard Assistant and
has no use from an external client.tools/list against your endpoint to see the current list with input schemas.
Troubleshooting
Consent screen redirects fail or loops
Consent screen redirects fail or loops
localhost loopback redirect URI or a private-use URI scheme (like cursor://). Claude Desktop and the MCP Inspector use loopback; Cursor uses its cursor:// scheme, and a single registration can mix native and web redirect URIs.Hosted clients like ChatGPT are different — they register their own public HTTPS redirect URI, which Risotto’s DCR accepts. If you’re building a custom desktop client, use a loopback or private-use-scheme redirect. If you’re building a custom hosted/web client and registration is failing, double-check the redirect URI is a valid HTTPS URL your service controls.Tool call returns a missing scope error
Tool call returns a missing scope error
result.isError is true, with a message naming the missing scope (for example, tickets:read).- OAuth: revoke the client in the dashboard and reconnect — the consent screen lets you approve the additional scope.
- API key: add the scope on the key in the dashboard, or issue a new key with the correct scopes.
429 Too Many Requests
429 Too Many Requests
/mcp requests are throttled per credential at 1,000 requests per hour by default, and OAuth token issuance is throttled per client.The response includes Retry-After and X-RateLimit-* headers showing the reset window. Back off until the window resets, or contact support if you consistently need higher limits.Tools don't appear in the client
Tools don't appear in the client
- Restart the client after editing its config file — most clients only read MCP config at startup.
- Run the
curlsnippet above to confirm the endpoint is reachable. tools/listreturns every tool, whatever the credential’s scopes. If a tool call fails instead, check the scope error above.