{
  "data": {
    "a": {
      "slug": "notion-mcp",
      "name": "Notion MCP",
      "vendor": "Notion",
      "vendorUrl": "https://www.notion.so",
      "kind": "mcp",
      "category": "productivity",
      "summary": "Notion's hosted MCP server (mcp.notion.com, OAuth) exposes 36 tools for search, page and data-source editing, views, comments, users and Notion Agent sessions.",
      "url": "https://www.anchorterminal.com/tools/notion-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/notion-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/notion-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/notion-mcp.json",
      "repo": "https://github.com/makenotion/notion-mcp-server",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "sse"
      ],
      "remoteUrl": "https://mcp.notion.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@notionhq/notion-mcp-server"
        },
        {
          "registry": "oci",
          "name": "mcp/notion"
        }
      ],
      "auth": "oauth",
      "authNotes": "Hosted: OAuth. Local: integration token via NOTION_TOKEN or OPENAPI_MCP_HEADERS; local HTTP transport requires Bearer auth and has DNS-rebinding protection. Legacy hosted SSE at https://mcp.notion.com/sse.",
      "pricing": "byo-plan",
      "pricingNotes": "No separate MCP price published; uses the connecting user's Notion workspace. Plan-specific limits not stated in docs.",
      "priceSummary": "Your plan",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs or README (checked 2026-09-25).",
        "endpoints": []
      },
      "toolCount": 36,
      "popularity": {
        "githubStars": 4600,
        "npmWeekly": 193254,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://developers.notion.com/guides/mcp/overview",
      "llmsTxt": "https://developers.notion.com/llms.txt",
      "registryName": "com.notion/mcp",
      "capabilities": [
        "work.docs"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "oauth"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.9,
        "grade": "C",
        "agentReady": false,
        "rank": 442,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 51,
          "maintenance": 81,
          "payments": 30,
          "reliability": 72,
          "schema": 71,
          "security": 60,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-02, notion-search became keyword-only and semantic search moved to a new notion-ai-search tool, with no advance notice in the changelog. Agents relying on semantic results from notion-search got different answers until a 10 September change routed content queries back to AI search (https://developers.notion.com/page/changelog)"
        ],
        "verdict": "Hosted OAuth server with access tokens that expire after about 8 hours. 36 tools with no toolsets, read-only mode or granular OAuth scopes.",
        "bestFor": "Agents that read and write a team's Notion pages and databases, or hand work to Notion's Custom Agents.",
        "strengths": [
          "Hosted OAuth server with access tokens that expire after about 8 hours",
          "Per-tool rate limits published (20 calls per 10 seconds for search and data-source queries) and wait times returned in the response body",
          "A dated changelog tagged [MCP] with 20 entries in the last 90 days",
          "A Notion MCP component on the status page with a public incident feed",
          "HackerOne bug bounty, SOC 2 Type 2 and ISO 27001 family certifications"
        ],
        "weaknesses": [
          "36 tools with no toolsets, read-only mode or granular OAuth scopes",
          "notion-search changed behaviour on 2 September 2026 with no advance notice",
          "The open-source local server is no longer maintained, per its README of 20 September 2026",
          "Notion AI and Custom Agent tools need paid add-ons, and the agent session tools are in public beta",
          "No prompt-injection guidance for tools that return user-written pages"
        ],
        "agentNotes": [
          "Use `notion-ai-search` for meaning and `notion-search` for exact keywords, they diverged on 2 September 2026",
          "Call `notion-get-tool-access` first to see which tools the workspace's plan allows",
          "Keep search and data-source queries under 20 calls per 10 seconds and read the wait time from the response body",
          "Check the truncation metadata from `notion-fetch` before assuming you have the whole page",
          "Switch `notion-query-database-view` calls to `notion-query-data-sources`, deprecated on 29 September 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.9
          }
        ],
        "editorialScores": {
          "ergonomics": 51,
          "maintenance": 81,
          "payments": 30,
          "reliability": 72,
          "schema": 71,
          "security": 60,
          "transparency": 57
        },
        "provenanceScore": 87
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http notion https://mcp.notion.com/mcp",
        "config": {
          "mcpServers": {
            "notion": {
              "url": "https://mcp.notion.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/work.docs",
        "tool": "https://letme.dev/notion-mcp"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Notion Labs, Inc.",
        "domain": "notion.com",
        "domainRegistered": "1997-10-06",
        "domainNote": "notion.com was registered in 1997, long before Notion bought it, so domain age flatters it a little.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.notion.so/28ffdd083dc3473e9c2da6ec011b58ac",
        "privacy": "https://www.notion.com/trust/privacy-policy",
        "statusPage": "https://www.notion-status.com",
        "changelog": "https://developers.notion.com/page/changelog",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/notion-mcp.json",
      "live": {
        "slug": "notion-mcp",
        "probe": {
          "target": "https://mcp.notion.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-08T21:53:28.700477167Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 56,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 53,
          "p95ms24h": 131,
          "samples24h": 270,
          "samples30d": 3118,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 246,
              "ok": 246
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.notion-status.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:58:02.56280876Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "makenotion/notion-mcp-server",
            "version": "v2.1.0",
            "released": "2026-01-31",
            "seenAt": "2026-10-08T16:22:39.932885878Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.notion/mcp",
            "version": "1.0.1",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "@notionhq/notion-mcp-server",
            "version": "2.5.2",
            "seenAt": "2026-10-08T16:22:37.291746821Z"
          }
        ],
        "githubStars": 4664,
        "npmWeekly": 195447,
        "securityTxt": {
          "url": "https://notion.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:49.155351833Z"
        },
        "llmsTxt": {
          "url": "https://developers.notion.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:42.26420924Z"
        },
        "domain": {
          "domain": "notion.com",
          "registered": "1997-10-06",
          "source": "https://rdap.verisign.com/com/v1/domain/notion.com",
          "checkedAt": "2026-10-04T13:09:47.713847414Z"
        },
        "pages": [
          {
            "url": "https://developers.notion.com/page/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:53.945969965Z",
            "changedAt": "2026-10-08T18:17:53.945969965Z",
            "fingerprint": "e4a299d2ca27"
          },
          {
            "url": "https://www.notion.com/trust/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:21.01440005Z",
            "changedAt": "2026-10-07T18:13:05.866393754Z",
            "fingerprint": "d603e5243627"
          },
          {
            "url": "https://www.notion.so/28ffdd083dc3473e9c2da6ec011b58ac",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:22.40537224Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "011a59eca8f5"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.notion.com/mcp",
          "checkedAt": "2026-10-08T21:33:54.697915722Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-09-28T21:55:53.937225909Z"
        },
        "updatedAt": "2026-10-08T21:58:02.56280876Z"
      }
    },
    "answer": "Outline scores 60.3 (C) on agent readiness against Notion MCP's 58.9 (C), and leads in 4 of 7 scored categories. Notion MCP leads on reliability.",
    "b": {
      "slug": "outline",
      "name": "Outline",
      "vendor": "General Outline, Inc.",
      "vendorUrl": "https://www.getoutline.com",
      "kind": "http-api",
      "category": "productivity",
      "summary": "Outline is a team wiki and knowledge base from General Outline, available hosted or self-hosted. Agents reach it through an RPC-style HTTP API with a public OpenAPI description, or an MCP server built into each workspace.",
      "url": "https://www.anchorterminal.com/tools/outline",
      "markdownUrl": "https://www.anchorterminal.com/tools/outline.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/outline.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/outline.json",
      "repo": "https://github.com/outline/outline",
      "license": "Source available under BSL 1.1, which bars running it as a document service for third parties and converts each release to Apache 2.0 on its change date (2030-09-09 for 1.10.1). The OpenAPI description is BSD-3-Clause. The hosted service is under the vendor's terms",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.getoutline.com/api",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Self-serve. A workspace member creates an API key under Settings, API \u0026 Apps, and sends it as a Bearer token. Keys start with `ol_api_`, are shown once, can carry an expiry and scopes, and can be revoked by their creator or an admin. An unscoped key has all of its owner's access. OAuth 2.0 uses the authorisation code grant with PKCE (S256), refresh tokens, a revocation endpoint and dynamic client registration at `/oauth/register`, with no app review. Scopes are `read` and `write`, namespaced forms such as `documents:read`, and single methods or wildcards such as `documents.info` and `documents.*`. The MCP server takes OAuth by default or an API key. The user guide also allows the key in the request payload as `token`.",
      "pricing": "paid",
      "pricingNotes": "Outline Cloud is priced by team size a month, $10 for 1 to 10 members, $79 for 11 to 100 and $249 for 101 to 200, with larger teams by quote and annual billing available (https://www.getoutline.com/pricing). The API, webhooks and audit log are on every tier, and API calls are not charged. A new workspace gets 30 days free and turns read-only until a payment method is added, so an agent's owner can start without a contract. The self-hosted price table is drawn in the browser and was not read.",
      "priceSummary": "$10 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation, the OpenAPI description or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 19,
      "popularity": {
        "githubStars": 40842,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.getoutline.com/developers",
      "llmsTxt": "https://www.getoutline.com/llms.txt",
      "openapi": "https://www.getoutline.com/openapi.json",
      "capabilities": [
        "work.docs",
        "knowledge.search"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "source-available",
        "paid",
        "free-trial",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "status-page"
      ],
      "lastRelease": "2026-09-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.3,
        "grade": "C",
        "agentReady": false,
        "rank": 408,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 83,
          "payments": 30,
          "reliability": 67,
          "schema": 76,
          "security": 71,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-05-07 and 2026-06-15. CVE-2026-43886 (GHSA-7732-6qrg-wjf4, high) let an OAuth client request `read *` and receive wildcard access, fixed in 1.7.0. CVE-2026-54573 (GHSA-5x79-rj4g-qrh8, high) let a scoped API key or token reach other methods by adding a URL fragment, fixed in 1.8.0. Both defeat the scopes an agent's owner relies on. Fixed and published, so 2 points (https://github.com/outline/outline/security/advisories/GHSA-7732-6qrg-wjf4, https://github.com/outline/outline/security/advisories/GHSA-5x79-rj4g-qrh8).",
          "2026-06-06 and 2026-07-27. Two MCP advisories, `list_documents` returning metadata of private documents on an exact slug match (GHSA-pp65-6cc2-4mx9, medium) and viewers publishing into restricted collections through MCP (GHSA-c43v-wwv4-9mcc, medium), both fixed in 1.8.0. Fixed and published, 1 point (https://github.com/outline/outline/security/advisories/GHSA-pp65-6cc2-4mx9, https://github.com/outline/outline/security/advisories/GHSA-c43v-wwv4-9mcc).",
          "2025-11-16 to 2026-07-30. Eighteen further advisories in twelve months, among them a critical rate-limit bypass allowing brute force of the email login code (CVE-2026-33640, fixed in 1.6.0) and cross-workspace access to private documents through share creation (CVE-2026-41649, fixed in 1.7.0). All fixed and published by the vendor, so 2 points (https://github.com/outline/outline/security/advisories)."
        ],
        "verdict": "API keys and OAuth tokens can be limited to single endpoints, all 154 operations document a 429 response with Retry-After, and the workspace MCP server registers tools by granted scope. Two scope-bypass flaws were published and fixed in May and June 2026, rate limits carry no published numbers, and there are no official client libraries.",
        "bestFor": "Teams that keep their wiki in Outline and want an agent to search, read, write and comment on Markdown documents, on the hosted service or a self-hosted copy with the same API.",
        "strengths": [
          "Public OpenAPI 3.0 description with 154 operations, each with a summary and description, plus llms.txt on the vendor site",
          "API keys take an expiry and scopes down to one endpoint such as `documents.info`, and OAuth supports PKCE and dynamic client registration",
          "Every operation documents 429 with `Retry-After` and three `RateLimit-*` response headers",
          "Each workspace has an MCP server with 19 tools, registered according to the token's scopes, with read-only and idempotent hints on all of them",
          "Audit log kept for one year on every cloud tier and readable through `events.list` with `auditLog` set"
        ],
        "weaknesses": [
          "No rate limit numbers in the API documentation. The limits we found are in the source code, not stated for the hosted service",
          "Two flaws that let a restricted key or token exceed its scopes were published in May and June 2026, both fixed (GHSA-7732-6qrg-wjf4, GHSA-5x79-rj4g-qrh8)",
          "No official client libraries. The vendor points to the OpenAPI description for generating clients",
          "No idempotency keys, and no MCP tool carries a destructive hint or a confirmation step",
          "The published terms of service read as website terms, and the privacy policy states no retention periods",
          "No security.txt, bug bounty or SOC 2 or ISO 27001 report was found on the vendor's pages"
        ],
        "agentNotes": [
          "Send every call as POST with a JSON body to `https://app.getoutline.com/api/\u003cmethod\u003e`, for example `documents.search`, with a Bearer key in the header",
          "Ask for a key scoped to the methods the task needs, such as `documents.info documents.search`. An unscoped key has all of its owner's access",
          "Pass `lastRevision` on `documents.update` so a stale write is rejected with 409, and use `editMode` `patch` with `findText` to change one passage",
          "Wait for the seconds in `Retry-After` on a 429. Write methods have tighter limits than reads",
          "Leave `permanent` unset on `documents.delete`. The default moves the document to the trash, where it can be restored for 30 days"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.3
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 83,
          "payments": 30,
          "reliability": 67,
          "schema": 76,
          "security": 71,
          "transparency": 58
        },
        "provenanceScore": 79
      },
      "connect": {
        "http": "curl https://app.getoutline.com/api/documents.info -X POST -H 'authorization: Bearer MY_API_KEY' -H 'content-type: application/json' -H 'accept: application/json' -d '{\"id\": \"outline-api-NTpezNwhUP\"}'",
        "claudeCode": "claude mcp add --transport http outline https://\u003cyoursubdomain\u003e.getoutline.com/mcp",
        "config": {
          "mcpServers": {
            "outline": {
              "url": "https://\u003cyoursubdomain\u003e.getoutline.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/work.docs",
        "tool": "https://letme.dev/outline"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Cloud, 1 to 10 members",
          "unit": "month",
          "usd": 10,
          "note": "billed monthly, annual billing available"
        },
        {
          "item": "Cloud, 11 to 100 members",
          "unit": "month",
          "usd": 79,
          "note": "billed monthly, annual billing available"
        },
        {
          "item": "Cloud, 101 to 200 members",
          "unit": "month",
          "usd": 249,
          "note": "billed monthly, annual billing available"
        }
      ],
      "provenance": {
        "legalEntity": "General Outline, Inc.",
        "domain": "getoutline.com",
        "domainRegistered": "2017-11-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.getoutline.com/terms",
        "privacy": "https://www.getoutline.com/privacy",
        "statusPage": "https://status.getoutline.com",
        "changelog": "https://www.getoutline.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The data processing agreement at docs.getoutline.com/s/dpa names General Outline, Inc., a Delaware corporation at 228 Park Ave S, PMB 377005, New York, and says it supplements the Terms of Service, which it calls the Agreement.",
          "The page at www.getoutline.com/terms is titled Terms of Service and is the only terms document found. Its clauses cover the website's materials and say nothing on the hosted service, payment or customer content.",
          "The privacy policy is undated, names General Outline, Inc. as operator of getoutline.com, and covers registered and signed-in users as well as visitors.",
          "The hosted API answers at https://app.getoutline.com/api and each workspace at \u003csubdomain\u003e.getoutline.com, both on the vendor's domain.",
          "www.getoutline.com/.well-known/security.txt and app.getoutline.com/.well-known/security.txt both return 404. Reports go through GitHub security advisories per docs/SECURITY.md in the repository.",
          "RDAP for getoutline.com gives a registration date of 2017-11-08."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/outline.json",
      "live": {
        "slug": "outline",
        "probe": {
          "target": "https://app.getoutline.com/api",
          "method": "get",
          "lastAt": "2026-10-08T21:53:29.773406665Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 272,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 262,
          "p95ms24h": 300,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.getoutline.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:01.469357096Z"
        },
        "updatedAt": "2026-10-08T21:53:29.773406665Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Notion",
        "b": "General Outline, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.notion.com/mcp",
        "b": "https://app.getoutline.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, SSE (legacy)",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Source available under BSL 1.1, which bars running it as a document service for third parties and converts each release to Apache 2.0 on its change date (2030-09-09 for 1.10.1). The OpenAPI description is BSD-3-Clause. The hosted service is under the vendor's terms",
        "name": "Licence"
      },
      {
        "a": "36",
        "b": "19",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.notion/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-29",
        "b": "2026-09-09",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-29",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.6k stars, 193k npm/wk",
        "b": "41k stars",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Outline scores 60.3 (C) on agent readiness against Notion MCP's 58.9 (C), and leads in 4 of 7 scored categories. Notion MCP leads on reliability.",
        "question": "Which is better for AI agents, Notion MCP or Outline?"
      },
      {
        "answer": "Notion MCP uses an OAuth sign-in. Outline takes an API key or an OAuth sign-in.",
        "question": "Do Notion MCP and Outline need an API key?"
      },
      {
        "answer": "Yes. Notion MCP has a hosted endpoint at https://mcp.notion.com/mcp and Outline at https://app.getoutline.com/api.",
        "question": "Can an agent call Notion MCP and Outline without installing anything?"
      },
      {
        "answer": "Notion MCP is open source (MIT). No open-source release is listed for Outline.",
        "question": "Are Notion MCP and Outline open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 67"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "Agents that read and write a team's Notion pages and databases, or hand work to Notion's Custom Agents.",
        "slug": "notion-mcp",
        "watchFor": "36 tools with no toolsets, read-only mode or granular OAuth scopes"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 76 against 71",
          "Agent ergonomics, 62 against 51",
          "Security \u0026 auth, 71 against 60"
        ],
        "also": null,
        "goodFor": "Teams that keep their wiki in Outline and want an agent to search, read, write and comment on Markdown documents, on the hosted service or a self-hosted copy with the same API.",
        "slug": "outline",
        "watchFor": "No rate limit numbers in the API documentation. The limits we found are in the source code, not stated for the hosted service"
      }
    ],
    "job": {
      "capability": "work.docs",
      "name": "Docs and wikis"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-notion-mcp.json",
        "title": "Atlassian Rovo MCP Server vs Notion MCP",
        "url": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-notion-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-outline.json",
        "title": "Atlassian Rovo MCP Server vs Outline",
        "url": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-outline"
      }
    ],
    "scores": [
      {
        "by": 5,
        "edge": "notion-mcp",
        "key": "reliability",
        "name": "Reliability",
        "notion-mcp": 72,
        "outline": 67,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "outline",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "notion-mcp": 71,
        "outline": 76,
        "weight": 13
      },
      {
        "by": 11,
        "edge": "outline",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "notion-mcp": 51,
        "outline": 62,
        "weight": 13
      },
      {
        "by": 11,
        "edge": "outline",
        "key": "security",
        "name": "Security \u0026 auth",
        "notion-mcp": 60,
        "outline": 71,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "notion-mcp": 30,
        "outline": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "outline",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "notion-mcp": 81,
        "outline": 83,
        "weight": 7
      },
      {
        "by": 3,
        "edge": "notion-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "notion-mcp": 72,
        "outline": 69,
        "weight": 7
      }
    ],
    "summary": "Outline scores 60.3 (C) on agent readiness against Notion MCP's 58.9 (C), and leads in 4 of 7 scored categories. Notion MCP leads on reliability. Both do docs and wikis.",
    "verdicts": {
      "notion-mcp": "Hosted OAuth server with access tokens that expire after about 8 hours. 36 tools with no toolsets, read-only mode or granular OAuth scopes.",
      "outline": "API keys and OAuth tokens can be limited to single endpoints, all 154 operations document a 429 response with Retry-After, and the workspace MCP server registers tools by granted scope. Two scope-bypass flaws were published and fixed in May and June 2026, rate limits carry no published numbers, and there are no official client libraries."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/notion-mcp-vs-outline",
    "json": "https://www.anchorterminal.com/compare/notion-mcp-vs-outline.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/notion-mcp-vs-outline.md",
    "slim": "https://www.anchorterminal.com/compare/notion-mcp-vs-outline.min.md"
  },
  "markdown": "Outline scores 60.3 (C) on agent readiness against Notion MCP's 58.9 (C), and leads in 4 of 7 scored categories. Notion MCP leads on reliability. Both do docs and wikis.\n\n- Notion MCP: grade C, 58.9/100, rank #442 of 722. Markdown https://www.anchorterminal.com/tools/notion-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/notion-mcp.json\n- Outline: grade C, 60.3/100, rank #408 of 722. Markdown https://www.anchorterminal.com/tools/outline.md · JSON https://www.anchorterminal.com/api/v1/tools/outline.json\n\n## Which one, for what\n\n### Notion MCP (C)\n\nGood for: Agents that read and write a team's Notion pages and databases, or hand work to Notion's Custom Agents.\n\nAhead on:\n- Reliability, 72 against 67\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: 36 tools with no toolsets, read-only mode or granular OAuth scopes\n\n### Outline (C)\n\nGood for: Teams that keep their wiki in Outline and want an agent to search, read, write and comment on Markdown documents, on the hosted service or a self-hosted copy with the same API.\n\nAhead on:\n- Schema \u0026 documentation, 76 against 71\n- Agent ergonomics, 62 against 51\n- Security \u0026 auth, 71 against 60\n\nWatch for: No rate limit numbers in the API documentation. The limits we found are in the source code, not stated for the hosted service\n\n\n## Score by category\n\n| Category | Weight | Notion MCP | Outline | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 67 | Notion MCP +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 76 | Outline +5 |\n| Agent ergonomics | 13% (16.2 this run) | 51 | 62 | Outline +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 71 | Outline +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 83 | Outline +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 69 | Notion MCP +3 |\n| Negative events | ≤15 | -3 | -5 | |\n| **Total** | | **58.9 · C** | **60.3 · C** | |\n\n## Facts side by side\n\n| Fact | Notion MCP | Outline |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Notion | General Outline, Inc. |\n| Hosted endpoint | `https://mcp.notion.com/mcp` | `https://app.getoutline.com/api` |\n| Transports | stdio, Streamable HTTP, SSE (legacy) | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Your plan | Paid |\n| x402 | no | no |\n| Licence | MIT | Source available under BSL 1.1, which bars running it as a document service for third parties and converts each release to Apache 2.0 on its change date (2030-09-09 for 1.10.1). The OpenAPI description is BSD-3-Clause. The hosted service is under the vendor's terms |\n| Tools exposed | 36 | 19 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `com.notion/mcp` | not listed |\n| Last release | 2026-09-29 | 2026-09-09 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | 2025-09-29 | no date given |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 4.6k stars, 193k npm/wk | 41k stars |\n| Agent reviews | 2.5/5 (2) | none |\n\n## Verdicts\n\n**Notion MCP.** Hosted OAuth server with access tokens that expire after about 8 hours. 36 tools with no toolsets, read-only mode or granular OAuth scopes.\n\n**Outline.** API keys and OAuth tokens can be limited to single endpoints, all 154 operations document a 429 response with Retry-After, and the workspace MCP server registers tools by granted scope. Two scope-bypass flaws were published and fixed in May and June 2026, rate limits carry no published numbers, and there are no official client libraries.\n\n## Before you call either\n\n### Notion MCP\n\n1. Use `notion-ai-search` for meaning and `notion-search` for exact keywords, they diverged on 2 September 2026\n2. Call `notion-get-tool-access` first to see which tools the workspace's plan allows\n3. Keep search and data-source queries under 20 calls per 10 seconds and read the wait time from the response body\n4. Check the truncation metadata from `notion-fetch` before assuming you have the whole page\n5. Switch `notion-query-database-view` calls to `notion-query-data-sources`, deprecated on 29 September 2026\n\n### Outline\n\n1. Send every call as POST with a JSON body to `https://app.getoutline.com/api/\u003cmethod\u003e`, for example `documents.search`, with a Bearer key in the header\n2. Ask for a key scoped to the methods the task needs, such as `documents.info documents.search`. An unscoped key has all of its owner's access\n3. Pass `lastRevision` on `documents.update` so a stale write is rejected with 409, and use `editMode` `patch` with `findText` to change one passage\n4. Wait for the seconds in `Retry-After` on a 429. Write methods have tighter limits than reads\n5. Leave `permanent` unset on `documents.delete`. The default moves the document to the trash, where it can be restored for 30 days\n\n## Questions\n\n### Which is better for AI agents, Notion MCP or Outline?\n\nOutline scores 60.3 (C) on agent readiness against Notion MCP's 58.9 (C), and leads in 4 of 7 scored categories. Notion MCP leads on reliability.\n\n### Do Notion MCP and Outline need an API key?\n\nNotion MCP uses an OAuth sign-in. Outline takes an API key or an OAuth sign-in.\n\n### Can an agent call Notion MCP and Outline without installing anything?\n\nYes. Notion MCP has a hosted endpoint at https://mcp.notion.com/mcp and Outline at https://app.getoutline.com/api.\n\n### Are Notion MCP and Outline open source?\n\nNotion MCP is open source (MIT). No open-source release is listed for Outline.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/notion-mcp-vs-outline.json, and with the fewest tokens: https://www.anchorterminal.com/compare/notion-mcp-vs-outline.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"notion-mcp\", \"b\": \"outline\"}`. From a terminal: `anchor compare notion-mcp outline`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/notion-mcp.json and https://www.anchorterminal.com/api/v1/tools/outline.json\n\n## Other comparisons with Notion MCP or Outline\n\n- [Atlassian Rovo MCP Server vs Notion MCP](https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-notion-mcp.md)\n- [Atlassian Rovo MCP Server vs Outline](https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-outline.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": "Notion MCP vs Outline",
        "url": ""
      }
    ],
    "description": "Outline scores 60.3 (C) on agent readiness against Notion MCP's 58.9 (C), and leads in 4 of 7 scored categories. Notion MCP leads on reliability. Both do docs and wikis. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Notion MCP C 58.9",
      "Outline C 60.3",
      "scores"
    ],
    "h1": "Notion MCP vs Outline",
    "image": "https://www.anchorterminal.com/assets/og/compare-notion-mcp-vs-outline.png",
    "path": "/compare/notion-mcp-vs-outline",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Notion MCP vs Outline for AI agents, C 58.9 vs C 60.3",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/notion-mcp-vs-outline"
  },
  "tokens": {
    "markdown": 1900,
    "slim": 780
  },
  "version": 1
}
