Build an integration
Open Kite

Build an integration

Building your own MCP client, or an app that calls Kite for its people? Kite follows the MCP authorization spec, so a standard OAuth client connects with no setup on our side.

Use an MCP SDK

The official MCP SDKs for TypeScript and Python handle discovery, registration and sign-in for you: give them Kite's address, a redirect URI and somewhere to keep the tokens.

https://cf.kite.new/api/mcp

The OAuth flow

Doing it by hand, these are the steps an SDK takes:

  1. Discover the authorization server from https://cf.kite.new/.well-known/oauth-protected-resource.
  2. Read its metadata from https://cf.kite.new/.well-known/oauth-authorization-server.
  3. Register your app at https://cf.kite.new/api/oauth/register (dynamic client registration, open to anyone) to get a client_id.
  4. Send the person to https://cf.kite.new/oauth/authorize with PKCE (S256) and the scope pages. They sign in to Kite and click Allow.
  5. Exchange the code for an access token and a refresh token at https://cf.kite.new/api/oauth/token.
  6. Call the server at https://cf.kite.new/api/mcp with Authorization: Bearer <access token>.
  7. Refresh with the refresh_token grant when the access token expires (after 7 days). Refresh tokens last 90 days.

Tokens can be revoked at https://cf.kite.new/api/oauth/revoke. Your app shows to the person by the name it registered with: on the board while it draws, on its comments, and in their list of connected apps.

Keys

For scripts and agents that can't open a browser, make a key under Settings → Agents → Keys for scripts and agents and send it to the same address as Authorization: Bearer kite_…. Make one key per tool, so each can be revoked on its own.

Context for agents

Machine-readable context lives at /llms.txt, and an installable skill that teaches an agent how Kite works at /skill.md.

Questions about an integration? Write to hello@kite.new.