Quickstart
From nothing to a first authenticated call. Start with the parts that need no credential.
Pick the path that matches what you are building. Both start with calls you can make right now, without an account.
Step 1 — Prove the endpoint is there
Protocol discovery is public. These two calls need no credential and tell you everything a client needs to authorise itself.
curl https://app.digitalyser.io/.well-known/oauth-protected-resource/api/mcp{
"resource": "https://app.digitalyser.io/api/mcp",
"authorization_servers": ["https://app.digitalyser.io"]
}curl https://app.digitalyser.io/.well-known/oauth-authorization-server{
"authorization_endpoint": "https://app.digitalyser.io/api/agent/oauth/authorize",
"token_endpoint": "https://app.digitalyser.io/api/agent/oauth/token",
"code_challenge_methods_supported": ["S256"]
}Step 2 — See what a refusal looks like
Call the endpoint with a credential it cannot recognise. This is worth doing on purpose: the refusal is the most informative response the API produces, and your client should handle it.
curl -i -X POST https://app.digitalyser.io/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'Authorization: Bearer not-a-real-token' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"quickstart","version":"1"}}}'You get 401 with a WWW-Authenticate header pointing back at the resource metadata from step 1.
That header is the whole handshake: a conforming client reads it and starts the authorisation flow
without being told where to go.
Step 3 — Connect for real
Nothing to copy. Your client discovers the server, registers itself, and sends you to a consent screen where you pick one project and tick what the agent may do.
claude mcp add --transport http digitalyser https://app.digitalyser.io/api/mcpFull walkthrough: Connect Claude.
What comes next
- Choose your credential — the three that exist, and when each is right.
- Conventions — errors, idempotency, and the one place the two transports differ.