> ## Documentation Index
> Fetch the complete documentation index at: https://docs.preuve.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started

> A viability score, competitors, and source-linked evidence, from the agent you already use.

Know if an idea is worth building before you ship. Preuve gives Cursor, Claude, or Codex a viability score, competitors, and source-linked evidence, the same analysis as [preuve.ai](https://preuve.ai).

Paste one prompt, or run one command. Starter scans are free.

<Steps>
  <Step title="Get access">
    Two doors, and only one of them puts a key in your hands.

    **Connector (OAuth).** Add `https://mcp.preuve.ai/mcp` as a connector in claude.ai, to Cursor, Claude Code or Codex with no header, or to any MCP client that signs you in over OAuth. This works on a free account: Preuve mints the key and installs it in the client for you, so there is nothing to copy or store. Starter scans cost nothing, a deep scan still spends paid quota. Skip straight to the **claude.ai**, **Cursor**, **Claude Code** or **Codex** tab in step 2, and revoke the connection anytime from [API key settings](https://preuve.ai/app?settings=apiKeys).

    **Manual key.** The header-based setups below (the "Already have a key?" variants, `mcp-remote`) and [direct HTTP calls](/quickstart) need a key you hold yourself. Create one at [Account → API Keys](https://preuve.ai/app?settings=apiKeys), self-serve on a paid personal plan or in a Consultant or Agency workspace with an active subscription or a one-time unlock. It is the only path that shows you a `prv_...` value, so copy it when it appears, it's shown once.

    ```bash theme={null}
    export PREUVE_API_KEY=prv_...
    ```
  </Step>

  <Step title="Connect">
    One connection, then your agent can score ideas in the chat. The **claude.ai**, **Cursor**, **Claude Code** and **Codex** tabs are the no-key path, and so is **Other clients** for any client with MCP OAuth. The rest send your `prv_...` key as a header, so keep it out of the chat.

    <Tabs>
      <Tab title="Your agent">
        No key yet? In Cursor, claude.ai, Claude Code or Codex, use their tab instead, or add the server URL with no header in any other client with MCP OAuth: they sign you in, on a free account too. With a manually created key, paste this as-is. The agent will tell you where to put it.

        ```text theme={null}
        I want to validate startup ideas with Preuve: viability score, competitors, source-linked evidence.

        Add the Preuve MCP server.

        1. I have a Preuve API key (prv_...) from https://preuve.ai/app?settings=apiKeys.
           Use it even where the client offers sign-in, so the scopes I chose
           carry over. Do NOT ask me to paste the key into chat. Put it in
           MCP config / env.

        2. Add the remote server at https://mcp.preuve.ai/mcp (HTTP):
           - Claude Code:
             claude mcp add preuve --transport http https://mcp.preuve.ai/mcp \
               --header "Authorization: Bearer <key>"
           - Cursor: ~/.cursor/mcp.json:
             { "mcpServers": { "preuve": { "url": "https://mcp.preuve.ai/mcp",
               "headers": { "Authorization": "Bearer <key>" } } } }
           - Claude Desktop config:
             {
               "mcpServers": {
                 "preuve": {
                   "url": "https://mcp.preuve.ai/mcp",
                   "headers": { "Authorization": "Bearer <key>" }
                 }
               }
             }
           - Codex:
             export PREUVE_API_KEY=<key>
             codex mcp add preuve --url https://mcp.preuve.ai/mcp \
               --bearer-token-env-var PREUVE_API_KEY
           - Clients that only support stdio:
             npx -y mcp-remote https://mcp.preuve.ai/mcp \
               --header "Authorization: Bearer <key>"

        3. Confirm these 5 tools appear: start_analysis, get_analysis,
           enrich_analysis, export_analysis, generate_ideas. A sixth, get_agency, is
           listed for client work on a Consultant or Agency workspace, which is also
           what workspace: "agency" on start_analysis, get_analysis and
           export_analysis acts on — 6 tools in total. They are advertised
           to every client, so seeing get_agency on a personal account is normal. Two
           different refusals, and they mean opposite things: 403 INSUFFICIENT_SCOPE
           means the KEY lacks the one scope that call needs — agency:write to start a
           client analysis, agency:read for get_agency and the other two agency
           calls, enforced per route so neither implies the other (every key
           created before 2026-09-09 holds
           neither, and scopes cannot be widened after creation — reconnect the
           connector, which works on any plan but only if that client rebuilds its
           scope request from our discovery document rather than replaying a cached
           one, so check the consent screen lists the Agency permissions before
           approving; or make a new key with Agency access ticked, which needs a paid
           personal plan or a subscribed or unlocked Consultant or Agency workspace), while 404
           AGENCY_NOT_FOUND means the key has the scope but the ACCOUNT belongs to no
           Consultant or Agency workspace. There are also two prompts, validate_idea and generate_ideas,
           that you can pick from the client.

        4. First test with scanType "starter" only (it costs nothing):
           start_analysis on my idea, poll get_analysis, show me the viability score.

        Read https://docs.preuve.ai/agent-skill.md first.
        ```
      </Tab>

      <Tab title="Claude Code">
        ```bash theme={null}
        claude mcp add preuve --transport http https://mcp.preuve.ai/mcp
        ```

        Then type `/mcp` in Claude Code, pick `preuve` and sign in with Preuve in the browser it opens. Approve, and Preuve creates a key for Claude Code, on any plan including free. No key to copy.

        Already have a key? Send it instead:

        ```bash theme={null}
        claude mcp add preuve --transport http https://mcp.preuve.ai/mcp \
          --header "Authorization: Bearer $PREUVE_API_KEY"
        ```
      </Tab>

      <Tab title="Cursor">
        Add this to `~/.cursor/mcp.json` (or the project `.cursor/mcp.json`):

        ```json theme={null}
        {
          "mcpServers": {
            "preuve": {
              "url": "https://mcp.preuve.ai/mcp"
            }
          }
        }
        ```

        Cursor opens Preuve sign-in the first time it connects. Approve, and Preuve creates a key for Cursor, on any plan including free. No key to copy. Revoke it anytime from [API key settings](https://preuve.ai/app?settings=apiKeys).

        Already have a key? Send it instead, and Cursor skips the sign-in:

        ```json theme={null}
        {
          "mcpServers": {
            "preuve": {
              "url": "https://mcp.preuve.ai/mcp",
              "headers": {
                "Authorization": "Bearer prv_..."
              }
            }
          }
        }
        ```
      </Tab>

      <Tab title="Codex">
        ```bash theme={null}
        codex mcp add preuve --url https://mcp.preuve.ai/mcp
        codex mcp login preuve
        ```

        The login opens Preuve sign-in in your browser. Approve, and Preuve creates a key for Codex, on any plan including free.

        Already have a key? Save it in `PREUVE_API_KEY`, then:

        ```bash theme={null}
        codex mcp add preuve \
          --url https://mcp.preuve.ai/mcp \
          --bearer-token-env-var PREUVE_API_KEY
        ```
      </Tab>

      <Tab title="claude.ai">
        In claude.ai (web or desktop): **Settings → Connectors → Add custom connector**. Paste:

        ```text theme={null}
        https://mcp.preuve.ai/mcp
        ```

        Sign in with Preuve and approve. Works on a free account. There is no key to copy: Preuve mints one for the connector and installs it, and the value is never shown. Revoke it anytime from [API key settings](https://preuve.ai/app?settings=apiKeys).
      </Tab>

      <Tab title="Other clients">
        If your client supports MCP OAuth, add `https://mcp.preuve.ai/mcp` with no header and sign in with Preuve, on a free account too. No key to copy.

        If your client cannot use a remote HTTP MCP server, bridge with [`mcp-remote`](https://www.npmjs.com/package/mcp-remote):

        ```json theme={null}
        {
          "mcpServers": {
            "preuve": {
              "command": "npx",
              "args": [
                "-y",
                "mcp-remote",
                "https://mcp.preuve.ai/mcp",
                "--header",
                "Authorization: Bearer prv_..."
              ]
            }
          }
        }
        ```
      </Tab>
    </Tabs>

    Tool list and extra install options: [MCP server](/mcp-server).
  </Step>

  <Step title="Get a score">
    Ask. A starter scan is free and usually done in 1-3 minutes.

    ```text theme={null}
    Validate this idea with a starter scan: "AI bookkeeping for solo lawyers in France"
    ```

    A deep scan spends your paid quota. Ask for one only when you want the full report.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="MCP tools" icon="plug" href="/mcp-server">
    Score, enrich, and export an idea from the chat.
  </Card>

  <Card title="Agent Skill" icon="graduation-cap" href="/agent-skill">
    Same validation, without your agent spending a paid scan by accident.
  </Card>

  <Card title="HTTP API" icon="code" href="/quickstart">
    Same verdict, as JSON, from your own code.
  </Card>

  <Card title="Quotas" icon="credit-card" href="/quotas-and-billing">
    Starter is free. Deep uses the same quota as the web app.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.