{
  "data": {
    "a": {
      "slug": "nutshell",
      "name": "Nutshell",
      "vendor": "Nutshell, Inc.",
      "vendorUrl": "https://www.nutshell.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "Nutshell is a sales CRM for small teams, with email marketing and quoting built in. Agents reach it through a REST API at `app.nutshell.com/rest`, a legacy JSON-RPC API, webhooks and a hosted read-only MCP server.",
      "url": "https://www.anchorterminal.com/tools/nutshell",
      "markdownUrl": "https://www.anchorterminal.com/tools/nutshell.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nutshell.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nutshell.json",
      "license": "Proprietary service under Nutshell's Terms of Service",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.nutshell.com/rest",
      "packages": [],
      "auth": "mixed",
      "authNotes": "REST and JSON-RPC use HTTP Basic over HTTPS, with a Nutshell user's email as the username and an API key as the password. An admin creates keys under Setup, API keys, and chooses a permission type, one of which allows impersonating any user. Keys have no scopes. The MCP server at `https://app.nutshell.com/mcp` uses OAuth authorisation code with PKCE (S256), dynamic client registration at `/oauth/register`, a revocation endpoint and two scopes, `read` and `write`. Access is self-serve on every plan and the trial.",
      "pricing": "paid",
      "pricingNotes": "No free plan. A 14-day trial needs no card, and the API and MCP server are included on every plan. Five plans a seat a month billed yearly, Foundation $13, Growth $25, Pro $42, Business $59 and Enterprise $79, or $19, $32, $49, $67 and $89 billed monthly. API calls are not billed separately. The docs publish sandbox credentials for a demo account (https://www.nutshell.com/pricing, checked 2026-10-08).",
      "priceSummary": "$13 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OAuth metadata or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.nutshell.com/",
      "llmsTxt": "https://developers.nutshell.com/llms.txt",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "llms-txt",
        "webhooks",
        "no-card",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-08-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.6,
        "grade": "D",
        "agentReady": false,
        "rank": 607,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 46,
          "payments": 35,
          "reliability": 42,
          "schema": 57,
          "security": 58,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST reference is served as Markdown with an OpenAPI fragment per operation, and the hosted MCP server uses OAuth with PKCE and can only read. No rate limit numbers, error format or API changelog were found in the reviewed documentation, and API keys carry no scopes.",
        "bestFor": "Small sales teams already on Nutshell who want an agent to read pipeline data over MCP or write records over REST at a low seat price.",
        "strengths": [
          "API access and the MCP server are included on every plan, from Foundation at $13 a seat a month billed yearly",
          "`developers.nutshell.com/llms.txt` indexes 114 REST operations, each served as Markdown with its OpenAPI 3.0 definition",
          "Hosted MCP server at `https://app.nutshell.com/mcp` with OAuth, PKCE, dynamic client registration, a revocation endpoint and read-only tools",
          "Terms and privacy policy of 2 June 2026 both state that customer data is not used to train generalised AI models",
          "14-day trial with no card, and the docs publish sandbox credentials for a demo account"
        ],
        "weaknesses": [
          "No rate limit numbers, 429 handling or Retry-After found for the REST API",
          "Error responses are documented on 9 of 114 operations, with no error body schema, and an unauthenticated REST call returns an HTML page",
          "API keys have no scopes or read-only type, and the key travels as an HTTP Basic password with a user's email",
          "No dated API changelog, no official SDK for REST and whole-spec OpenAPI download is disabled",
          "A database fault on 28 September 2026 left the application unavailable for some customers, marked major on the status page"
        ],
        "agentNotes": [
          "Authenticate REST calls with HTTP Basic, a Nutshell user's email as username and the API key as password, against `https://app.nutshell.com/rest`",
          "Use IDs in the `\u003cnumber\u003e-\u003ctype\u003e` form, such as `3-accounts`, and send updates as JSON Patch with `content-type: application/json-patch+json`",
          "Page lists with `page[limit]` and `page[page]`, which is 0-based, and call `/accounts/list/fields` or the lead and contact equivalents for valid filter keys",
          "Use the REST API for writes. The MCP server only reads, and OAuth tokens need the `read` scope",
          "Filter webhook events yourself, because every webhook receives all events and subscriptions are created in Setup, not through the API"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.6
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 46,
          "payments": 35,
          "reliability": 42,
          "schema": 57,
          "security": 58,
          "transparency": 56
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -u \"$NUTSHELL_USER_EMAIL:$NUTSHELL_API_KEY\" \\\n  --url https://app.nutshell.com/rest/accounts \\\n  --header 'accept: */*'"
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/nutshell"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Foundation (API and MCP included, 100 open leads)",
          "unit": "seat-month",
          "usd": 13,
          "note": "billed yearly; $19 billed monthly"
        },
        {
          "item": "Growth",
          "unit": "seat-month",
          "usd": 25,
          "note": "billed yearly; $32 billed monthly"
        },
        {
          "item": "Pro",
          "unit": "seat-month",
          "usd": 42,
          "note": "billed yearly; $49 billed monthly"
        },
        {
          "item": "Business (first plan with the audit log)",
          "unit": "seat-month",
          "usd": 59,
          "note": "billed yearly; $67 billed monthly"
        },
        {
          "item": "Enterprise (SSO and SQL access)",
          "unit": "seat-month",
          "usd": 79,
          "note": "billed yearly; $89 billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "Nutshell, Inc.",
        "domain": "nutshell.com",
        "domainRegistered": "1995-05-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.nutshell.com/legal/terms",
        "privacy": "https://www.nutshell.com/legal/privacy",
        "statusPage": "https://status.nutshell.com",
        "changelog": "https://www.nutshell.com/product-updates",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 2 June 2026) name Nutshell, Inc., 1705 North Front Street, Harrisburg, PA 17102, cover the applications and APIs, and are governed by Pennsylvania law. The site footer says Nutshell is brought to you by WebFX.",
          "The REST API, the JSON-RPC API and the MCP server all answer at app.nutshell.com.",
          "www.nutshell.com/.well-known/security.txt returns 404. The security page asks for reports at security@nutshell.com and says there is no bug bounty.",
          "The product updates page lists launches without dates and is not an API changelog. No dated API changelog was found.",
          "The subprocessor list is at trust.nutshell.com/subprocessors, a page drawn by script that we could not read.",
          "RDAP for nutshell.com gives a registration date of 1995-05-02."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nutshell.json",
      "live": {
        "slug": "nutshell",
        "probe": {
          "target": "https://app.nutshell.com/rest",
          "method": "get",
          "lastAt": "2026-10-08T21:12:17.00492712Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 254,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 270,
          "p95ms24h": 310,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.nutshell.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:13.221021272Z"
        },
        "updatedAt": "2026-10-08T21:12:17.00492712Z"
      }
    },
    "answer": "Twenty API + MCP scores 65.9 (B) on agent readiness against Nutshell's 49.6 (D), and leads in 5 of 7 scored categories. Nutshell leads on payments \u0026 pricing.",
    "b": {
      "slug": "twenty",
      "name": "Twenty API + MCP",
      "vendor": "Twenty",
      "vendorUrl": "https://twenty.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "Open-source CRM, hosted at twenty.com or self-hosted with Docker.",
      "url": "https://www.anchorterminal.com/tools/twenty",
      "markdownUrl": "https://www.anchorterminal.com/tools/twenty.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/twenty.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/twenty.json",
      "repo": "https://github.com/twentyhq/twenty",
      "license": "AGPL-3.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.twenty.com/rest",
      "packages": [
        {
          "registry": "npm",
          "name": "twenty-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key made under Settings, shown once, and optionally bound to a role to limit what it can touch. OAuth for apps acting for users. The MCP endpoint (https://\u003cworkspace\u003e/mcp) takes OAuth with dynamic client registration or the same API key in the Authorization header.",
      "pricing": "freemium",
      "pricingNotes": "Self-hosting the AGPL core is free (the Pro plan at $0 self-hosted, Organization $19 a user a month yearly or $25 monthly). Cloud Pro $9 a user a month yearly or $12 monthly, Cloud Organization $19 or $25 (adds SSO, row-level permissions and a custom domain), Enterprise from $50,000 a year with an SLA. API, webhooks and MCP are on every cloud plan. The server's billing defaults give a 30-day trial with a card or 7 days without one (https://twenty.com/pricing).",
      "priceSummary": "$9 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments. Access follows the cloud plan or your own server.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 57739,
        "npmWeekly": 25528,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.twenty.com",
      "llmsTxt": "https://docs.twenty.com/llms.txt",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "open-source",
        "self-hosted",
        "local",
        "mcp",
        "llms-txt",
        "webhooks",
        "typescript",
        "freemium"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.9,
        "grade": "B",
        "agentReady": false,
        "rank": 250,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 97,
          "payments": 30,
          "reliability": 46,
          "schema": 88,
          "security": 58,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found.",
        "bestFor": "Teams that want an open-source CRM they can self-host or extend with custom objects, and an MCP server that stays cheap in context.",
        "strengths": [
          "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily",
          "Per-workspace OpenAPI for core and metadata, custom objects included",
          "API keys carry a required expiry, revocation and an optional role binding",
          "AGPL-3.0 core, self-hostable, with fourteen release tags in September 2026",
          "Subprocessors with locations kept in a DPA file that CI syncs weekly"
        ],
        "weaknesses": [
          "No status page found",
          "`execute_tool` isn't flagged destructive even though it can delete records, objects and fields",
          "Cloud limit of 100 requests a minute",
          "Self-hosted telemetry is on by default and sends sign-up emails and names",
          "No SOC 2 or bug bounty found, and the trust centre renders client-side"
        ],
        "agentNotes": [
          "Call `learn_tools` with every tool name you need in one call before `execute_tool`",
          "Build CRUD names from the grammar (`find_many_companies`, `upsert_many_people`) instead of browsing the catalogue",
          "Pass one category to `get_tool_catalog`, since an unfiltered call returns hundreds of operations",
          "Load the matching skill before any workflow or metadata tool, as the server instructions require",
          "Batch up to 60 records a call to stay inside 100 requests a minute"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.9
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 97,
          "payments": 30,
          "reliability": 46,
          "schema": 88,
          "security": 58,
          "transparency": 69
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl \"https://api.twenty.com/rest/companies?limit=5\" -H \"Authorization: Bearer $TWENTY_API_KEY\"",
        "claudeCode": "claude mcp add --transport http twenty https://\u003cyour-workspace\u003e.twenty.com/mcp",
        "config": {
          "mcpServers": {
            "twenty": {
              "headers": {
                "Authorization": "Bearer $TWENTY_API_KEY"
              },
              "type": "streamable-http",
              "url": "https://\u003cyour-workspace\u003e.twenty.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/twenty"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Cloud Pro",
          "unit": "seat-month",
          "usd": 9,
          "note": "billed yearly; API and MCP on every plan"
        },
        {
          "item": "Cloud Organization",
          "unit": "seat-month",
          "usd": 19,
          "note": "billed yearly"
        },
        {
          "item": "Self-hosted",
          "unit": "month",
          "usd": 0,
          "note": "AGPL core, you pay for your own servers"
        }
      ],
      "provenance": {
        "legalEntity": "Twenty.com PBC",
        "domain": "twenty.com",
        "domainRegistered": "2004-09-01",
        "domainNote": "twenty.com was registered in 2004, long before the Twenty project started in 2022.",
        "endpointOnVendorDomain": true,
        "terms": "https://twenty.com/terms",
        "privacy": "https://twenty.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://twenty.com/releases",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "status.twenty.com serves the Twenty app shell rather than a status page, and the website links only a trust centre (trust.twenty.com).",
          "security.txt has Contact and Policy lines but no Expires field."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/twenty.json",
      "live": {
        "slug": "twenty",
        "probe": {
          "target": "https://api.twenty.com/rest",
          "method": "get",
          "lastAt": "2026-10-08T21:12:24.066756448Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 82,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 88,
          "p95ms24h": 274,
          "samples24h": 271,
          "samples30d": 2157,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.twenty.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-01T20:17:49.821013448Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "twentyhq/twenty",
            "version": "twenty/v2.45.0",
            "released": "2026-10-05",
            "seenAt": "2026-10-08T16:32:50.177645094Z"
          },
          {
            "registry": "npm",
            "name": "twenty-sdk",
            "version": "2.45.0",
            "seenAt": "2026-10-08T16:32:49.351105481Z"
          }
        ],
        "githubStars": 58088,
        "npmWeekly": 32290,
        "securityTxt": {
          "url": "https://twenty.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-08T15:38:30.119739495Z"
        },
        "llmsTxt": {
          "url": "https://docs.twenty.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:57.086123141Z"
        },
        "domain": {
          "domain": "twenty.com",
          "registered": "2004-09-01",
          "source": "https://rdap.verisign.com/com/v1/domain/twenty.com",
          "checkedAt": "2026-10-04T13:05:48.954488756Z"
        },
        "pages": [
          {
            "url": "https://twenty.com/releases",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:25.554799495Z",
            "changedAt": "2026-10-08T18:25:25.554799495Z",
            "fingerprint": "fa216dd646e6"
          },
          {
            "url": "https://twenty.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:21.275959527Z",
            "changedAt": "2026-10-08T18:25:21.275959527Z",
            "fingerprint": "7a1ce724e963"
          },
          {
            "url": "https://twenty.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:23.597173912Z",
            "changedAt": "2026-10-08T18:25:23.597173912Z",
            "fingerprint": "8c1f315014b0"
          },
          {
            "url": "https://twenty.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:27.438218174Z",
            "changedAt": "2026-10-08T18:25:27.438218174Z",
            "fingerprint": "42882b9797eb"
          }
        ],
        "updatedAt": "2026-10-08T21:12:24.066756448Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Nutshell, Inc.",
        "b": "Twenty",
        "name": "Vendor"
      },
      {
        "a": "https://app.nutshell.com/rest",
        "b": "https://api.twenty.com/rest",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Nutshell's Terms of Service",
        "b": "AGPL-3.0",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-21",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "2026-06-02",
        "b": "2026-08-07",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-02",
        "b": "2025-10-13",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "58k stars, 26k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Twenty API + MCP scores 65.9 (B) on agent readiness against Nutshell's 49.6 (D), and leads in 5 of 7 scored categories. Nutshell leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Nutshell or Twenty API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Nutshell and Twenty API + MCP need an API key?"
      },
      {
        "answer": "Yes. Nutshell has a hosted endpoint at https://app.nutshell.com/rest and Twenty API + MCP at https://api.twenty.com/rest.",
        "question": "Can an agent call Nutshell and Twenty API + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Nutshell. Twenty API + MCP is open source (AGPL-3.0).",
        "question": "Are Nutshell and Twenty API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 35 against 30"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Small sales teams already on Nutshell who want an agent to read pipeline data over MCP or write records over REST at a low seat price.",
        "slug": "nutshell",
        "watchFor": "No rate limit numbers, 429 handling or Retry-After found for the REST API"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 57",
          "Agent ergonomics, 80 against 44",
          "Maintenance \u0026 community, 97 against 46",
          "Transparency \u0026 trust, 80 against 71"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that want an open-source CRM they can self-host or extend with custom objects, and an MCP server that stays cheap in context.",
        "slug": "twenty",
        "watchFor": "No status page found"
      }
    ],
    "job": {
      "capability": "crm.records",
      "name": "Crm records"
    },
    "others": [
      {
        "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-twenty.json",
        "title": "Affinity vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-nutshell.json",
        "title": "Attio API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/attio-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-twenty.json",
        "title": "Attio API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/attio-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/capsule-crm-vs-nutshell.json",
        "title": "Capsule CRM vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/capsule-crm-vs-twenty.json",
        "title": "Capsule CRM vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/close-vs-nutshell.json",
        "title": "Close API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/close-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/close-vs-twenty.json",
        "title": "Close API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/close-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/copper-vs-nutshell.json",
        "title": "Copper API vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/copper-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/copper-vs-twenty.json",
        "title": "Copper API vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/copper-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell.json",
        "title": "Microsoft Dynamics 365 Sales vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.json",
        "title": "Microsoft Dynamics 365 Sales vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-vs-nutshell.json",
        "title": "folk API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/folk-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-vs-twenty.json",
        "title": "folk API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/folk-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell.json",
        "title": "Freshsales API vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-twenty.json",
        "title": "Freshsales API vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-nutshell.json",
        "title": "HubSpot API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty.json",
        "title": "HubSpot API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-pipedrive.json",
        "title": "Nutshell vs Pipedrive API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-pipedrive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-salesforce.json",
        "title": "Nutshell vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-streak.json",
        "title": "Nutshell vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm.json",
        "title": "Nutshell vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipedrive-vs-twenty.json",
        "title": "Pipedrive API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/pipedrive-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesforce-vs-twenty.json",
        "title": "Salesforce API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesforce-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/streak-vs-twenty.json",
        "title": "Streak API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/streak-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.json",
        "title": "Twenty API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm"
      }
    ],
    "scores": [
      {
        "by": 4,
        "edge": "twenty",
        "key": "reliability",
        "name": "Reliability",
        "nutshell": 42,
        "twenty": 46,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 31,
        "edge": "twenty",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nutshell": 57,
        "twenty": 88,
        "weight": 13
      },
      {
        "by": 36,
        "edge": "twenty",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nutshell": 44,
        "twenty": 80,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "nutshell": 58,
        "twenty": 58,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "nutshell",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nutshell": 35,
        "twenty": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 51,
        "edge": "twenty",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nutshell": 46,
        "twenty": 97,
        "weight": 7
      },
      {
        "by": 9,
        "edge": "twenty",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nutshell": 71,
        "twenty": 80,
        "weight": 7
      }
    ],
    "summary": "Twenty API + MCP scores 65.9 (B) on agent readiness against Nutshell's 49.6 (D), and leads in 5 of 7 scored categories. Nutshell leads on payments \u0026 pricing. Both do crm records.",
    "verdicts": {
      "nutshell": "The REST reference is served as Markdown with an OpenAPI fragment per operation, and the hosted MCP server uses OAuth with PKCE and can only read. No rate limit numbers, error format or API changelog were found in the reviewed documentation, and API keys carry no scopes.",
      "twenty": "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nutshell-vs-twenty",
    "json": "https://www.anchorterminal.com/compare/nutshell-vs-twenty.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nutshell-vs-twenty.md",
    "slim": "https://www.anchorterminal.com/compare/nutshell-vs-twenty.min.md"
  },
  "markdown": "Twenty API + MCP scores 65.9 (B) on agent readiness against Nutshell's 49.6 (D), and leads in 5 of 7 scored categories. Nutshell leads on payments \u0026 pricing. Both do crm records.\n\n- Nutshell: grade D, 49.6/100, rank #607 of 722. Markdown https://www.anchorterminal.com/tools/nutshell.md · JSON https://www.anchorterminal.com/api/v1/tools/nutshell.json\n- Twenty API + MCP: grade B, 65.9/100, rank #250 of 722. Markdown https://www.anchorterminal.com/tools/twenty.md · JSON https://www.anchorterminal.com/api/v1/tools/twenty.json\n\n## Which one, for what\n\n### Nutshell (D)\n\nGood for: Small sales teams already on Nutshell who want an agent to read pipeline data over MCP or write records over REST at a low seat price.\n\nAhead on:\n- Payments \u0026 pricing, 35 against 30\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No rate limit numbers, 429 handling or Retry-After found for the REST API\n\n### Twenty API + MCP (B)\n\nGood for: Teams that want an open-source CRM they can self-host or extend with custom objects, and an MCP server that stays cheap in context.\n\nAhead on:\n- Schema \u0026 documentation, 88 against 57\n- Agent ergonomics, 80 against 44\n- Maintenance \u0026 community, 97 against 46\n- Transparency \u0026 trust, 80 against 71\n\nAlso in its favour:\n- Open source\n\nWatch for: No status page found\n\n\n## Score by category\n\n| Category | Weight | Nutshell | Twenty API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 46 | Twenty API + MCP +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 88 | Twenty API + MCP +31 |\n| Agent ergonomics | 13% (16.2 this run) | 44 | 80 | Twenty API + MCP +36 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 58 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | Nutshell +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 46 | 97 | Twenty API + MCP +51 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 80 | Twenty API + MCP +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.6 · D** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | Nutshell | Twenty API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Nutshell, Inc. | Twenty |\n| Hosted endpoint | `https://app.nutshell.com/rest` | `https://api.twenty.com/rest` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Nutshell's Terms of Service | AGPL-3.0 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-21 | 2026-09-30 |\n| Terms last updated | 2026-06-02 | 2026-08-07 |\n| Privacy policy last updated | 2026-06-02 | 2025-10-13 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 58k stars, 26k npm/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\n\n**Nutshell.** The REST reference is served as Markdown with an OpenAPI fragment per operation, and the hosted MCP server uses OAuth with PKCE and can only read. No rate limit numbers, error format or API changelog were found in the reviewed documentation, and API keys carry no scopes.\n\n**Twenty API + MCP.** Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found.\n\n## Before you call either\n\n### Nutshell\n\n1. Authenticate REST calls with HTTP Basic, a Nutshell user's email as username and the API key as password, against `https://app.nutshell.com/rest`\n2. Use IDs in the `\u003cnumber\u003e-\u003ctype\u003e` form, such as `3-accounts`, and send updates as JSON Patch with `content-type: application/json-patch+json`\n3. Page lists with `page[limit]` and `page[page]`, which is 0-based, and call `/accounts/list/fields` or the lead and contact equivalents for valid filter keys\n4. Use the REST API for writes. The MCP server only reads, and OAuth tokens need the `read` scope\n5. Filter webhook events yourself, because every webhook receives all events and subscriptions are created in Setup, not through the API\n\n### Twenty API + MCP\n\n1. Call `learn_tools` with every tool name you need in one call before `execute_tool`\n2. Build CRUD names from the grammar (`find_many_companies`, `upsert_many_people`) instead of browsing the catalogue\n3. Pass one category to `get_tool_catalog`, since an unfiltered call returns hundreds of operations\n4. Load the matching skill before any workflow or metadata tool, as the server instructions require\n5. Batch up to 60 records a call to stay inside 100 requests a minute\n\n## Questions\n\n### Which is better for AI agents, Nutshell or Twenty API + MCP?\n\nTwenty API + MCP scores 65.9 (B) on agent readiness against Nutshell's 49.6 (D), and leads in 5 of 7 scored categories. Nutshell leads on payments \u0026 pricing.\n\n### Do Nutshell and Twenty API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Nutshell and Twenty API + MCP without installing anything?\n\nYes. Nutshell has a hosted endpoint at https://app.nutshell.com/rest and Twenty API + MCP at https://api.twenty.com/rest.\n\n### Are Nutshell and Twenty API + MCP open source?\n\nNo open-source release is listed for Nutshell. Twenty API + MCP is open source (AGPL-3.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nutshell-vs-twenty.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nutshell-vs-twenty.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nutshell\", \"b\": \"twenty\"}`. From a terminal: `anchor compare nutshell twenty`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nutshell.json and https://www.anchorterminal.com/api/v1/tools/twenty.json\n\n## Other comparisons with Nutshell or Twenty API + MCP\n\n- [Affinity vs Nutshell](https://www.anchorterminal.com/compare/affinity-vs-nutshell.md)\n- [Affinity vs Twenty API + MCP](https://www.anchorterminal.com/compare/affinity-vs-twenty.md)\n- [Attio API + MCP vs Nutshell](https://www.anchorterminal.com/compare/attio-vs-nutshell.md)\n- [Attio API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/attio-vs-twenty.md)\n- [Capsule CRM vs Nutshell](https://www.anchorterminal.com/compare/capsule-crm-vs-nutshell.md)\n- [Capsule CRM vs Twenty API + MCP](https://www.anchorterminal.com/compare/capsule-crm-vs-twenty.md)\n- [Close API + MCP vs Nutshell](https://www.anchorterminal.com/compare/close-vs-nutshell.md)\n- [Close API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/close-vs-twenty.md)\n- [Copper API vs Nutshell](https://www.anchorterminal.com/compare/copper-vs-nutshell.md)\n- [Copper API vs Twenty API + MCP](https://www.anchorterminal.com/compare/copper-vs-twenty.md)\n- [Microsoft Dynamics 365 Sales vs Nutshell](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell.md)\n- [Microsoft Dynamics 365 Sales vs Twenty API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.md)\n- [folk API + MCP vs Nutshell](https://www.anchorterminal.com/compare/folk-vs-nutshell.md)\n- [folk API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/folk-vs-twenty.md)\n- [Freshsales API vs Nutshell](https://www.anchorterminal.com/compare/freshsales-vs-nutshell.md)\n- [Freshsales API vs Twenty API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-twenty.md)\n- [HubSpot API + MCP vs Nutshell](https://www.anchorterminal.com/compare/hubspot-mcp-vs-nutshell.md)\n- [HubSpot API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty.md)\n- [Nutshell vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-pipedrive.md)\n- [Nutshell vs Salesforce API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-salesforce.md)\n- [Nutshell vs Streak API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-streak.md)\n- [Nutshell vs Zoho CRM](https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm.md)\n- [Pipedrive API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/pipedrive-vs-twenty.md)\n- [Salesforce API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/salesforce-vs-twenty.md)\n- [Streak API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/streak-vs-twenty.md)\n- [Twenty API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Nutshell vs Twenty API + MCP",
        "url": ""
      }
    ],
    "description": "Twenty API + MCP scores 65.9 (B) on agent readiness against Nutshell's 49.6 (D), and leads in 5 of 7 scored categories. Nutshell leads on payments \u0026 pricing. Both do crm records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Nutshell D 49.6",
      "Twenty API + MCP B 65.9",
      "scores"
    ],
    "h1": "Nutshell vs Twenty API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-nutshell-vs-twenty.png",
    "path": "/compare/nutshell-vs-twenty",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Nutshell vs Twenty API + MCP for AI agents, D 49.6 vs B 65.9",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/nutshell-vs-twenty"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 680
  },
  "version": 1
}
