nj_sk_YOUR_KEY placeholder with your key. Merge these entries into existing configuration; keep your other servers. Use HTTP, not SSE.
Claude (claude.ai)
Claude (claude.ai)
Settings → Connectors → Add custom connector. Name it
NinjaChat, paste the URL, and sign in. Enable NinjaChat in each chat or project where you want to use it. Your account or workspace must allow custom connectors.ChatGPT
ChatGPT
Settings → Security and login → Developer mode, then Plugins → +. Name it
NinjaChat, paste the endpoint under Connection, and sign in. Add it from the tools menu in a new chat. Availability depends on your account and workspace. Official guide.Cursor
Cursor
~/.cursor/mcp.json
ninjachat with a green dot. If not, reload the window.Claude Code
Claude Code
/mcp inside Claude Code. For one project, use --scope local and run from that project folder. Keep --header after the server name and URL. Official guide.Listed as failed? Use
--transport http (not sse) and keep the whole "Authorization: Bearer …" string as one shell argument.Codex
Codex
~/.codex/config.toml
TOML is picky:
[mcp_servers.ninjachat] with an underscore, and http_headers as an inline table.VS Code
VS Code
.vscode/mcp.json
${input:ninjachat-key} variable as written.Hermes
Hermes
~/.hermes/config.yaml
OpenClaw
OpenClaw
openclaw mcp probe ninjachat, then start a new agent session. OpenClaw headers use KEY=VALUE; the equals sign is required.Building your own OAuth client
NinjaChat is a full OAuth 2.1 authorization server, so any MCP client that speaks the standard flow connects without an API key:- Discovery. An unauthenticated request to the endpoint returns
401with aWWW-Authenticatechallenge pointing athttps://www.ninjachat.ai/.well-known/oauth-protected-resource/api/mcp; the authorization-server metadata is athttps://www.ninjachat.ai/.well-known/oauth-authorization-server. - Registration. Open Dynamic Client Registration at
https://www.ninjachat.ai/api/oauth/register. Clients are public — there is no client secret — and theredirect_uriyou authorize with must be one you registered. A client unused for 90 days is garbage-collected. - Authorization.
https://www.ninjachat.ai/oauth/authorizewithcode_challenge_method=S256. PKCE is mandatory andplainis rejected; authorization codes expire after 60 seconds. The only scope ismcp. - Tokens.
https://www.ninjachat.ai/api/oauth/tokensupportsauthorization_codeandrefresh_token. Access tokens (nj_at_…) last 1 hour; refresh tokens (nj_rt_…) last 30 days and rotate on every use — replaying a rotated refresh token revokes the whole token family. Revoke either token athttps://www.ninjachat.ai/api/oauth/revoke.