Debriefer
Quickstart

Developer Quickstart

Connect a programmatic MCP client to the hosted Debriefer server over OAuth and make your first tool call.

Debriefer hosts the MCP server. You don't install or run anything - you connect to the endpoint and authenticate with OAuth. It exposes the full Debriefer API as a set of MCP tools and resources over Streamable HTTP.

The endpoint

https://mcp.debriefer.ai/mcp

Staging/preview is https://mcp.debriefer.dev/mcp. See Connecting for how the server works.

Prerequisites

  • A Debriefer account (join the waitlist if you don't have one).
  • An MCP client that supports remote servers with OAuth. The official MCP SDK handles the OAuth flow for you; so does Claude if you just want to drive it by chat.

Authenticate

The server uses OAuth 2.0 - dynamic client registration, PKCE, and an mcp:full scope. There are no API keys.

A compliant client discovers everything it needs from the server's metadata and walks the flow on its own:

  • GET /.well-known/oauth-protected-resource - points at the authorization server.
  • GET /.well-known/oauth-authorization-server - lists the /authorize, /token, and /register endpoints.

When the client connects, it registers itself, opens the browser to /authorize, you sign in, and it exchanges the code for a token at /token. The token is refreshed automatically. Every tool call then runs as you, in your organisation.

Make your first tool call

Using the MCP TypeScript SDK with its built-in OAuth provider:

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

// authProvider drives the OAuth flow - register, open browser, exchange + refresh tokens.
const transport = new StreamableHTTPClientTransport(
  new URL('https://mcp.debriefer.ai/mcp'),
  { authProvider: myOAuthProvider },
);

const client = new Client({ name: 'my-app', version: '1.0.0' }, { capabilities: {} });
await client.connect(transport);

const result = await client.callTool({
  name: 'scaffold_interview',
  arguments: { topic: 'post-churn discovery', question_count: 5 },
});

You'll get back an agent ID, a blueprint ID, and a hosted URL.

See the MCP SDK docs for a complete authProvider implementation - it handles token storage and the browser redirect.

Next steps

On this page