Integrations

Connections

Kijito speaks MCP, so it plugs into the client you already use. Where MCP does not reach, a REST API does. Both talk to the same account memory, so what one client remembers, another recalls. Setup differs by client - the table below says which paths are verified today.

Connection status

Verified means a current end-to-end test of that client passes. Everything else is marked with how far we have tested it.

ClientStatusTransportAuth
Claude CodeVerifiedMCPSign in with your Kijito account
REST API + scoped keysVerifiedRESTAPI key
Claude.ai web & desktop (MCP connector)VerifiedMCPSign in with your Kijito account
Generic MCP hostNot tested by usMCPSign in with your Kijito account
Codex CLIIn testingMCPSign in with your Kijito account
Local models via an MCP-capable hostNot tested by usMCPRuns on your machine
ChatGPT connector & OpenAI AppsPlannedMCPSign in with your Kijito account

Verified A current end-to-end test of that client passes. In testing Actively being validated; not yet a continuous green check. Not tested by us The protocol supports it, but Kijito does not continuously test this client. Planned Designed or on the roadmap; not available yet.

The connector

There is one hosted endpoint, and it is a Streamable HTTP MCP server:

mcp-url
https://api.kijito.ai/mcp

Use exactly https://api.kijito.ai/mcp. Some clients require the sign-in to match the URL you entered character for character, so don't add or drop a trailing slash. There is no /sse endpoint: Kijito serves one modern MCP transport, Streamable HTTP.

MCP is an open standard, so Kijito is protocol-compatible with any MCP client. But the configuration - where the server is registered, how sign-in works, and how tools are discovered - is different in every client, so follow the specific steps below rather than assuming one recipe. Once you are signed in, the connect page has the exact files to copy.

Claude Code (verified)

One command adds Kijito for every project:

terminal
claude mcp add --transport http --scope user kijito https://api.kijito.ai/mcp

Then sign in yourself: run claude mcp login kijito in your own terminal. A sign-in link opens in your browser or prints in your terminal; if it does not open by itself, Cmd-click or Ctrl-click it, or copy it into your browser. If your Claude Code says that command doesn't exist, restart Claude Code, run /mcp, choose kijito, and sign in with the link it shows.

For one project only, run the same command inside that project's folder without --scope user. Claude Code then adds Kijito for that project, and only for you:

terminal
claude mcp add --transport http kijito https://api.kijito.ai/mcp

Added for one project, the tools appear only there. Start Claude Code from that project's folder, or add Kijito again with --scope user to have it everywhere.

Other MCP clients

These speak MCP and can point at the same connector URL. Claude.ai web & desktop is verified, Codex is in testing, and the rest are not tested by us. If something does not work, the REST API below always does. The quickstart has the steps for each.

  • Claude.ai web & desktop: Settings → Connectors → Add custom connector, with the URL above, then the OAuth sign-in.
  • Codex CLI: codex mcp add kijito --url https://api.kijito.ai/mcp, run in your own terminal; it opens the sign-in itself.
  • Cursor: add the server to ~/.cursor/mcp.json (below), then sign in with cursor-agent mcp login kijito or from Cursor's MCP settings.
  • VS Code: native MCP. Run MCP: Add Server from the Command Palette and choose HTTP.
  • Cline, Continue, Goose, Zed: add a remote MCP server with the URL above (Zed uses context_servers).
  • Local / open-weight models: any MCP-capable host can reach Kijito. Using a local model does not make the hosted service operator-blind - the memory service is still hosted. Self-hosting and a local decryption helper, which would keep decryption off our servers, are planned, not available yet.
~/.cursor/mcp.json
{
  "mcpServers": {
    "kijito": {
      "url": "https://api.kijito.ai/mcp"
    }
  }
}

The REST API (verified)

Every route lives under https://api.kijito.ai/api, and every route is also served under a version prefix. Integrations should call the /api/v1 paths.

Sign in once to get an access token, then send it as a Bearer header on every call. The access token is a JWT valid for one hour. For anything long-lived, mint a scoped API key instead.

login.sh
# Sign in and capture the access token from the response body.
TOKEN=$(curl -s https://api.kijito.ai/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "password": "your-password"}' \
  | jq -r .access_token)

Scoped API keys

A kjt_-prefixed bearer token, scoped to a least-privilege subset of your own data and optionally set to expire. The scopes are memory.read, memory.write, memory.curate, and memory.dream. Keys are minted from a full login session; a scoped key cannot mint another.

mint-key.sh
# The secret is shown exactly once, at creation. Save it now.
curl https://api.kijito.ai/api/v1/auth/tokens \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "ci-writer", "scopes": ["memory.read", "memory.write"], "expires_in_days": 90}'

The full endpoint list, request shapes, and error codes are on the API reference.

One account, many clients

Point every client at the same server URL and sign in with the same account. What one client remembers, another recalls. Through an MCP client, each REST endpoint is a kijito_* tool (for example /api/v1/recall is kijito_recall, and /api/v1/send is kijito_hive_send), dispatched over the same account memory with the same isolation.

If writes start failing

A new account is capped at a lower limit until you verify your email, which is an anti-abuse gate rather than the tier. Verify to lift it to the full allowance - up to 10,000 memories during the beta. If you are seeing a 429 and your email is already verified, you may have reached your plan's memory cap or the per-minute write-rate limit; GET /api/v1/usage reports both.