Connect

Connect DealScore to n8n

DealScore is a remote MCP server at https://cardealscore.com/api/mcp (Streamable HTTP). In n8n, an MCP Client Tool node connects score_deal to an AI Agent. DealScore's default for a client that can open a browser is OAuth 2.1 with PKCE. A workflow run does not open a browser, so this page uses Header Auth and the x-api-key header.

Add the MCP Client Tool

  1. In a workflow, add an AI Agent node.
  2. Add an MCP Client Tool node and connect its tool output to the AI Agent.
  3. Set Server Transport to HTTP Streamable. On node version 1.2 and later that is the default. The current default version is 1.4.
  4. Set Endpoint to https://cardealscore.com/api/mcp.
  5. Set Authentication to Header Auth and attach the credential below.
  6. Leave Tools to Include on All, or switch it to Selected and include score_deal. All also exposes explain_grade and health.
  7. Attach your own chat model to the AI Agent. Ask it to call score_deal with a year, make, model, asking price, and mileage. ZIP is optional.

MCP Client Tool

Endpoint: https://cardealscore.com/api/mcp
Server Transport: HTTP Streamable
Authentication: Header Auth
Header name: x-api-key
Header value: YOUR_KEY

Create the key at /keys. A workflow run does not open a browser, so Header Auth is the path to use. Bearer Auth with the same key also works. Full setup: /integrations/n8n.

The MCP Client Tool docs page still names the URL field SSE Endpoint. That is version 1 of the node. Version 1.1 and later call the field Endpoint, and version 1.2 and later add Server Transport. DealScore does not serve SSE, so a version 1 node cannot reach it.

Header Auth

Create a key on /keys. In n8n, create a Header Auth credential. Name is x-api-key. Value is the key. Select that credential on the MCP Client Tool. DealScore needs that one header.

Bearer Auth sends Authorization: Bearer and the same key. DealScore accepts that header on MCP and on POST /api/score. Header Auth is the one that sends x-api-key.

Node version 1.2 and later also lists MCP OAuth2. n8n's MCP OAuth2 credential can register a client with the server (dynamic client registration is on by default) and has an optional Resource URL. Header Auth is the setup on this page.

Workflow file

Import this workflow, then attach the Header Auth credential and your own chat model. The file has no credentials and no API key.

Download dealscore-n8n-workflow.json

dealscore-n8n-workflow.json

{
  "name": "DealScore score_deal",
  "nodes": [
    {
      "parameters": {
        "content": "## DealScore\n\nThis file has no credentials.\n\n1. Create a Header Auth credential. Name: x-api-key. Value: a key from https://cardealscore.com/keys.\n2. On the DealScore node, choose that credential.\n3. Connect the node to an AI Agent tool input and attach your own chat model.\n\nDo not paste a key into this file.",
        "height": 260,
        "width": 420
      },
      "id": "b7e1c0a2-4d5f-4a61-9c10-0a1b2c3d4e5f",
      "name": "Read me",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -40,
        -20
      ]
    },
    {
      "parameters": {
        "endpointUrl": "https://cardealscore.com/api/mcp",
        "serverTransport": "httpStreamable",
        "authentication": "headerAuth",
        "include": "all",
        "options": {}
      },
      "id": "c8f2d1b3-5e60-4b72-8d21-1b2c3d4e5f60",
      "name": "DealScore",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "typeVersion": 1.4,
      "position": [
        460,
        80
      ]
    }
  ],
  "connections": {},
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "tags": []
}

A recorded score_deal response

This is a recorded production score for a 2020 Toyota Camry listed at $18,500 with 62,000 miles, ZIP 33803. The same payload is on /used-car-price-api. The call was POST /api/score, which uses the same engine and response shape as MCP score_deal. It was not made from n8n. comps_summary, brief, and risks were not in that recording. Prices move with the market, so a later call returns different numbers.

score_deal arguments

{
  "year": 2020,
  "make": "Toyota",
  "model": "Camry",
  "asking_price": 18500,
  "mileage": 62000,
  "zip": "33803"
}

score_deal response

{
  "grade": "Great",
  "score": 100,
  "expected_price": 22378,
  "expected_price_low": 13999,
  "expected_price_high": 32997,
  "delta_pct": -0.1733,
  "confidence": 0.92,
  "coverage": "scored",
  "rubric_version": "score_v1",
  "data_source": "live",
  "vehicle": {
    "year": 2020,
    "make": "Toyota",
    "model": "Camry"
  },
  "comps_count": 17
}

The ask is 17.3% under the expected $22,378. That sits in the Great band, 10% or more under the expected price. The score is 100 because an ask below the expected price clamps to 100. ZIP 33803 narrows comps to a local market. This response counted 17 comps with data_source: live and coverage: scored, so the call counted against the meter. How the bands are drawn: /guides/how-deal-grades-work.

If the tool list stays empty

  • Server Transport is HTTP Streamable and Endpoint is https://cardealscore.com/api/mcp. SSE Endpoint is the version 1 field, and DealScore has no SSE URL.
  • Authentication is Header Auth. Name is x-api-key. Value is the key from /keys, with no Bearer prefix in that value.
  • coverage: cannot_score with a null grade means comps were too thin. The connection worked.
  • score_quota_exceeded means the monthly cap is spent. The connection worked. Plans: /pricing.

Directory links:

Directory links

https://cardealscore.com/integrations/n8n?ref=n8n&utm_source=n8n&utm_medium=mcp_directory
https://cardealscore.com/agents?ref=n8n&utm_source=n8n&utm_medium=mcp_directory

Sources: MCP Client Tool, MCP credentials.

What the agent can call

score_deal grades a deal. Send asking_price and mileage, plus a VIN or year, make, and model. trim and zip are optional. explain_grade maps a delta_pct to a grade without fetching comps. health reports coverage and limits. Free includes 5 scored calls a month and Builder is $19/mo (founding price) for 1,000 scored calls a month. Only coverage: scored counts, and explain_grade and health are never metered. Plans: /pricing. Argument details: /docs/api. Test arguments in the browser first: /try.

Other clients

Cursor, VS Code, Claude Code, Claude Desktop, Codex, ChatGPT. The REST call and a recorded response are on /used-car-price-api. Every client is also listed on /agents.