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
| Step | What happens |
|---|---|
| Discovery | An 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. |
| Registration | The client registers itself through dynamic client registration. Only https and loopback redirect URIs are accepted, and clients are public: there is no client secret. |
| Authorization | The 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. |
| Consent | You 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. |
| Token | The 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: Bearerheader, 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
- In Kentro IQ, open
Assistant>Assistant Settings. - In
Connect your AI tools (MCP), find the connection underActive connections, with its client name,Addeddate andLast useddate. - Click
Revokeand 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
messageforaskCopilotand 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
| Limit | Value |
|---|---|
| Tool calls per user | 30 per minute, 600 per day |
| Tool calls per workspace | 120 per minute, 4,000 per day |
| Connection request on the consent page | 10 minutes |
| Access token | 1 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 connectionsfrom time to time and revoke clients you no longer use. - Admins: when someone leaves the team, revoke their connections along with their access.
Related
Updated about 12 hours ago
Did this page help you?

