CorroborateMe

com.corroboratemePublished by corroborateme.comOfficial publisherv0.2.2Updated Nov 7, 2026

Prove end users to agents and apps: login-links, OIDC clients, and API keys over remote MCP

VerifiedStreamable HTTPWeb executableSecurity & MonitoringBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for proving end users to agents and apps: login-links, OIDC clients, API keys, integration secrets and budget-aware billing.

What you can do
  • Bootstrap a company account and mint or manage API keys
  • Create one-time human login links, poll their status and retry signed notify webhooks
  • Register, revoke and allowlist OIDC relying-party clients and callback URL prefixes
  • Store and list encrypted integration secrets (prefixes only)
  • Check remaining quotas and open Stripe checkout, prepaid machine payment or customer portal links
When to use it
Use it when an agent or app needs to verify who an end user is, for example issuing a login link and waiting for the human to complete it, or when you need company API keys, OIDC client registration and integration secrets managed from one hosted service.
Requirements
A remote Streamable HTTP endpoint; no local package needed. Authentication is required: either an API key sent as an Authorization Bearer header, or MCP OAuth, which itself requires an API key to bind a new client. The key comes from the console after subscribing, or from an agent bootstrap plus prepaid machine payment.
Before you install
The API key is a company-wide secret; keep it out of configs and repositories. Tools can mint new keys, create and revoke OIDC clients, store integration secrets, allowlist callback URLs and create login links, so they change account state. Billing tools create Stripe checkout and prepaid payment flows that spend money. Password sign-in flows exist only over REST, not MCP.

Installation

In SourceWeft

  1. Open CorroborateMe in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.corroborateme%2Fcorroborate-me/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "corroborateme": {
      "type": "http",
      "url": "https://corroborateme.com/mcp/"
    }
  }
}

README

CorroborateMe

Prove end users to agents and apps.

[Remote MCP] [Transport] [Auth] [License: MIT] [Listed on mcpservers.org]

CorroborateMe gives agents and apps company API keys and human login-links with multi-channel notify so they can prove who the end user is - plus OIDC client registration, integration secrets, and budget-aware billing. REST is first-class; MCP is optional.

Live endpoint: https://corroborateme.com/mcp

This repository is the public catalog and schema stub for directory crawlers. It is not the hosted server. Point MCP clients at the live URL above with a CorroborateMe API key (aa_...) or MCP OAuth (PRM at /.well-known/oauth-protected-resource). Binding a new OAuth client requires that aa_... key first (or a console member session). Running the TypeScript in this repo does not authenticate users or store secrets.

Agent guide: see AGENTS.md for discovery URLs, auth, and MCP connect snippets.

Get an API key

Zero-human (agents)

  1. POST https://corroborateme.com/api/agents/bootstrap with optional { "company_name": "...", "contact_email": "[email protected]" } -> bootstrap token (no outbound mail).
  2. POST https://corroborateme.com/api/billing/machine-pay with Authorization: Bearer <bootstrapToken> and optional { "sku": "pro_prepaid_30d" }.
  3. Settle Stripe MPP when enabled (see live GET /api/config for amounts) -> response includes secret (aa_...) when unlock succeeds.

See llms.txt and llms-full.txt. Legal: Terms · Privacy.

Human path

  1. Open corroborateme.com and create an account.
  2. Subscribe on Pricing, then mint an API key in the console. Secrets start with aa_.
  3. Use the company key for REST and MCP.

Never commit a real key. Use the aa_... placeholder in configs.

Connect a client

Transport is Streamable HTTP. Authenticate with either:

  • Authorization: Bearer aa_... (API key from console or bootstrap + machine-pay), or
  • MCP OAuth - get an aa_... key first (bootstrap + machine-pay, or console). Host discovers PRM at /.well-known/oauth-protected-resource, registers via DCR, then binds the client on POST /api/oidc/start with Authorization: Bearer aa_... (company from the key) or a console member session plus company_id before browser consent. A bare company_id is rejected (401).

Cursor

Install via Cursor Marketplace (plugin)

This repo includes a Cursor plugin manifest and root mcp.json for one-click install from the Cursor Marketplace.

  1. Install the CorroborateMe plugin from the marketplace (or clone this repo for local plugin testing).
  2. Open Cursor Settings -> Customize -> CorroborateMe and set CorroborateMe API key (aa_... from bootstrap + machine-pay or the console).
  3. Reload the window. MCP tools should appear under the CorroborateMe server.

The plugin points at https://corroborateme.com/mcp with Authorization: Bearer ${CORROBORATE_ME_API_KEY}. Never commit a real key.

Submit the public repo at cursor.com/marketplace/publish when ready.

Manual MCP config

User or project MCP config:

json
{
  "mcpServers": {
    "corroborate-me": {
      "url": "https://corroborateme.com/mcp",
      "headers": {
        "Authorization": "Bearer aa_..."
      }
    }
  }
}

Claude Desktop / Claude Code

json
{
  "mcpServers": {
    "corroborate-me": {
      "command": "npx",
      "args": ["mcp-remote", "https://corroborateme.com/mcp", "--header", "Authorization: Bearer aa_..."]
    }
  }
}

Generic remote MCP

json
{
  "url": "https://corroborateme.com/mcp",
  "headers": {
    "Authorization": "Bearer aa_..."
  }
}

Discovery manifests on the product host:

Tools

Schemas in src/server.ts match the hosted server.

ToolWhat it does
agent_bootstrapStart humanless company onboarding (email OTP, then bootstrap token)
budget_getRemaining quotas for the authenticated company
billing_checkoutCreate Stripe Checkout URL for human Pro
billing_machine_payAgent prepaid unlock via Stripe MPP (sku optional)
billing_portalStripe Customer Portal URL
keys_createMint a new aa_ API key (shown once)
oauth_client_createRegister an OIDC relying-party client (RP logout enabled; optional post-logout URIs)
oauth_client_revokeSoft-revoke an OIDC relying-party client (stops authorize and token refresh)
integration_upsertStore encrypted integration secret (Google/Apple/etc.)
integration_listList integrations (prefixes only, no secrets)
create_login_linkMint one-time human login URL with notify methods
get_login_statusPoll login-link session status
retry_login_webhookRetry signed webhook delivery after a failed notify
webhook_allowlist_addAllowlist a callback URL prefix

Typical agent loop

  1. Bootstrap with email OTP (agent_bootstrap or REST /api/agents/bootstrap), then unlock prepaid Pro (billing_machine_pay) when needed.
  2. Mint a key with keys_create if you need a durable aa_... secret.
  3. Allowlist callback prefixes (webhook_allowlist_add), then create_login_link for human proof.
  4. Poll with get_login_status (or wait for webhook / redirect / postMessage).
  5. Use REST or MCP for keys, OIDC clients, and integrations as needed.

Login-link password completion (REST only)

There is no MCP tool for password flows. The IdP login page can complete a session with email + password for registered users. OpenAPI documents:

  • POST /api/login-links/{id}/password-login — registered-user password sign-in (see Swagger for the request body)
  • POST /api/login-links/{id}/set-password — set password with a ticket, then complete the session (see Swagger)

Company API keys (aa_...) and MCP tool names are unchanged.

Prefer live docs and llms-full.txt for recipes that may change.

OIDC apps: hosted Change password

Confidential consumer apps that sign users in through CorroborateMe should open CorroborateMe's hosted password page from a settings Change password button. Passwords never pass through your app.

  1. Register the client with exact password_return_uris (separate from authorize redirects).
  2. Your backend calls POST https://corroborateme.com/api/account/password/start with Authorization: Bearer <user access token> and body { "client_id", "client_secret", "return_uri", "state", "display" }. Keep client_secret on the server only.
  3. Open continuation_url in a popup or top-level redirect on the CorroborateMe origin (no iframe).
  4. On return (type=corroborateme.password_management), clear your local session and start a fresh login when reauth_required is true.

Revocation after success: CorroborateMe Continue-as cookies and Better Auth bridge sessions for that user are invalidated, and that user's OAuth grant rows are stamped revoked. Offline-validated access JWTs may still work until expiry; your app must clear your own session. OpenAPI: see Account password in openapi.json (Worker 0.2.2); Swagger for interactive reference.

Auth and errors

  • 401 - missing or invalid Authorization (API key aa_... or MCP OAuth access token)
  • 402 / 429 - plan or quota; follow machine-readable actions from the live API
  • Pricing amounts: read live GET /api/config - do not hardcode dollars as eternal truth (at time of writing: Pro $5.99/mo, agent prepaid Pro $5.99 per 30 days)

Product docs

The CorroborateMe product (Worker, billing, IdP) is closed source. This catalog is MIT-licensed so directories can list tools and install snippets.

Directory listing

Registry name: com.corroborateme/corroborate-me (domain namespace via DNS auth on corroborateme.com). Older versions were published as com.cnrcode/corroborateme.

The registry remote is https://corroborateme.com/mcp/. The Worker serves that path as the same MCP endpoint as https://corroborateme.com/mcp (no redirect). Client install snippets in this repo stay on the no-slash URL. server.json cannot use the no-slash URL: deprecated com.cnrcode/corroborateme still claims it, and registry entries cannot be deleted.

  1. Ensure the TXT record v=MCPv1; k=ed25519; p=<public key> is on the corroborateme.com apex.

  2. Set GitHub repo secret MCP_REGISTRY_KEY_CORROBORATEME (Ed25519 private key hex; never commit it or write it to a file).

  3. Push a version tag so GitHub Actions publishes server.json to the official MCP Registry:

    bash
    git tag v0.2.2
    git push origin v0.2.2

Directories that ingest the official registry (PulseMCP, MCPCentral, MCPFind, Glama connectors) pick the entry up from there. Other directories (Glama server listing, Smithery, mcpservers.org, mcp.directory, MCP Market, McpMux) are submitted by maintainers only. See docs/directory-listings.md.

Stdio stub (directory introspection)

This repo includes a stdio catalog stub (src/main.ts) so directories can build a container, start the process, and introspect the 14 tool definitions. It does not implement auth or billing - clients still connect to the hosted endpoint above.

Local verify:

bash
npm ci && npm run build && npm start   # hangs on stdio - expected
docker build -t corroborate-me-stub . && docker run -i corroborate-me-stub

License

MIT - catalog, documentation, and schema stub only.

Source: README.md at commit f6c501d

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v0.2.2LatestNov 7, 2026
  2. v0.2.1Nov 3, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Corroborateme integrations