ChirpyDevelopers Open Chirpy

Sign-in and API keys

There are two kinds of credential. People connect AI apps by signing in (OAuth). Your own code uses an API key.

Sign-in (OAuth)API key
Works onMCP serverMCP server and REST API
PlansAdvanced, Max and TeamsMax and Teams
CreatedBy the AI app, when you sign in and allow itBy you, in Settings > Developers
Ended byDisconnect in Settings > DevelopersRevoke in Settings > Developers

Access levels

Each credential has one of three levels. Higher levels include lower ones.

LevelScopesAllows
Read onlyreadLooks things up. Changes nothing.
Read and createread writeCreates or changes things in Chirpy. Publishes nothing. AI work uses credits.
Full accessread write publishSchedule, publish, approve, reply, moderate and delete.

API keys

  1. In Chirpy, open Settings > Developers and create a key with a name and a level.
  2. Copy it straight away. It is shown once; Chirpy keeps only a fingerprint of it.
  3. Send it on every request: Authorization: Bearer chirpy_sk_... (or X-API-Key).

Keep keys private like passwords and revoke any you no longer use. Each person can have up to 10 live keys.

OAuth details for client developers

Chirpy follows the MCP authorization specification (revision 2026-07-28), which builds on OAuth 2.1.

Protected resource metadatahttps:/.chirpy.me/mcp/.well-known/oauth-protected-resource/mcp
Resourcehttps://mcp.chirpy.me/mcp
Issuerhttps://chirpy.me
Authorization server metadatahttps://chirpy.me/.well-known/oauth-authorization-server
Client registrationClient ID Metadata Documents (an https client_id), or Dynamic Client Registration at /oauth/register
GrantAuthorization code with PKCE (S256 only), plus refresh tokens
Scopesread, write, publish
Token audienceSend resource=https://mcp.chirpy.me/mcp on the authorization and token requests
Access tokensLast 1 hour. Accepted by the MCP server only.
Refresh tokensLast 30 days and rotate on every use. Using one twice ends the connection.
Redirect URIsExact match. Loopback addresses (http://127.0.0.1, http://localhost) match on any port.
Revocationhttps://chirpy.me/oauth/revoke (RFC 7009)

An MCP request without a valid token gets 401 with a WWW-Authenticate header that points at the protected resource metadata. A token without the needed level gets 403 with error="insufficient_scope" and the scopes to ask for.