MCP Server

FluoTest has a remote MCP (Model Context Protocol) server, so AI assistants like Claude and ChatGPT can create draft quizzes and read quiz results in your account. Connections are authorized with OAuth — you approve access on a consent screen — or with a personal API key generated in Settings.

Last updated

How do I connect an AI assistant to FluoTest?

Add https://fluotest.com/api/mcp as a remote MCP server in your AI assistant. With OAuth (Claude's "Add custom connector") you sign in to FluoTest and approve access on a consent screen; alternatively, generate an API key in Settings → Security → API keys and send it as a Bearer token.

Server URL#

The MCP server lives at a single URL:

https://fluotest.com/api/mcp

It uses the Streamable HTTP transport. Every request must be authenticated — unauthenticated requests get a 401 response that tells MCP clients where to start the OAuth flow.

Authentication#

There are two ways to authenticate. Both act as your user account: the assistant can only see and create what you can.

  • OAuth 2.1 (recommended): Supported by Claude's custom connectors and other MCP clients with OAuth support. You sign in to FluoTest in the browser and approve access on a consent screen — no keys to copy, and you stay in control of what's connected.
  • API key: For MCP clients that take custom headers (like Claude Code) or your own scripts. Generate a key in Settings → Security → API keys and send it as "Authorization: Bearer fluo_…" — treat it like a password.

Full API reference: keys, headers & curl examples →

Connect Claude (OAuth)#

In Claude, go to Settings → Connectors → Add custom connector and fill in:

  1. Name: FluoTest
  2. Remote MCP server URL: https://fluotest.com/api/mcp
  3. Advanced settings → OAuth Client ID: paste the client ID below. Leave the OAuth Client Secret field empty.
  4. Click Add, then Connect — you'll be sent to fluotest.com to sign in and approve access.

OAuth Client ID

76a0fe41-98d3-47b5-8cbf-bf9c00eebc2b

No client secret is needed — the connector is registered as a public OAuth client and the flow is protected with PKCE. ChatGPT connectors use the same server URL and client ID.

Connect with an API key#

For clients where the OAuth flow isn't available:

  1. In FluoTest, open Settings → Security → API keys.
  2. Enter a name (e.g. "Claude Code") and click Generate key.
  3. Copy the fluo_… key immediately — it's shown only once.
  4. Add it to your MCP client as an Authorization header.

Generic MCP configuration (for mcp.json-style clients):

{
  "mcpServers": {
    "fluotest": {
      "type": "http",
      "url": "https://fluotest.com/api/mcp",
      "headers": {
        "Authorization": "Bearer fluo_YOUR_API_KEY"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add --transport http fluotest https://fluotest.com/api/mcp \
  --header "Authorization: Bearer fluo_YOUR_API_KEY"

Full API reference: keys, headers & curl examples →

Available tools#

The server currently exposes two tools:

  • create_quiz: Creates a draft quiz owned by you: a title, an optional description, and a list of questions — yes_no (with points for "yes"), multiple_choice / multi_select (with a score per option), or open for unscored text. Returns the quiz ID and a dashboard link; the quiz stays unpublished until you publish it.
  • get_results: Takes a quiz ID and returns the submission count, disqualified count, average / lowest / highest score percent, and — when the quiz has score tiers configured — how many respondents landed in each tier.

Example create_quiz arguments

{
  "title": "Marketing readiness check",
  "description": "Score how ready a business is to run paid ads.",
  "questions": [
    { "text": "Do you have a documented strategy?", "type": "yes_no", "points": 2 },
    {
      "text": "How often do you review results?",
      "type": "multiple_choice",
      "options": [
        { "label": "Monthly", "score": 3 },
        { "label": "Yearly", "score": 1 },
        { "label": "Never", "score": 0 }
      ]
    },
    { "text": "Anything else we should know?", "type": "open" }
  ]
}

OAuth endpoint reference#

MCP clients discover these automatically from the server's 401 response and the discovery document — you only need them if a client asks for endpoints explicitly. Try the OIDC discovery URL first; it resolves the rest.

EndpointURL
OIDC discoveryhttps://abvrtonacdgcxpkkrpie.supabase.co/auth/v1/.well-known/openid-configuration
Authorizationhttps://abvrtonacdgcxpkkrpie.supabase.co/auth/v1/oauth/authorize
Tokenhttps://abvrtonacdgcxpkkrpie.supabase.co/auth/v1/oauth/token
JWKShttps://abvrtonacdgcxpkkrpie.supabase.co/auth/v1/.well-known/jwks.json

FAQ#

Which quizzes can a connected assistant see?

Only yours. Every tool call runs as your user account under the same permission rules as the app, so an assistant can't read other users' quizzes or results.

How do I revoke access?

API keys: revoke them in Settings → Security → API keys — the key stops working immediately. OAuth: remove the connector in your AI assistant; its stored tokens are discarded and no new ones are issued without going through consent again.

Can it publish quizzes?

No. create_quiz always creates an unpublished draft. You review and publish it from the FluoTest dashboard.

Is the MCP server free?

Yes — it's available on every plan, including free accounts.