{
  "data": {
    "a": {
      "slug": "affinity",
      "name": "Affinity",
      "vendor": "Project Affinity, Inc.",
      "vendorUrl": "https://www.affinity.co",
      "kind": "http-api",
      "category": "crm",
      "summary": "Affinity is a relationship CRM for venture capital and private equity firms, from Project Affinity, Inc. Agents reach it through a versioned REST API with a public OpenAPI file and a hosted MCP server, on the Scale plan and above.",
      "url": "https://www.anchorterminal.com/tools/affinity",
      "markdownUrl": "https://www.anchorterminal.com/tools/affinity.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/affinity.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/affinity.json",
      "dns": "affinity.grade.anchorterminal.com",
      "license": "Proprietary service under Affinity's master subscription agreement. The `affinity-mcp` package on PyPI is MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.affinity.co/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "affinity-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "A paying customer's user makes an API key in Settings, Manage Apps, which needs the Generate an API key permission from the firm's admin. API v2 takes the key as a Bearer token. A key acts with all of its owner's permissions, has no scopes or expiry, can be revoked, and can be tied to an IP allowlist. The hosted MCP server takes OAuth 2.0 through login.affinity.co, with a read-only choice at consent, or the same API key in an `Authorization` header. There is no self-serve signup. Outside developers building for shared customers sign the Affinity Developer Agreement.",
      "pricing": "paid",
      "pricingNotes": "From $2,300 a user a year (Scale), the lowest plan with the API and the MCP server. Essential is $2,000 without either, Advanced $2,700, Enterprise on quote, all billed yearly and bought through sales. Scale and Advanced include 100,000 API calls a month, MCP calls counted in, and Enterprise has no monthly cap. No free tier or sandbox was found, and trial accounts can't use the API (https://www.affinity.co/product/affinity-pricing, checked 2026-10-08).",
      "priceSummary": "$191.67 / seat-mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 75,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 268,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.affinity.co",
      "llmsTxt": "https://developer.affinity.co/llms.txt",
      "openapi": "https://developer.affinity.co/api-reference/openapi.json",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "paid",
        "sales-led",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "closed-source",
        "python",
        "status-page",
        "soc2",
        "iso27001",
        "private-capital"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.1,
        "grade": "B",
        "agentReady": false,
        "rank": 570,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 70,
          "payments": 10,
          "reliability": 59,
          "schema": 91,
          "security": 66,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 file, dated API versions with migration notes and a hosted MCP server with a read-only OAuth scope give an agent a well-documented way in. Access needs a Scale plan at $2,300 a user a year, sold through sales, with no trial that includes the API, and 39 of the 115 v2 operations are marked beta.",
        "bestFor": "Venture capital, private equity and other private capital firms that already run Affinity and want an agent to read relationship strength, pipeline lists, notes and meetings, then update fields and log notes.",
        "strengths": [
          "Public OpenAPI 3.1.1 files for three dated versions (2024-01-01, 2026-07-15, 2026-09-17), 115 operations in the newest, plus `llms.txt` and Markdown copies of every docs page",
          "Breaking changes ship only in new dated versions, selected per key or per request with `X-Affinity-Api-Version`, each with written migration steps",
          "Hosted MCP server at `https://mcp.affinity.co/mcp` takes OAuth with a read-only scope chosen at consent, and admins can switch off any AI client for the whole firm",
          "Every MCP delete and merge shows what it will affect and waits for confirmation, and the `affinity-mcp` package sets `readOnlyHint` and `destructiveHint` on its tools",
          "Dated API changelog with seventeen entries between 5 August and 28 October 2026"
        ],
        "weaknesses": [
          "No self-serve access. Every plan button reads Contact sales, the Essential plan has no API, and trial accounts can't call the API",
          "39 of 115 v2 operations are beta, among them create person, the search endpoints, webhooks, teams and files, and the docs say beta endpoints can break without notice or versioning",
          "API keys carry their owner's full permissions with no per-key scopes or expiry. Scoped OAuth apps for the API are in early access only",
          "No idempotency keys and no Retry-After or backoff guidance found. Scale and Advanced plans stop at 100,000 calls a month across API and MCP",
          "The hosted MCP server lists 75 tools and skills and returns notes, transcripts and files, with no prompt-injection guidance found",
          "The published master terms forbid using the product or Affinity Data for machine learning or natural language processing, and forbid publishing benchmarks"
        ],
        "agentNotes": [
          "Send `X-Affinity-Api-Version: 2026-09-17` on every request. Without it a key's default version applies, and an OAuth app with no pinned version falls back to 2024-01-01",
          "Read `x-ratelimit-limit-user-remaining` and `x-ratelimit-limit-org-remaining` on each response. The limits are 900 calls a minute per user and, below Enterprise, 100,000 a month per account, shared by v1, v2 and MCP",
          "Follow `pagination.nextUrl` for the next page, and pass `fieldIds` or `fieldTypes` so list calls return only the fields needed",
          "Check for duplicates before a create. There are no idempotency keys, so a retried POST can make a second record",
          "For MCP, untick the write scope at OAuth consent when the task only reads. Treat note, transcript and file text as untrusted input"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.1
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 70,
          "payments": 10,
          "reliability": 59,
          "schema": 91,
          "security": 66,
          "transparency": 64
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uvx affinity-mcp",
        "http": "curl https://api.affinity.co/v2/persons -H \"Authorization: Bearer \u003cYOUR_API_KEY\u003e\" -H \"X-Affinity-Api-Version: 2026-09-17\"",
        "claudeCode": "claude mcp add --transport http affinity-mcp https://mcp.affinity.co/mcp",
        "config": {
          "mcpServers": {
            "affinity-mcp": {
              "args": [
                "affinity-mcp"
              ],
              "command": "uvx",
              "env": {
                "AFFINITY_API_KEY": "your_api_key_here"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/affinity"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Scale",
          "unit": "seat-month",
          "usd": 191.67,
          "note": "$2,300 a user a year, billed yearly. Lowest plan with the API and MCP, 100,000 calls a month"
        },
        {
          "item": "Advanced",
          "unit": "seat-month",
          "usd": 225,
          "note": "$2,700 a user a year, billed yearly. 100,000 calls a month"
        }
      ],
      "provenance": {
        "legalEntity": "Project Affinity, Inc.",
        "domain": "affinity.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://cdn.prod.website-files.com/6372644369a530caa8c39dfc/69aa97b4ff59044c68b6df92_Affinity%20MSA%20-%202025-10-30%2C%20v2025.2%20%5BNO%20SIG%5D.pdf?v=2",
        "privacy": "https://www.affinity.co/legal/privacy-policy",
        "statusPage": "https://status.affinity.co",
        "changelog": "https://developer.affinity.co/pages/changelog/previous-changes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The master subscription agreement (v2025.2, listed as updated 30 October 2025) names Project Affinity, Inc., a Delaware corporation at 182 Howard Street, PMB #3, San Francisco, CA 94105. It is the customer contract, published as a PDF linked from https://www.affinity.co/legal.",
          "Outside developers building for shared customers are governed by the Affinity Developer Agreement (v2025.1, listed as updated 18 September 2025), also linked from the legal page. The page at /legal/terms-of-use is the website terms of 16 July 2018 and is not used here.",
          "The privacy policy is marked updated July 2026 and covers personal data gathered through the services. Customer data is handled under the DPA (March 2025 online terms).",
          "The API answers at api.affinity.co and the hosted MCP server at mcp.affinity.co, both on the vendor's domain.",
          "https://www.affinity.co/.well-known/security.txt and https://affinity.co/.well-known/security.txt both returned 404.",
          "Domain registration date not established. The three RDAP services we tried returned 404 or no answer for affinity.co."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/affinity.json",
      "live": {
        "slug": "affinity",
        "probe": {
          "target": "https://api.affinity.co/v2",
          "method": "get",
          "lastAt": "2026-11-07T18:20:08.549289561Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 488,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.97,
          "p50ms24h": 455,
          "p95ms24h": 540,
          "samples24h": 239,
          "samples30d": 7420,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 246
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.affinity.co",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:20:31.858744531Z"
        },
        "versions": [
          {
            "registry": "pypi",
            "name": "affinity-mcp",
            "version": "0.7.1",
            "released": "2026-10-28",
            "seenAt": "2026-11-06T23:03:02.589208789Z"
          }
        ],
        "pypiWeekly": 655,
        "securityTxt": {
          "url": "https://affinity.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:17.874334517Z"
        },
        "llmsTxt": {
          "url": "https://developer.affinity.co/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:05.441918819Z"
        },
        "domain": {
          "domain": "affinity.co",
          "checkedAt": "2026-11-01T14:25:04.603019773Z"
        },
        "pages": [
          {
            "url": "https://developer.affinity.co/pages/changelog/previous-changes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:50.203158357Z",
            "changedAt": "2026-11-07T14:02:50.203158357Z",
            "fingerprint": "0626fe09d4fa"
          },
          {
            "url": "https://www.affinity.co/product/affinity-pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:24:21.584387527Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d0c26fe96565"
          },
          {
            "url": "https://www.affinity.co/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:24:16.152692256Z",
            "changedAt": "2026-10-14T21:09:45.651867086Z",
            "fingerprint": "8098b5ce1ce5"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.affinity.co/mcp",
          "checkedAt": "2026-11-07T01:42:19.140355527Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:42:19.140355527Z"
        },
        "updatedAt": "2026-11-07T18:20:08.549289561Z"
      }
    },
    "answer": "Affinity scores 62.1 (B) on agent readiness against Breakcold's 58 (C), and leads in 4 of 7 scored categories. Breakcold leads on payments \u0026 pricing.",
    "b": {
      "slug": "breakcold",
      "name": "Breakcold",
      "vendor": "Logike SAS",
      "vendorUrl": "https://www.breakcold.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "Breakcold is a CRM for small sales teams that syncs email, LinkedIn, WhatsApp and Telegram conversations into one pipeline. Agents reach its records, tasks, notes and inbox through a REST API and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/breakcold",
      "markdownUrl": "https://www.anchorterminal.com/tools/breakcold.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/breakcold.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/breakcold.json",
      "dns": "breakcold.grade.anchorterminal.com",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.breakcold.com/mcp/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "API keys (`bc_live_` prefix) are created in Settings \u003e API keys with chosen scopes (records, tasks, notes, inbox, inbox send, CRM metadata and others, read and write separate), an optional workspace limit and an expiry, shown once and revocable, with activity history. MCP clients can instead sign in by OAuth with PKCE through WorkOS AuthKit and dynamic client registration. Multi-organisation users send `X-Breakcold-Organization-Id`.",
      "pricing": "paid",
      "pricingNotes": "One plan in three sizes: X1 $99 a month (1 seat), X5 $199 (5 seats) and X20 $499 (20 seats), each with MCP access, 10% off quarterly and 20% off yearly. Extra seats $10 a month. A 14-day trial needs a card. API and MCP calls draw on a weekly AI usage allowance at 0.2 tokens a read and 0.4 a write; a weekly reset costs $50.",
      "priceSummary": "$99 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI spec, auth.md, the docs or the pricing page (checked 2026-11-06). Calls draw on a plan's weekly usage allowance.",
        "endpoints": []
      },
      "toolCount": 72,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.breakcold.com/api/overview",
      "llmsTxt": "https://docs.breakcold.com/llms.txt",
      "openapi": "https://docs.breakcold.com/api/openapi.json",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks",
        "email.send",
        "email.threads"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "paid",
        "trial",
        "webhooks",
        "idempotency",
        "eu"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58,
        "grade": "C",
        "agentReady": false,
        "rank": 766,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 60,
          "payments": 15,
          "reliability": 45,
          "schema": 90,
          "security": 60,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Breakcold's API and hosted MCP server are built for agents, with an OpenAPI contract, scoped and expiring keys, published rate limits, idempotency keys and message sends that stay drafts until confirmed. No status page, SLA or security certification was found, and the only trial needs a card on a plan from $99 a month.",
        "bestFor": "Small sales teams who run outreach on email and social channels and want an agent to keep records, tasks and replies in order.",
        "strengths": [
          "API keys take scopes, a workspace limit and an expiry, and MCP also accepts OAuth with PKCE",
          "Compose and send tools draft by default and send only with an explicit `sendMode`",
          "OpenAPI 3.1 contract of 70 described operations, llms.txt and Markdown docs",
          "Rate limits published per organisation, workspace, identity and route, with Retry-After and `retryAfterMs`",
          "Public DPA with a provider inventory and 30 days' notice of new subprocessors"
        ],
        "weaknesses": [
          "No status page or SLA was found; status.breakcold.com did not answer",
          "72 MCP tools by default, and their annotations are not published",
          "The only trial needs a card, and plans start at $99 a month",
          "No security.txt, bug bounty or security certification found",
          "No official SDK, and the CRM MCP server is not in the official MCP registry"
        ],
        "agentNotes": [
          "Call `capabilities_list` or `tools_search` first to see which tools the granted scopes allow",
          "Send an Idempotency-Key on REST creates and a stable idempotency key on `records_create`, so retries return the original result",
          "Leave `sendMode` unset on compose and send tools until the user has confirmed the message",
          "Pass `fields` on record lists to cut the response to the fields you need",
          "On 429 wait for Retry-After or `retryAfterMs`; over MCP the error code is -32029"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 60,
          "payments": 15,
          "reliability": 45,
          "schema": 90,
          "security": 60,
          "transparency": 69
        },
        "provenanceScore": 64,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://rest.breakcold.com/api/v1/workspaces\" -H \"Authorization: Bearer YOUR_API_KEY\"",
        "claudeCode": "claude mcp add --transport http breakcold https://mcp.breakcold.com/mcp/v1",
        "config": {
          "mcpServers": {
            "breakcold": {
              "url": "https://mcp.breakcold.com/mcp/v1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/breakcold"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "X1 plan (1 seat)",
          "unit": "month",
          "usd": 99,
          "note": "Billed monthly; 10% off quarterly, 20% off yearly"
        },
        {
          "item": "X5 plan (5 seats)",
          "unit": "month",
          "usd": 199,
          "note": "AI usage five times X1"
        },
        {
          "item": "X20 plan (20 seats)",
          "unit": "month",
          "usd": 499,
          "note": "AI usage twenty times X1"
        },
        {
          "item": "Extra seat or connected account",
          "unit": "seat-month",
          "usd": 10,
          "note": "On every plan"
        }
      ],
      "provenance": {
        "legalEntity": "Logike SAS",
        "domain": "breakcold.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.breakcold.com/legal/terms-and-conditions",
        "privacy": "https://www.breakcold.com/legal/privacy",
        "statusPage": "",
        "changelog": "https://docs.breakcold.com/api/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms and conditions (19 October 2026) name Logike SAS, SIREN 902303395, RCS Paris, share capital EUR 1,000, 128 rue de la Boétie, 75008 Paris, under French law. A services agreement, developer terms (3 September 2026), DPA (27 October 2026) and vulnerability disclosure policy (3 September 2026) sit in the legal centre.",
          "The developer terms ask integrations to respect published rate limits and not rotate keys to evade them; no clause against reading public pages was found.",
          "www.breakcold.com/robots.txt allows all but /admin and /api with Content-Signal ai-train=no, search=yes, ai-input=yes; docs.breakcold.com allows all; rest.breakcold.com and mcp.breakcold.com carry only content-signal comments. One unauthenticated GET to rest.breakcold.com/api/v1/openapi.json, sent before its robots.txt was read, answered 401.",
          "/.well-known/security.txt returns 404. status.breakcold.com failed the TLS handshake. Domain registration date not checked.",
          "WebFetch received 404 for the pricing and legal pages, which answered 200 to a plain request, so those were read with curl."
        ],
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/breakcold.json",
      "live": {
        "slug": "breakcold",
        "probe": {
          "target": "https://mcp.breakcold.com/mcp/v1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:14.868914805Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 133,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 62,
          "p95ms24h": 146,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "securityTxt": {
          "url": "https://breakcold.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:18.103639801Z"
        },
        "llmsTxt": {
          "url": "https://docs.breakcold.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:44.782472776Z"
        },
        "pages": [
          {
            "url": "https://docs.breakcold.com/api/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:05:21.53355824Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f02d2d2285f0"
          },
          {
            "url": "https://www.breakcold.com/legal/privacy",
            "kind": "privacy",
            "status": 404,
            "checkedAt": "2026-11-07T14:26:05.166026349Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.breakcold.com/legal/terms-and-conditions",
            "kind": "terms",
            "status": 404,
            "checkedAt": "2026-11-07T14:26:07.751718301Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.breakcold.com/mcp/v1",
          "checkedAt": "2026-11-07T01:42:53.267576496Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:42:53.267576496Z"
        },
        "updatedAt": "2026-11-07T18:20:14.868914805Z"
      }
    },
    "edges": [
      {
        "by": 14,
        "category": "reliability",
        "leads": "affinity",
        "name": "Reliability",
        "reasons": {
          "a": "Status page at status.affinity.co with component history and separate components for External API v1, External API v2 and MCP (20). Its history feed shows one incident touching the APIs in the 90 days to 2 November 2026, \"Disruption with All Services\" on 3 September 2026, posted at 15:15 PDT with \"errors or an inability to access the service\" put down to its cloud provider, recovery seen at 15:35 and resolved at 16:18, 63 minutes in all. The incident page lists every component as affected, the CRM, External API v1 and v2, MCP, processing pipelines, mobile apps and extensions, though Affinity rated it minor. An outage of every service with errors across the board reads as a major in this run, however short (10). The 8 October reading of 15 sat between checklist values. Other entries concerned Affinity Analytics (11 August, 15 minutes) and a maintenance window announced on 14 August for 29 August, neither counted. Limits published, 900 requests a minute per user and 100,000 a month per account on Scale and Advanced (15). The docs tell integrators to handle 429 and every response carries `x-ratelimit-*` headers with seconds to reset, but we found no Retry-After, no backoff guidance and no idempotency keys (8 of 15). No SLA in the master subscription agreement. The trust centre lists a Service-Level Agreement item whose text we couldn't read (0). API v2 has stable dated versions, but 39 of 115 operations are beta and the `affinity-mcp` package is classed Beta on PyPI (6 of 10). Hosted lines used. 20 + 10 + 15 + 8 + 0 + 6 = 59.",
          "b": "Graded as a hosted service on the REST API and hosted MCP server. No status page is linked from the site or docs, and status.breakcold.com failed the TLS handshake (0). With no readable history the incident line scores 5. Rate limits published per organisation (600 a minute), workspace (300), identity or key (180) and route (120), for REST and MCP (15). 429 carries Retry-After and `retryAfterMs`, the docs give backoff guidance, and creates take an Idempotency-Key so retries return the original result (15). No SLA found in the services agreement summary, the pricing page or the docs (0). Neither surface is marked beta (10). 0 + 5 + 15 + 15 + 0 + 10 = 45."
        },
        "scores": {
          "a": 59,
          "b": 45
        }
      },
      {
        "by": 10,
        "category": "maintenance",
        "leads": "affinity",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Newest API changelog entry 28 October 2026, and `affinity-mcp` 0.7.0 and 0.7.1 on PyPI the same day (30). Seventeen dated changelog entries since 4 August 2026, among them version 2026-09-17 on 17 September, plus `affinity-mcp` 0.6.0 (21 October) and 0.7.0 and 0.7.1 (28 October) (20). Closed service with a public changelog, a support address and a feedback endpoint. We didn't test support (10 of 15). Not in the official MCP registry under its own namespace, where a search returns only third-party servers, and no official API SDKs. The official `affinity-mcp` package is on PyPI (5 of 15). `affinity-mcp` 0.7.1 is classed Beta, requires Python 3.13 and has no public repository or CI we could find (5 of 10).",
          "b": "API changelog entry on 6 November 2026 (30). More than 60 dated entries since 8 August 2026 (20). Closed service with a public API changelog, an RSS feed, a help centre and support by email; no public issue tracker (10 of 15). The CRM MCP server is not in the official MCP registry (the registry's io.github.breakcold/inboxmcp is a separate product at inbox-mcp.com), and no official SDK exists (0). No package to check (0). 30 + 20 + 10 + 0 + 0 = 60."
        },
        "scores": {
          "a": 70,
          "b": 60
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "affinity",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "The hosted MCP server takes OAuth 2.0 with scopes `mcp`, `mcp.read`, `api`, `api.read` and `offline_access`. Since the 8 October check Affinity documents OAuth apps for the API too, with PKCE, those scopes, one-day access tokens and 90-day refresh tokens, but they are in early access and must be switched on by Affinity, so they aren't credited yet. API keys are named, revocable, several per user and can be tied to an IP allowlist, but carry all of their owner's permissions with no per-key scope or expiry. v2 takes the key only as a Bearer header (25 of 30). Read-only access can be chosen at OAuth consent, admins can disable each AI client for the firm, and every delete and merge waits for confirmation. An API key has no read-only mode (16 of 20). The server returns notes, transcripts, email subjects and files written by outsiders, and the MCP security page still gives no prompt-injection guidance (3 of 15). Manage Apps shows each key's owner, last use and revoked history and the account's usage, and the local server can export OpenTelemetry traces. No per-call audit log for the operator is documented (7 of 15). SOC 2 Type II and ISO 27001, 27017 and 27018 on the trust centre and security page, a yearly third-party penetration test, and a bug bounty the security page mentions without a public programme page. No security.txt (15 of 20).",
          "b": "API keys take chosen read and write scopes, an optional workspace limit and an expiry, are shown once, show activity history and can be revoked. MCP also accepts OAuth with PKCE through WorkOS AuthKit. Tokens travel in headers (30). Read-only keys are possible and message sends stay drafts until `sendMode` is set after the user confirms (17 of 20). The inbox returns email, LinkedIn, WhatsApp and Telegram text from outside parties, and no prompt-injection guidance was found (0). API key activity history is visible to the user; no organisation audit log was found (7 of 15). A vulnerability disclosure policy (3 September 2026) with reports to support@breakcold.com, no bounty, no security.txt (404) and no SOC 2 or ISO 27001 found (6 of 20). 30 + 17 + 0 + 7 + 6 = 60."
        },
        "scores": {
          "a": 66,
          "b": 60
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "breakcold",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-seat yearly prices are public, Essential $2,000, Scale $2,300 and Advanced $2,700 a user a year, with no per-call price and every plan sold through sales (10). No free tier or card-free trial that reaches the API. The help centre says trial accounts can't use the API until they buy Scale or above (0). A person at a paying firm makes the key or approves OAuth in a browser (0).",
          "b": "No x402, MPP or L402 (0). Plan prices are public, and each call's cost in usage tokens is published, but the money value of a token is not (10). The 14-day trial needs a card (0). auth.md documents an agent identity endpoint that takes an identity assertion or an anonymous request followed by a claim by a person, which we read and did not call; access still needs a paid or card-backed trial account (5 of 20). 0 + 10 + 0 + 5 = 15."
        },
        "scores": {
          "a": 10,
          "b": 15
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Project Affinity, Inc.",
        "b": "Logike SAS",
        "name": "Vendor"
      },
      {
        "a": "https://api.affinity.co/v2",
        "b": "https://mcp.breakcold.com/mcp/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Affinity's master subscription agreement. The `affinity-mcp` package on PyPI is MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "75",
        "b": "72",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "268 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Affinity scores 62.1 (B) on agent readiness against Breakcold's 58 (C), and leads in 4 of 7 scored categories. Breakcold leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Affinity or Breakcold?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Affinity and Breakcold need an API key?"
      },
      {
        "answer": "Yes. Affinity has a hosted endpoint at https://api.affinity.co/v2 and Breakcold at https://mcp.breakcold.com/mcp/v1.",
        "question": "Can an agent call Affinity and Breakcold without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 59 against 45",
          "Security \u0026 auth, 66 against 60",
          "Maintenance \u0026 community, 70 against 60"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Venture capital, private equity and other private capital firms that already run Affinity and want an agent to read relationship strength, pipeline lists, notes and meetings, then update fields and log notes.",
        "slug": "affinity",
        "watchFor": "No self-serve access. Every plan button reads Contact sales, the Essential plan has no API, and trial accounts can't call the API"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 15 against 10"
        ],
        "also": null,
        "goodFor": "Small sales teams who run outreach on email and social channels and want an agent to keep records, tasks and replies in order.",
        "slug": "breakcold",
        "watchFor": "No status page or SLA was found; status.breakcold.com did not answer"
      }
    ],
    "history": {
      "affinity": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-02",
          "delta": -1,
          "from": 63.1,
          "fromGrade": "B",
          "to": 62.1,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.3,
          "from": 63.4,
          "fromGrade": "B",
          "to": 63.1,
          "toGrade": "B"
        }
      ],
      "breakcold": null
    },
    "job": {
      "capability": "crm.records",
      "name": "CRM records"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-attio.json",
        "title": "Affinity vs Attio API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-attio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-capsule-crm.json",
        "title": "Affinity vs Capsule CRM",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-capsule-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-close.json",
        "title": "Affinity vs Close API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-close"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-copper.json",
        "title": "Affinity vs Copper API",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-copper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-dynamics-365-sales.json",
        "title": "Affinity vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-folk.json",
        "title": "Affinity vs folk API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-folk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-freshsales.json",
        "title": "Affinity vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-freshsales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-hubspot-mcp.json",
        "title": "Affinity vs HubSpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-hubspot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-nutshell.json",
        "title": "Affinity vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-payani-ai.json",
        "title": "Affinity vs Payani AI",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-payani-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-pipedrive.json",
        "title": "Affinity vs Pipedrive API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-pipedrive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-relaticle.json",
        "title": "Affinity vs Relaticle",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-relaticle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-salesflare.json",
        "title": "Affinity vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-salesflare"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-salesforce.json",
        "title": "Affinity vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-streak.json",
        "title": "Affinity vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-sugarcrm.json",
        "title": "Affinity vs SugarAI (SugarCRM)",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-sugarcrm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-twenty.json",
        "title": "Affinity vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-zoho-crm.json",
        "title": "Affinity vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-breakcold.json",
        "title": "Attio API + MCP vs Breakcold",
        "url": "https://www.anchorterminal.com/compare/attio-vs-breakcold"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-capsule-crm.json",
        "title": "Breakcold vs Capsule CRM",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-capsule-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-close.json",
        "title": "Breakcold vs Close API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-close"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-copper.json",
        "title": "Breakcold vs Copper API",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-copper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-dynamics-365-sales.json",
        "title": "Breakcold vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-folk.json",
        "title": "Breakcold vs folk API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-folk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-freshsales.json",
        "title": "Breakcold vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-freshsales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-hubspot-mcp.json",
        "title": "Breakcold vs HubSpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-hubspot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-nutshell.json",
        "title": "Breakcold vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-payani-ai.json",
        "title": "Breakcold vs Payani AI",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-payani-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-pipedrive.json",
        "title": "Breakcold vs Pipedrive API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-pipedrive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-relaticle.json",
        "title": "Breakcold vs Relaticle",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-relaticle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-salesflare.json",
        "title": "Breakcold vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-salesflare"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-salesforce.json",
        "title": "Breakcold vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-streak.json",
        "title": "Breakcold vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-sugarcrm.json",
        "title": "Breakcold vs SugarAI (SugarCRM)",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-sugarcrm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-twenty.json",
        "title": "Breakcold vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breakcold-vs-zoho-crm.json",
        "title": "Breakcold vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/breakcold-vs-zoho-crm"
      }
    ],
    "panel": null,
    "scores": [
      {
        "affinity": 59,
        "breakcold": 45,
        "by": 14,
        "edge": "affinity",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "affinity": 91,
        "breakcold": 90,
        "by": 1,
        "edge": "affinity",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "affinity": 66,
        "breakcold": 67,
        "by": 1,
        "edge": "breakcold",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "affinity": 66,
        "breakcold": 60,
        "by": 6,
        "edge": "affinity",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "affinity": 10,
        "breakcold": 15,
        "by": 5,
        "edge": "breakcold",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "affinity": 70,
        "breakcold": 60,
        "by": 10,
        "edge": "affinity",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "affinity": 67,
        "breakcold": 67,
        "by": 0,
        "edge": "",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Affinity scores 62.1 (B) on agent readiness against Breakcold's 58 (C), and leads in 4 of 7 scored categories. Breakcold leads on payments \u0026 pricing. Both do crm records.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "affinity": "A public OpenAPI 3.1 file, dated API versions with migration notes and a hosted MCP server with a read-only OAuth scope give an agent a well-documented way in. Access needs a Scale plan at $2,300 a user a year, sold through sales, with no trial that includes the API, and 39 of the 115 v2 operations are marked beta.",
      "breakcold": "Breakcold's API and hosted MCP server are built for agents, with an OpenAPI contract, scoped and expiring keys, published rate limits, idempotency keys and message sends that stay drafts until confirmed. No status page, SLA or security certification was found, and the only trial needs a card on a plan from $99 a month."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/affinity-vs-breakcold",
    "json": "https://www.anchorterminal.com/compare/affinity-vs-breakcold.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/affinity-vs-breakcold.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/affinity-vs-breakcold.min.md"
  },
  "markdown": "Affinity scores 62.1 (B) on agent readiness against Breakcold's 58 (C), and leads in 4 of 7 scored categories. Breakcold leads on payments \u0026 pricing. Both do crm records.\n\n- Affinity: grade B, 62.1/100, rank #570 of 1486. Markdown https://www.anchorterminal.com/tools/affinity.md · JSON https://www.anchorterminal.com/api/v1/tools/affinity.json\n- Breakcold: grade C, 58/100, rank #766 of 1486. Markdown https://www.anchorterminal.com/tools/breakcold.md · JSON https://www.anchorterminal.com/api/v1/tools/breakcold.json\n- Best CRM and customer-platform tools for AI agents: https://www.anchorterminal.com/best/crm/index.md\n- All 190 crm comparisons: https://www.anchorterminal.com/compare/crm/index.md\n\n## Which one, for what\n\n### Affinity (B)\n\nGood for: Venture capital, private equity and other private capital firms that already run Affinity and want an agent to read relationship strength, pipeline lists, notes and meetings, then update fields and log notes.\n\nAhead on:\n- Reliability, 59 against 45\n- Security \u0026 auth, 66 against 60\n- Maintenance \u0026 community, 70 against 60\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No self-serve access. Every plan button reads Contact sales, the Essential plan has no API, and trial accounts can't call the API\n\n### Breakcold (C)\n\nGood for: Small sales teams who run outreach on email and social channels and want an agent to keep records, tasks and replies in order.\n\nAhead on:\n- Payments \u0026 pricing, 15 against 10\n\nWatch for: No status page or SLA was found; status.breakcold.com did not answer\n\n\n## Why the edge\n\n### Reliability: Affinity +14\n\n- Affinity (59): Status page at status.affinity.co with component history and separate components for External API v1, External API v2 and MCP (20). Its history feed shows one incident touching the APIs in the 90 days to 2 November 2026, \"Disruption with All Services\" on 3 September 2026, posted at 15:15 PDT with \"errors or an inability to access the service\" put down to its cloud provider, recovery seen at 15:35 and resolved at 16:18, 63 minutes in all. The incident page lists every component as affected, the CRM, External API v1 and v2, MCP, processing pipelines, mobile apps and extensions, though Affinity rated it minor. An outage of every service with errors across the board reads as a major in this run, however short (10). The 8 October reading of 15 sat between checklist values. Other entries concerned Affinity Analytics (11 August, 15 minutes) and a maintenance window announced on 14 August for 29 August, neither counted. Limits published, 900 requests a minute per user and 100,000 a month per account on Scale and Advanced (15). The docs tell integrators to handle 429 and every response carries `x-ratelimit-*` headers with seconds to reset, but we found no Retry-After, no backoff guidance and no idempotency keys (8 of 15). No SLA in the master subscription agreement. The trust centre lists a Service-Level Agreement item whose text we couldn't read (0). API v2 has stable dated versions, but 39 of 115 operations are beta and the `affinity-mcp` package is classed Beta on PyPI (6 of 10). Hosted lines used. 20 + 10 + 15 + 8 + 0 + 6 = 59.\n- Breakcold (45): Graded as a hosted service on the REST API and hosted MCP server. No status page is linked from the site or docs, and status.breakcold.com failed the TLS handshake (0). With no readable history the incident line scores 5. Rate limits published per organisation (600 a minute), workspace (300), identity or key (180) and route (120), for REST and MCP (15). 429 carries Retry-After and `retryAfterMs`, the docs give backoff guidance, and creates take an Idempotency-Key so retries return the original result (15). No SLA found in the services agreement summary, the pricing page or the docs (0). Neither surface is marked beta (10). 0 + 5 + 15 + 15 + 0 + 10 = 45.\n\n### Maintenance \u0026 community: Affinity +10\n\n- Affinity (70): Newest API changelog entry 28 October 2026, and `affinity-mcp` 0.7.0 and 0.7.1 on PyPI the same day (30). Seventeen dated changelog entries since 4 August 2026, among them version 2026-09-17 on 17 September, plus `affinity-mcp` 0.6.0 (21 October) and 0.7.0 and 0.7.1 (28 October) (20). Closed service with a public changelog, a support address and a feedback endpoint. We didn't test support (10 of 15). Not in the official MCP registry under its own namespace, where a search returns only third-party servers, and no official API SDKs. The official `affinity-mcp` package is on PyPI (5 of 15). `affinity-mcp` 0.7.1 is classed Beta, requires Python 3.13 and has no public repository or CI we could find (5 of 10).\n- Breakcold (60): API changelog entry on 6 November 2026 (30). More than 60 dated entries since 8 August 2026 (20). Closed service with a public API changelog, an RSS feed, a help centre and support by email; no public issue tracker (10 of 15). The CRM MCP server is not in the official MCP registry (the registry's io.github.breakcold/inboxmcp is a separate product at inbox-mcp.com), and no official SDK exists (0). No package to check (0). 30 + 20 + 10 + 0 + 0 = 60.\n\n### Security \u0026 auth: Affinity +6\n\n- Affinity (66): The hosted MCP server takes OAuth 2.0 with scopes `mcp`, `mcp.read`, `api`, `api.read` and `offline_access`. Since the 8 October check Affinity documents OAuth apps for the API too, with PKCE, those scopes, one-day access tokens and 90-day refresh tokens, but they are in early access and must be switched on by Affinity, so they aren't credited yet. API keys are named, revocable, several per user and can be tied to an IP allowlist, but carry all of their owner's permissions with no per-key scope or expiry. v2 takes the key only as a Bearer header (25 of 30). Read-only access can be chosen at OAuth consent, admins can disable each AI client for the firm, and every delete and merge waits for confirmation. An API key has no read-only mode (16 of 20). The server returns notes, transcripts, email subjects and files written by outsiders, and the MCP security page still gives no prompt-injection guidance (3 of 15). Manage Apps shows each key's owner, last use and revoked history and the account's usage, and the local server can export OpenTelemetry traces. No per-call audit log for the operator is documented (7 of 15). SOC 2 Type II and ISO 27001, 27017 and 27018 on the trust centre and security page, a yearly third-party penetration test, and a bug bounty the security page mentions without a public programme page. No security.txt (15 of 20).\n- Breakcold (60): API keys take chosen read and write scopes, an optional workspace limit and an expiry, are shown once, show activity history and can be revoked. MCP also accepts OAuth with PKCE through WorkOS AuthKit. Tokens travel in headers (30). Read-only keys are possible and message sends stay drafts until `sendMode` is set after the user confirms (17 of 20). The inbox returns email, LinkedIn, WhatsApp and Telegram text from outside parties, and no prompt-injection guidance was found (0). API key activity history is visible to the user; no organisation audit log was found (7 of 15). A vulnerability disclosure policy (3 September 2026) with reports to support@breakcold.com, no bounty, no security.txt (404) and no SOC 2 or ISO 27001 found (6 of 20). 30 + 17 + 0 + 7 + 6 = 60.\n\n### Payments \u0026 pricing: Breakcold +5\n\n- Affinity (10): No x402, MPP or L402 (0). Per-seat yearly prices are public, Essential $2,000, Scale $2,300 and Advanced $2,700 a user a year, with no per-call price and every plan sold through sales (10). No free tier or card-free trial that reaches the API. The help centre says trial accounts can't use the API until they buy Scale or above (0). A person at a paying firm makes the key or approves OAuth in a browser (0).\n- Breakcold (15): No x402, MPP or L402 (0). Plan prices are public, and each call's cost in usage tokens is published, but the money value of a token is not (10). The 14-day trial needs a card (0). auth.md documents an agent identity endpoint that takes an identity assertion or an anonymous request followed by a claim by a person, which we read and did not call; access still needs a paid or card-backed trial account (5 of 20). 0 + 10 + 0 + 5 = 15.\n\n## Score by category\n\n| Category | Weight | Affinity | Breakcold | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 45 | Affinity +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 90 | Affinity +1 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 67 | Breakcold +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 60 | Affinity +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 15 | Breakcold +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 60 | Affinity +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 67 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62.1 · B** | **58 · C** | |\n\n## Facts side by side\n\n| Fact | Affinity | Breakcold |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Project Affinity, Inc. | Logike SAS |\n| Hosted endpoint | `https://api.affinity.co/v2` | `https://mcp.breakcold.com/mcp/v1` |\n| Transports | HTTP, Streamable HTTP, stdio | Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Affinity's master subscription agreement. The `affinity-mcp` package on PyPI is MIT | none |\n| Tools exposed | 75 | 72 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-28 | 2026-11-06 |\n| Terms last updated | not read yet | couldn't be read |\n| Privacy policy last updated | 2026-07-01 | couldn't be read |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | 268 PyPI/wk | none |\n| Agent reviews | 3.3/5 (4) | none |\n\n## How the scores have moved\n\n### Affinity\n\n- -1.0 on 2 November 2026: correction\n- -0.3 on 30 October 2026: checklist\n\n### Breakcold\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Affinity.** A public OpenAPI 3.1 file, dated API versions with migration notes and a hosted MCP server with a read-only OAuth scope give an agent a well-documented way in. Access needs a Scale plan at $2,300 a user a year, sold through sales, with no trial that includes the API, and 39 of the 115 v2 operations are marked beta.\n\n**Breakcold.** Breakcold's API and hosted MCP server are built for agents, with an OpenAPI contract, scoped and expiring keys, published rate limits, idempotency keys and message sends that stay drafts until confirmed. No status page, SLA or security certification was found, and the only trial needs a card on a plan from $99 a month.\n\n## Before you call either\n\n### Affinity\n\n1. Send `X-Affinity-Api-Version: 2026-09-17` on every request. Without it a key's default version applies, and an OAuth app with no pinned version falls back to 2024-01-01\n2. Read `x-ratelimit-limit-user-remaining` and `x-ratelimit-limit-org-remaining` on each response. The limits are 900 calls a minute per user and, below Enterprise, 100,000 a month per account, shared by v1, v2 and MCP\n3. Follow `pagination.nextUrl` for the next page, and pass `fieldIds` or `fieldTypes` so list calls return only the fields needed\n4. Check for duplicates before a create. There are no idempotency keys, so a retried POST can make a second record\n5. For MCP, untick the write scope at OAuth consent when the task only reads. Treat note, transcript and file text as untrusted input\n\n### Breakcold\n\n1. Call `capabilities_list` or `tools_search` first to see which tools the granted scopes allow\n2. Send an Idempotency-Key on REST creates and a stable idempotency key on `records_create`, so retries return the original result\n3. Leave `sendMode` unset on compose and send tools until the user has confirmed the message\n4. Pass `fields` on record lists to cut the response to the fields you need\n5. On 429 wait for Retry-After or `retryAfterMs`; over MCP the error code is -32029\n\n## Questions\n\n### Which is better for AI agents, Affinity or Breakcold?\n\nAffinity scores 62.1 (B) on agent readiness against Breakcold's 58 (C), and leads in 4 of 7 scored categories. Breakcold leads on payments \u0026 pricing.\n\n### Do Affinity and Breakcold need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Affinity and Breakcold without installing anything?\n\nYes. Affinity has a hosted endpoint at https://api.affinity.co/v2 and Breakcold at https://mcp.breakcold.com/mcp/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/affinity-vs-breakcold.json, and with the fewest tokens: https://www.anchorterminal.com/compare/affinity-vs-breakcold.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"affinity\", \"b\": \"breakcold\"}`. From a terminal: `anchor compare affinity breakcold`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/affinity.json and https://www.anchorterminal.com/api/v1/tools/breakcold.json\n\n## Other comparisons with Affinity or Breakcold\n\n- [Affinity vs Attio API + MCP](https://www.anchorterminal.com/compare/affinity-vs-attio.md)\n- [Affinity vs Capsule CRM](https://www.anchorterminal.com/compare/affinity-vs-capsule-crm.md)\n- [Affinity vs Close API + MCP](https://www.anchorterminal.com/compare/affinity-vs-close.md)\n- [Affinity vs Copper API](https://www.anchorterminal.com/compare/affinity-vs-copper.md)\n- [Affinity vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/affinity-vs-dynamics-365-sales.md)\n- [Affinity vs folk API + MCP](https://www.anchorterminal.com/compare/affinity-vs-folk.md)\n- [Affinity vs Freshsales API](https://www.anchorterminal.com/compare/affinity-vs-freshsales.md)\n- [Affinity vs HubSpot API + MCP](https://www.anchorterminal.com/compare/affinity-vs-hubspot-mcp.md)\n- [Affinity vs Nutshell](https://www.anchorterminal.com/compare/affinity-vs-nutshell.md)\n- [Affinity vs Payani AI](https://www.anchorterminal.com/compare/affinity-vs-payani-ai.md)\n- [Affinity vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/affinity-vs-pipedrive.md)\n- [Affinity vs Relaticle](https://www.anchorterminal.com/compare/affinity-vs-relaticle.md)\n- [Affinity vs Salesflare](https://www.anchorterminal.com/compare/affinity-vs-salesflare.md)\n- [Affinity vs Salesforce API + MCP](https://www.anchorterminal.com/compare/affinity-vs-salesforce.md)\n- [Affinity vs Streak API + MCP](https://www.anchorterminal.com/compare/affinity-vs-streak.md)\n- [Affinity vs SugarAI (SugarCRM)](https://www.anchorterminal.com/compare/affinity-vs-sugarcrm.md)\n- [Affinity vs Twenty API + MCP](https://www.anchorterminal.com/compare/affinity-vs-twenty.md)\n- [Affinity vs Zoho CRM](https://www.anchorterminal.com/compare/affinity-vs-zoho-crm.md)\n- [Attio API + MCP vs Breakcold](https://www.anchorterminal.com/compare/attio-vs-breakcold.md)\n- [Breakcold vs Capsule CRM](https://www.anchorterminal.com/compare/breakcold-vs-capsule-crm.md)\n- [Breakcold vs Close API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-close.md)\n- [Breakcold vs Copper API](https://www.anchorterminal.com/compare/breakcold-vs-copper.md)\n- [Breakcold vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/breakcold-vs-dynamics-365-sales.md)\n- [Breakcold vs folk API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-folk.md)\n- [Breakcold vs Freshsales API](https://www.anchorterminal.com/compare/breakcold-vs-freshsales.md)\n- [Breakcold vs HubSpot API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-hubspot-mcp.md)\n- [Breakcold vs Nutshell](https://www.anchorterminal.com/compare/breakcold-vs-nutshell.md)\n- [Breakcold vs Payani AI](https://www.anchorterminal.com/compare/breakcold-vs-payani-ai.md)\n- [Breakcold vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-pipedrive.md)\n- [Breakcold vs Relaticle](https://www.anchorterminal.com/compare/breakcold-vs-relaticle.md)\n- [Breakcold vs Salesflare](https://www.anchorterminal.com/compare/breakcold-vs-salesflare.md)\n- [Breakcold vs Salesforce API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-salesforce.md)\n- [Breakcold vs Streak API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-streak.md)\n- [Breakcold vs SugarAI (SugarCRM)](https://www.anchorterminal.com/compare/breakcold-vs-sugarcrm.md)\n- [Breakcold vs Twenty API + MCP](https://www.anchorterminal.com/compare/breakcold-vs-twenty.md)\n- [Breakcold vs Zoho CRM](https://www.anchorterminal.com/compare/breakcold-vs-zoho-crm.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Affinity vs Breakcold",
        "url": ""
      }
    ],
    "description": "Affinity scores 62.1 (B) to Breakcold's 58 (C) for crm records. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Affinity B 62.1",
      "Breakcold C 58",
      "scores"
    ],
    "h1": "Affinity vs Breakcold",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/affinity-vs-breakcold",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Affinity vs Breakcold for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/affinity-vs-breakcold"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2380
  },
  "version": 1
}
