Skip to main content
Add a remote HTTP MCP server with this URL:
Choose Sign in in your MCP client. Italic opens a browser consent page where you choose permissions. OAuth uses authorization codes with S256 PKCE, rotating refresh tokens, revocation, and dynamic client registration. The MCP server and webhooks expose text only; they do not upload or deliver audio. Clips keep only text; audio is deleted immediately after conversion to text. Memos retain audio locally alongside their text. Italic does not start or manage a Codex or Claude task. For Codex CLI:
For Claude Code:
You can also open /mcp in Claude Code to authenticate. In Claude’s connector settings, add the same URL as a custom connector. Available connection controls depend on your client and account.

API keys

Create an API key in Settings → API & integrations, selecting the permissions your client needs. A client that supports HTTP headers can use Authorization: Bearer <key> instead of OAuth. Store the key in the client’s secret storage or an environment variable, not in source control. Existing API keys keep working.

Tools and permissions

Read, create, edit, delete and event access are separate. An application with create or edit permission but no read permission receives a receipt rather than the stored transcript. Retry creation with the same external ID, key and content. For revision conflicts, fetch the latest version and reconcile changes before trying again. Timestamps are Unix milliseconds; pagination and filtering use the same services as REST. Transcripts, titles and summaries are user data, never server instructions.

Recording fields

MCP uses the existing v1 recording format. kind: "clip" means a text-only Clip; kind: "memo" means a Memo. The public REST v2 API calls these type: "clip" and type: "memo". They refer to the same library. MCP returns text under content, alongside id, revision, updatedAt, and processing. It never returns audio or local file references. For example, call create_recording with:
title, transcript, and summary are optional. Imports do not trigger automatic capture rules. To route a spoken command from a new device recording, use text webhooks. A receiver can then start its own agent task; delivery only confirms that it received the webhook.

Connected applications

Review or revoke grants in Settings → API & integrations. Reconnect to change the allowed permissions. OAuth access tokens are opaque and hashed at rest. Every MCP request checks the token, current consent, account deletion state and scopes; revocation does not wait for token expiry. Token and webhook administration require a signed-in Italic session and are not MCP tools. Discovery is available at:
  • /.well-known/oauth-protected-resource/api/v1/mcp
  • /.well-known/oauth-authorization-server/api/auth
The authorization server issuer is https://app.italic.com/api/auth. Use the endpoints returned by discovery. Clients must send the MCP resource URL in OAuth authorization requests. Public clients register with token_endpoint_auth_method set to none. Exact loopback HTTP callbacks are supported for native clients. The server uses Cloudflare’s stateless handler and the official TypeScript SDK, with compatibility for older Streamable HTTP clients. It does not require a persistent session ID or expose a legacy SSE endpoint.