Model Context Protocol

Driftline in your AI assistant

Two read-only MCP servers. Connect Claude, Claude Code, Cursor, or any MCP client, then ask about vendor terms, AI training rights, and material changes in plain language.

Endpoints

Two servers, both read-only

  • Public server · No sign-in

    What driftlinesecure.com already publishes: the Vendor AI Census and the public vendor drift pages.

    Endpoint
    https://driftlinesecure.com/api/v1/public/mcp
    • Sign-in: None
    • Access: Read-only
    • Transport: Streamable HTTP, stateless
    • Tools: 4
    • Limits: Rate-limited per IP address
  • Org server · Enterprise · on request

    Your organization's tracked vendors: AI posture, change history, blast radius, and evidence packs. Part of the Enterprise plan, enabled per organization on request.

    Endpoint
    https://driftlinesecure.com/api/v1/intel/mcp
    • Sign-in: API key in the Authorization header
    • Access: Read-only, scoped to your organization's tracked vendors
    • Transport: Streamable HTTP, stateless
    • Tools: 24
    • Metering: Each tools/call counts as one API request

Setup

Connect a client

Steps checked against each client's own documentation on September 12, 2026.

  • Claude on the web, Desktop, and mobile

    Add Driftline as a custom connector.

    1. Open Customize › Connectors and choose Add custom connector. On a Team or Enterprise plan, an owner adds it from Organization settings › Connectors › Add › Custom, and members then connect it from Customize › Connectors.
    2. Name it Driftline, paste the server URL, and click Add. The public server needs no sign-in.
    3. In a conversation, open + › Connectors and switch Driftline on.
    4. Connectors you add on the web or in Claude Desktop are also available in the iOS and Android apps.
    5. Claude Desktop uses the same connectors. Don't add Driftline to claude_desktop_config.json: that file is for local servers.

    Org server request header: authorization with value Bearer dl_your_api_key. For the org server, choose No sign-in and add this request header, including Bearer before the key. Request headers are in beta for a limited set of organizations, and everyone in your Claude organization shares the key.

  • Claude Code

    Add a server from your terminal.

    1. Run the command for the server you want.
    2. Inside Claude Code, run /mcp to check the connection and see the tools.
    Public server
    claude mcp add --transport http driftline-public \
      https://driftlinesecure.com/api/v1/public/mcp
    Org server · API key
    claude mcp add --transport http driftline \
      https://driftlinesecure.com/api/v1/intel/mcp \
      --header "Authorization: Bearer dl_your_api_key"
  • Cursor

    Add a server to an mcp.json file.

    1. Use .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project.
    2. For the org server, set DRIFTLINE_API_KEY in Cursor's environment. The file reads it as ${env:DRIFTLINE_API_KEY}.
    3. Check that the server is switched on under Customize in Cursor's sidebar.
    Public server
    {
      "mcpServers": {
        "driftline-public": {
          "url": "https://driftlinesecure.com/api/v1/public/mcp"
        }
      }
    }
    Org server · API key
    {
      "mcpServers": {
        "driftline": {
          "url": "https://driftlinesecure.com/api/v1/intel/mcp",
          "headers": {
            "Authorization": "Bearer ${env:DRIFTLINE_API_KEY}"
          }
        }
      }
    }
  • Any MCP client

    Point a Streamable HTTP client at an endpoint, or try the public server with curl.

    1. POST one JSON-RPC message per request; a batch (a JSON array) is refused with a 400. Responses are plain JSON: there is no session to keep and no event stream to hold open.
    2. Send Accept: application/json, text/event-stream, which the Streamable HTTP transport requires.
    3. For the org server, add Authorization: Bearer <your API key>. initialize and tools/list are not metered.
    curl · tools/list
    curl https://driftlinesecure.com/api/v1/public/mcp \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Reference

Tools

Public server

  • about_driftline

    What Driftline is, what this server exposes, and where the org-scoped tools live.

    Input: None

  • get_vendor_ai_census

    Aggregates from the latest published Vendor AI Census: how vendor terms treat AI training, objection windows, and AI subprocessors. Returns published: false when no edition is public.

    Input: None

  • list_public_vendor_pages

    Every vendor with a public drift page: name, website, AI-training posture, and recent material-change count.

    Input: None

  • get_public_vendor_page

    One published vendor's AI-training posture, corporate context, and recent material changes. Returns found: false with a link to the Vendor Drift Report when the vendor has no public page.

    Input: name: a vendor name or domain, 1–200 characters

Org server

One read-only tool per Intel API read route, plus find_vendor, which turns a vendor name or domain into the vendorId the other tools take. Results are the same JSON the REST API returns.

  • Find vendors: find_vendor, list_vendors, get_vendor, get_corporate_profile
  • Changes and incidents: list_changes, list_vendor_changes, get_change, list_activity, list_incidents
  • AI posture: get_ai_posture, get_ai_posture_history, query_ai_posture_register, get_disclosure_gaps, get_market_position
  • Subprocessors and exposure: list_subprocessors, list_ai_exposure, get_blast_radius, get_exposure_graph
  • Scores and evidence: get_risk_score, get_notice_conduct, get_evidence_pack, verify_evidence_pack
  • Sources and documents: list_sources, list_documents

Sample result

One tool call, end to end

The request an assistant sends, and the JSON the tool returns as its single text item. Example Vendor is illustrative, not a real vendor.

Request · tools/call
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_public_vendor_page",
    "arguments": {
      "name": "example.com"
    }
  }
}
Tool result · Sample
{
  "found": true,
  "name": "Example Vendor",
  "website": "https://example.com",
  "posture": {
    "trainingPermission": "permits_with_opt_out",
    "verified": true,
    "asOf": "2026-09-01"
  },
  "corporate": null,
  "qualifyingChangeCount": 3,
  "changes": [
    {
      "classification": "training_rights_changed",
      "severity": "critical",
      "summary": "Terms now permit training on de-identified data.",
      "detectedAt": "2026-09-02T09:14:03.000Z",
      "effectiveDate": "2026-10-01",
      "sourceType": "tos"
    },
    {
      "classification": "ai_subprocessor_added",
      "severity": "high",
      "summary": "Added an AI model provider as a subprocessor.",
      "detectedAt": "2026-08-19T16:40:51.000Z",
      "effectiveDate": null,
      "sourceType": "subprocessor_list"
    },
    {
      "classification": "data_retention_changed",
      "severity": "medium",
      "summary": "Post-termination deletion cut from 90 to 30 days.",
      "detectedAt": "2026-07-07T11:05:27.000Z",
      "effectiveDate": null,
      "sourceType": "dpa"
    }
  ],
  "driftReportUrl": "https://driftlinesecure.com/drift-report"
}
found
true when the vendor has a public drift page. Otherwise false, with a link to the Vendor Drift Report.
posture.trainingPermission
What the vendor's terms say about training on customer data: permits, permits_with_opt_out, prohibits, silent, or unclear.
qualifyingChangeCount
Material changes in the last 12 months. changes lists up to 10 of them, newest first.
changes[].severity
The classifier's severity for each change: medium, high, or critical.
driftReportUrl
Where to get the same analysis for your own vendor list.

Read-only by design

Tools that read, never write

  • Every Driftline tool only reads. None can create, change, or delete anything, in Driftline or anywhere else.
  • Each tool declares readOnlyHint: true, so your client can show that before it runs one.
  • The public server needs no account and returns only what driftlinesecure.com already publishes.
  • An API key goes in the Authorization header, never in a URL.

Privacy and support

What changed in your vendors' terms this year?

Paste your vendor list, confirm your email, and our engine builds your report automatically — the material changes across your vendors in the last 12 months, which of them added AI subprocessors or reserved the right to train on your data, and where your nth-party exposure concentrates. Free, delivered during your working day.

Get your free Vendor Drift Report