Security and data

How Kentro MCP signs clients in, how its tokens work, how to revoke a connection, what data leaves Kentro and the limits.

Kentro MCP is built so a connection can never do more than the person who approved it, and so every connection stays visible and revocable.

Sign-in with OAuth 2.1

StepWhat happens
DiscoveryAn unauthenticated request answers 401 with a WWW-Authenticate header pointing at https://apis.kentro.live/.well-known/oauth-protected-resource/kiq/v1/copilot/mcp, which names the authorization server https://apis.kentro.live/auth.
RegistrationThe client registers itself through dynamic client registration. Only https and loopback redirect URIs are accepted, and clients are public: there is no client secret.
AuthorizationThe browser goes to Kentro's consent page, https://app.kentro.app/mcp/authorize (https://app.kentro.cc/mcp/authorize on Kentro staging). PKCE with S256 is required. The request is single use and expires after 10 minutes.
ConsentYou sign in to your workspace and see Connect to Kentro Assistant with the client's name and the host it returns to. Approve binds the connection to your user and your workspace; Deny ends it. A workspace whose billing needs attention cannot approve new connections.
TokenThe client exchanges a single-use code, valid 10 minutes, for tokens, proving its PKCE verifier. The scope is copilot.

Tokens

  • Access token: valid for 1 hour and accepted only in the Authorization: Bearer header, never in a URL. It works only on Kentro MCP: every other Kentro surface refuses it, so a leaked MCP token cannot reach the Kentro web app or the other APIs.
  • Refresh token: replaced on every use. It is bound to the client it was issued to, and stops working the moment the connection is revoked. Refreshes that race each other within 30 seconds receive the same new pair, so parallel requests from one client do not sign it out.
  • Storage: your AI client stores the tokens. Kentro stores only a hash of the refresh token.

Revoke a connection

  1. In Kentro IQ, open Assistant > Assistant Settings.
  2. In Connect your AI tools (MCP), find the connection under Active connections, with its client name, Added date and Last used date.
  3. Click Revoke and confirm. The client loses access immediately.

You can revoke your own connections. Admins see every connection in the workspace with its owner's email, and can revoke any of them. Removing the connector in the AI client does not revoke it in Kentro, so revoke it in Kentro too.

What data leaves Kentro

  • Direct tool calls. A tool's result, such as order details or query rows, goes to your AI client, which sends it to its model provider under your agreement with that provider. Treat a connected client like any other place your workspace data is shown.
  • askCopilot. Kentro Assistant runs inside Kentro, as it does in the web app, and returns its final answer to your client. The conversation is saved in your assistant history and kept for the workspace's message retention period: 30, 90, 180 or 365 days, 90 by default.
  • What Kentro receives. Only what your client sends in tool calls: the message for askCopilot and each tool's input. Kentro does not see the rest of your conversation with the client.
  • Errors. A failed tool answers a generic message; the detail stays in Kentro's logs.

Limits

LimitValue
Tool calls per user30 per minute, 600 per day
Tool calls per workspace120 per minute, 4,000 per day
Connection request on the consent page10 minutes
Access token1 hour

Over a call limit, a tool answers Rate limit exceeded. Retry in <n>s.

Good practice

  • Connect only clients you trust with what you can see in Kentro.
  • Review Active connections from time to time and revoke clients you no longer use.
  • Admins: when someone leaves the team, revoke their connections along with their access.

Related


Did this page help you?