{
  "data": {
    "a": {
      "slug": "buffer",
      "name": "Buffer API + MCP",
      "vendor": "Buffer",
      "vendorUrl": "https://buffer.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Buffer's GraphQL API for scheduling, publishing and analysing social media posts, available on every plan including Free, with a hosted MCP server and a CLI.",
      "url": "https://www.anchorterminal.com/tools/buffer",
      "markdownUrl": "https://www.anchorterminal.com/tools/buffer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/buffer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/buffer.json",
      "dns": "buffer.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.buffer.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@bufferapp/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Personal API key as a Bearer token for your own account (it sees every organisation you belong to, no per-organisation scoping). App Clients acting for other users use OAuth 2.0 authorisation code with PKCE. The hosted MCP takes OAuth in Claude and other clients, or the API key as a Bearer header.",
      "pricing": "freemium",
      "pricingNotes": "API included on every plan. Free $0 (3 channels, 10 scheduled posts a channel, 1 API key, 1,000 requests per channel a month up to 3,000). Essentials $5 a channel a month billed yearly ($60 a year, 3 keys, 3,000 requests per channel a month up to 30,000). Team $10 a channel a month billed yearly ($120 a year, 5 keys, 10,000 requests per channel a month up to 100,000). Channels above 10 cost less. 14-day trial on paid plans with no card; without payment details the account drops to Free (https://buffer.com/pricing).",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in developer docs, llms-full.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 19,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 687,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.buffer.com",
      "llmsTxt": "https://developers.buffer.com/llms.txt",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "closed-source",
        "typescript"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66,
        "grade": "B",
        "agentReady": false,
        "rank": 338,
        "ranked": true,
        "rankOf": 1272,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 73,
          "payments": 30,
          "reliability": 75,
          "schema": 86,
          "security": 56,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "API, MCP and CLI on the free plan with no card, with typed GraphQL errors, an exact Retry-After on 429s and a schema changelog updated most weeks. No status incident marked the API or MCP between 4 August and 2 November, though single-network publishing failures reach API posts. No SDKs, idempotency keys or tool annotations.",
        "bestFor": "Personal and small-team posting where the free plan and OAuth MCP are enough.",
        "strengths": [
          "API, MCP and CLI on the free plan, with 3 channels and up to 3,000 requests a month and no card",
          "Hosted MCP with OAuth 2.0, PKCE and 11 scopes, including read-only ones such as posts:read",
          "429 responses carry an exact Retry-After and RateLimit headers and don't use up quota",
          "Typed GraphQL schema, a schema changelog with 31 dated days from 4 August to 22 October 2026 and @deprecated removal dates",
          "Security reporting route with a GPG key and bug rewards"
        ],
        "weaknesses": [
          "Free plan quotas of 150 requests per 15 minutes and 1,000 per channel a month, shared across keys and MCP connections",
          "No media upload, every file has to sit at a public URL you host",
          "The changelog shows types removed on 2 and 25 September 2026 despite the additive-only promise",
          "No official SDKs, no tool annotations and no idempotency keys",
          "Single-network publishing incidents (Pinterest, TikTok, Google Business Profile, Mastodon) between August and October 2026"
        ],
        "agentNotes": [
          "Call `{ account { organizations { id } } }` first, then list channels for an organisation before posting",
          "Include `... on MutationError` in every mutation, since errors come back with HTTP 200",
          "On 429, wait Retry-After plus a few seconds of jitter, and read the RateLimit headers to pace requests before the limit",
          "Pass images and video as public direct URLs, not preview or login-gated links",
          "Use saveToDraft or addToQueue so nothing publishes by accident, because delete_post can't be undone"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 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": 66
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 73,
          "payments": 30,
          "reliability": 75,
          "schema": 86,
          "security": 56,
          "transparency": 66
        },
        "provenanceScore": 84,
        "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": {
        "http": "curl https://api.buffer.com -H \"Authorization: Bearer $BUFFER_API_KEY\" \\\n  -H \"content-type: application/json\" -d '{\"query\":\"{ account { id organizations { id name } } }\"}'",
        "claudeCode": "claude mcp add --transport http buffer https://mcp.buffer.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/buffer"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Essentials plan",
          "unit": "month",
          "usd": 5,
          "note": "per channel, billed yearly ($60)"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 10,
          "note": "per channel, billed yearly ($120)"
        }
      ],
      "provenance": {
        "legalEntity": "Buffer, Inc.",
        "domain": "buffer.com",
        "domainRegistered": "1996-10-28",
        "domainNote": "buffer.com was registered in 1996, long before Buffer bought it.",
        "endpointOnVendorDomain": true,
        "terms": "https://buffer.com/legal",
        "privacy": "https://buffer.com/legal#privacy-policy",
        "statusPage": "https://status.buffer.com",
        "changelog": "https://developers.buffer.com/changelog.html",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/buffer.json",
      "live": {
        "slug": "buffer",
        "probe": {
          "target": "https://api.buffer.com",
          "method": "get",
          "lastAt": "2026-11-03T18:19:58.337328811Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 197,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 159,
          "p95ms24h": 343,
          "samples24h": 250,
          "samples30d": 8081,
          "days": [
            {
              "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": 268,
              "ok": 268
            },
            {
              "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": 248
            },
            {
              "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": 191,
              "ok": 191
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.buffer.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-03T18:11:11.414433225Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@bufferapp/cli",
            "version": "2.1.0",
            "seenAt": "2026-11-02T19:06:16.229510269Z"
          }
        ],
        "npmWeekly": 995,
        "securityTxt": {
          "url": "https://buffer.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-03T15:52:15.866907301Z"
        },
        "llmsTxt": {
          "url": "https://developers.buffer.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-03T15:19:08.270207989Z"
        },
        "domain": {
          "domain": "buffer.com",
          "registered": "1996-10-28",
          "source": "https://rdap.verisign.com/com/v1/domain/buffer.com",
          "checkedAt": "2026-11-01T14:22:43.579012882Z"
        },
        "pages": [
          {
            "url": "https://developers.buffer.com/changelog.html",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-03T07:45:11.070455123Z",
            "changedAt": "2026-10-23T01:43:36.425292188Z",
            "fingerprint": "a0332b5e6f13"
          },
          {
            "url": "https://developers.buffer.com/guides/post-metrics.md",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-03T07:45:14.625533454Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3c79f6e8dea0"
          },
          {
            "url": "https://buffer.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-03T07:42:35.682979802Z",
            "changedAt": "2026-11-03T07:42:35.682979802Z",
            "fingerprint": "4e3ebb690b39"
          },
          {
            "url": "https://buffer.com/legal",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-03T07:42:33.081342346Z",
            "changedAt": "2026-10-28T04:10:05.749935427Z",
            "fingerprint": "6ca9240c093b"
          }
        ],
        "updatedAt": "2026-11-03T18:19:58.337328811Z"
      }
    },
    "answer": "Buffer API + MCP scores 66 (B) on agent readiness against Repostit's 32.5 (F), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "repostit",
      "name": "Repostit",
      "vendor": "Repostit LLC",
      "vendorUrl": "https://repostit.io",
      "kind": "platform",
      "category": "social-media",
      "summary": "Repostit is a hosted service that reposts short videos from one connected social account to others and schedules new posts across eight networks. Agents reach it through a remote OAuth MCP connector listed for Claude and ChatGPT.",
      "url": "https://www.anchorterminal.com/tools/repostit",
      "markdownUrl": "https://www.anchorterminal.com/tools/repostit.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/repostit.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/repostit.json",
      "dns": "repostit.grade.anchorterminal.com",
      "license": "Proprietary hosted service under Repostit's terms of service (effective 7 March 2025), which name Repostit LLC of Newark, Delaware. No source, SDK or package is published",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1",
      "packages": [],
      "auth": "oauth",
      "authNotes": "The connector at https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1 (named on Repostit's own Claude connector page) uses OAuth with dynamic client registration and no client secret; the user signs in to Repostit and reviews the permissions (read connected accounts, create workflows and Briefs, schedule or publish, read delivery status). Approved offline access renews for up to 90 days from the first authorisation. Social-network sign-ins happen inside Repostit and provider tokens are not passed to Claude or ChatGPT. PKCE S256 is stated only in third-party metadata. No scopes, API keys or token lifetimes are published, and revocation is by disconnecting in the client or asking support@repostit.io.",
      "pricing": "paid",
      "pricingNotes": "Every reposting plan starts with a 14-day trial with no credit card, limited to 10 posts counted per destination, 3 workflows and one account per network. Basic $5 a month (10 video posts, monthly only), Starter $14 a month or $10 billed yearly, Influencer $29 or $20 (5 accounts per network), Agency $149 or $99 (30 accounts per network); paid plans above Basic have unlimited automated posts and every plan includes the Claude and ChatGPT connector. Clips is priced separately by minutes, with a free allowance of 10 videos or 100 minutes. Fees are non-refundable except where law requires (https://repostit.io/pricing/ and https://repostit.io/docs/repostit-refund-policy/, checked 2026-11-03).",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the help centre, the two connector pages, the terms or the privacy policy (checked 2026-11-03). Plans are paid in the app through unnamed third-party payment processors per the terms.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://repostit.io/docs/",
      "llmsTxt": "https://repostit.io/llms.txt",
      "registryName": "io.github.hax98/repostit",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "oauth",
        "llms-txt",
        "video",
        "free-trial",
        "no-card",
        "paid",
        "no-status-page"
      ],
      "lastRelease": "2026-10-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 32.5,
        "grade": "F",
        "agentReady": false,
        "rank": 1191,
        "ranked": true,
        "rankOf": 1272,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 25,
          "maintenance": 56,
          "payments": 30,
          "reliability": 26,
          "schema": 27,
          "security": 44,
          "transparency": 29
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "An OAuth connector lets an agent list accounts, draft and schedule posts, build reposting workflows and check delivery, with drafts saved before anything publishes and a 14-day trial without a card. Tool names, schemas, scopes and error shapes are unpublished, the endpoint sits on a Cloud Run host, and there is no status page, public API or named subprocessor.",
        "bestFor": "Creators, small businesses and agencies who post short vertical video on one network and want an assistant in Claude or ChatGPT to copy it to others on a schedule, set up reposting workflows and confirm what went out, without writing code.",
        "strengths": [
          "Remote MCP connector with OAuth and dynamic client registration, listed for Claude and ChatGPT and in the official MCP registry, with social-network tokens kept inside Repostit",
          "Briefs are saved as drafts, queued Briefs are locked against a second send and Manual workflows wait for approval, so nothing publishes on creation alone",
          "Delivery checks report a result per destination with public links, and assistant-made posts show each step in the dashboard's Comments \u0026 Activity",
          "Eight networks with published media rules (20 MB images, carousel caps per network, 9:16 video at 1080 by 1920) and per-network failure guides",
          "14-day trial with no card, then plans from $5 a month, with the connector included in every plan"
        ],
        "weaknesses": [
          "No tool names, input schemas, annotations, scopes or error shapes are published, and no public REST API, SDK or OpenAPI file exists",
          "The MCP endpoint is on a run.app host, not repostit.io, and the registry entry sits under a personal GitHub namespace",
          "No status page, incident history, SLA, request rate limit or 429 guidance; no help page says failed posts are retried",
          "The privacy policy names no subprocessors, retention periods or data locations and does not mention the connector or its 90-day offline access",
          "The terms name Repostit LLC while every footer says Repostit, Inc., and the ChatGPT page and directory disagree on whether version 1.1 is out"
        ],
        "agentNotes": [
          "List connected accounts first and confirm names and platforms with the user before choosing destinations; a missing account must be connected in Repostit Connections, not through the agent.",
          "Pass media as a downloadable HTTPS URL, never a local filename, and give every scheduled time with an explicit timezone.",
          "Treat Queued as accepted, not published; check delivery status and public links before reporting success, and check the existing result before any retry to avoid duplicate posts.",
          "Creating a future-content workflow makes it publish on its own once active; prefer existing-content workflows or Manual mode when the user wants to review first.",
          "On the trial, each destination counts as one of 10 posts and Basic allows 10 video posts a month; ask before fanning one Brief out to many networks."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 32.5
          }
        ],
        "editorialScores": {
          "ergonomics": 25,
          "maintenance": 56,
          "payments": 30,
          "reliability": 26,
          "schema": 27,
          "security": 44,
          "transparency": 27
        },
        "provenanceScore": 31,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "config": {
          "mcpServers": {
            "repostit": {
              "type": "http",
              "url": "https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/repostit"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 5,
          "note": "monthly billing only; 10 video posts a month, one account per network"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 14,
          "note": "$10 a month billed yearly; unlimited automated posts, one account per network"
        },
        {
          "item": "Influencer plan",
          "unit": "month",
          "usd": 29,
          "note": "$20 a month billed yearly; unlimited automated posts, 5 accounts per network"
        },
        {
          "item": "Agency plan",
          "unit": "month",
          "usd": 149,
          "note": "$99 a month billed yearly; unlimited automated posts, 30 accounts per network"
        }
      ],
      "provenance": {
        "legalEntity": "Repostit LLC",
        "domain": "repostit.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://repostit.io/terms-of-service/",
        "privacy": "https://repostit.io/privacy-policy/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "The terms of service (effective 7 March 2025, no later revision) say the service is operated by Repostit LLC, 254 Chapman Road Ste 208, Newark, DE 19702, under Delaware law. The footer of every page read says '© 2026 Repostit, Inc.', and the privacy policy (29 July 2026) names only Repostit.io with the same address. Recorded as an inconsistency; the legal entity is taken from the terms.",
          "The MCP endpoint is on repostit-mcp-cfjcykgqda-uc.a.run.app, a Google Cloud Run host, not a repostit.io host. Repostit's own page https://app.repostit.io/claude-connector.html names it. Its robots.txt did not load, so nothing on that host was fetched, including the OAuth well-known documents.",
          "/whats-new/ lists undated items (the Claude and ChatGPT connector among them), so it is not recorded as a changelog. No status page is linked anywhere; /status/ and /.well-known/security.txt did not load through our reader, which also fails on the home page, so security.txt is recorded as unknown.",
          "RDAP for repostit.io and the Wayback Machine were not read (the fetch needed an approval that did not come). firstReleased is 2025-03-07, the terms' effective date, the earliest first-hand date found; the connector's earliest date is the public ChatGPT app described on a page updated 24 September 2026, and the first registry version is 17 October 2026.",
          "robots.txt on repostit.io allows everything except /api/, which was not fetched. app.repostit.io answers /robots.txt with the app's HTML shell and no directives; only the two connector pages and /llms.txt were read there."
        ],
        "score": 31
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/repostit.json",
      "live": {
        "slug": "repostit",
        "probe": {
          "target": "https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1",
          "method": "get",
          "lastAt": "2026-11-03T18:20:19.53499017Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 151,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 155,
          "p95ms24h": 196,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-11-03",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.hax98/repostit",
            "version": "2026.10.23",
            "seenAt": "2026-11-03T16:51:07.971176756Z"
          }
        ],
        "securityTxt": {
          "url": "https://repostit.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-03T15:51:15.292804476Z"
        },
        "llmsTxt": {
          "url": "https://repostit.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-03T15:20:58.151732377Z"
        },
        "updatedAt": "2026-11-03T18:20:19.53499017Z"
      }
    },
    "edges": [
      {
        "by": 59,
        "category": "schema",
        "leads": "buffer",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Typed GraphQL schema open to introspection, and the MCP has an introspect_schema tool (25). llms.txt and Markdown versions of every guide (10). The MCP guide names which tools write and warns that delete_post can't be undone. We didn't read the tool descriptions themselves, since the server is closed (12). Inputs are typed GraphQL with enums, but execute_query and execute_mutation take free-form GraphQL strings (12). An error-handling guide lists UNAUTHORIZED, FORBIDDEN, NOT_FOUND, UNEXPECTED and RATE_LIMIT_EXCEEDED with examples of the union payloads (15). Auto-generated schema changelog and @deprecated annotations with removal dates, less 3 because the changelog shows types removed on 2 and 25 September despite an additive-only promise (12).",
          "b": "MCP reading, since the connector is the only surface an outside agent reaches; no public REST API, developer page, OpenAPI file, SDK or package was found in the help centre, /whats-new/, the sitemap, llms.txt, GitHub, npm or the MCP registry. No tool names or input schemas are published anywhere, and no session was opened to read them (0 of 25). llms.txt exists, but it is a Rank Math index of site URLs that includes theme placeholder entries, and help articles are HTML only (5 of 10). The Claude connector page says what each step is for and when not to use it, list accounts before choosing a destination, a Brief saves a draft and neither publishes nor schedules, publishing applies to every destination in a Brief, Queued is not delivery, future-content workflows publish once active while existing-content ones import for review (8 of 20). Inputs are described in prose only, formats per destination, JPEG, PNG or WebP up to 20 MB, carousel caps of 4, 10 and 20 by network, media at a downloadable HTTPS URL and a timezone with every scheduled time (4 of 15). Plain-language example requests and per-network failure reasons written for people; no example tool call, response or error shape (5 of 15). The endpoint path carries v1.1 and the registry holds 2026.10.17 and 2026.10.23; /whats-new/ is undated and no changelog was found (5 of 15). 0+5+8+4+5+5 = 27."
        },
        "scores": {
          "a": 86,
          "b": 27
        }
      },
      {
        "by": 49,
        "category": "reliability",
        "leads": "buffer",
        "name": "Reliability",
        "reasons": {
          "a": "Status page at status.buffer.com, now on incident.io, with Buffer API and Buffer MCP components (20). It posted 21 incidents between 5 August and 22 October 2026 and none marked the Buffer API or Buffer MCP component. Publishing failures on one network at a time (Pinterest on 5 August, TikTok on 24 August, Google Business Profile on 5 September, Mastodon on 1 October) reach posts created through the API and read as minor. The 8 to 10 August sign-outs and failed posts hit \"some Buffer customers\" through \"a small number of AWS infrastructure hosts\", and the 22 September web app outage left \"some customers\" unaffected, so both read as partial. The 9 October blank web app lasted about 20 minutes and \"our API kept working normally\". Minor incidents only (20). Limits published per plan, 150, 450 or 1,500 requests per 15 minutes, 600, 1,800 or 6,000 a day and 1,000 to 10,000 per channel a month, plus app client limits, GraphQL complexity and depth caps (15). 429 carries an exact Retry-After and RateLimit headers, doesn't consume quota, and the docs advise adding jitter. No idempotency key for creating posts (10). No SLA found (0). The API and MCP aren't labelled beta (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.",
          "b": "Hosted reading, for the connector and the service behind it. No status page was found. None is linked from the help centre, the contact page, the footer or the troubleshooting articles, and https://repostit.io/status/ did not load through our reader, which also fails on the home page (0). No readable incident history, so the floor (5). Repostit publishes posting quotas rather than request limits, 10 posts on the trial, 10 video posts a month on Basic, existing-content workflows up to 5 posts a day, plus per-network rules and 20 MB images through the connector; no request rate for the connector, and the terms only bar automated access faster than a human (6 of 15). No 429 or overload handling is documented. The Claude connector page says Queued means accepted, not delivered, and to check the existing result before retrying to avoid duplicate posts, and Brief locks queued posts against a second send; no idempotency key and no page says failed posts are retried (5 of 15). No SLA; the terms (7 March 2025) let Repostit modify or discontinue the service at any time and say nothing on uptime (0). The connector carries no beta label and its registry entry is active (10). 0+5+6+5+0+10 = 26."
        },
        "scores": {
          "a": 75,
          "b": 26
        }
      },
      {
        "by": 46,
        "category": "transparency",
        "leads": "buffer",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms (15). Buffer, Inc. of San Francisco. Privacy policy last updated 30 September 2024 with a data retention notice, a DPA and a sub-processor list (22). @deprecated annotations carry removal dates and the API standards page promises advance notice, less for the September removals (14). Sub-processors listed in the GDPR section (15).",
          "b": "Closed service. The terms of service (effective 7 March 2025, no revision since) name Repostit LLC of Newark, Delaware, with Delaware law and arbitration, take a non-exclusive licence to content only to run the service and say fees are non-refundable; every footer says Repostit, Inc., and the terms do not mention the connector (12 of 30). The privacy policy (29 July 2026) keeps data until the account is deleted or as needed, with no periods, deletes Pinterest credentials on disconnect but says nothing of other networks' tokens, names no DPA, and does not mention the connector or its 90-day offline access; the account deletion article gives no timeline and leaves network-side access to the user (10 of 30). No deprecation policy or dated notices; the terms promise notice of significant changes and the ChatGPT page names a pending version 1.1 without a date (3 of 20). Subprocessors are 'hosting providers, analytics services', unnamed, with transfers outside the user's country and no locations; the Tawk.to chat on the contact page and the Google Cloud Run host of the connector are not named in the policy (2 of 20). 12+10+3+2 = 27."
        },
        "scores": {
          "a": 75,
          "b": 29
        }
      },
      {
        "by": 40,
        "category": "ergonomics",
        "leads": "buffer",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "19 MCP tools (17 named in the MCP guide, which says two generic tools reach the rest of the GraphQL API) with no toolsets (15), and GraphQL field selection lets an agent size each response (3). List tools page with first and after (20 by default, 100 at most), tag queries are filterable and posts can be listed by channel (16). Typed union errors such as InvalidInputError and LimitReachedError say what to fix, and every MCP response carries the remaining quota (18). No idempotency key and, per the docs, no readOnly or destructive annotations. saveToDraft and addToQueue modes keep posts from going out by accident (6). No official SDK in two languages, only the npm CLI (7).",
          "b": "MCP reading. The tool count is not published. The connector pages describe seven actions (list accounts, create, schedule and publish a Brief, check delivery, create a workflow, send a connection link), which suggests a small set, but the definitions were not read, so a middle reading rather than full marks (10 of 25). No pagination, filtering or output-size controls are documented (0 of 20). Delivery checks report a result per destination with public links when the network gives one, and the help centre lists failure reasons per network, but no error codes or connector error messages are documented (5 of 20). No idempotency key and no readOnlyHint or destructiveHint seen; Briefs start as drafts, queued Briefs are locked against a second send, Manual workflows hold posts for approval and the guidance says to check before retrying (6 of 20). Requests are made in plain language with few stated requirements (an HTTPS media URL, a timezone); no SDK in any language (4 of 15). 10+0+5+6+4 = 25."
        },
        "scores": {
          "a": 65,
          "b": 25
        }
      },
      {
        "by": 17,
        "category": "maintenance",
        "leads": "buffer",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Last schema change on 22 October 2026 (30). 31 dated changelog days between 4 August and 22 October (20). Public changelog and email support (12). No official SDKs, only @bufferapp/cli 1.2.2, published on 28 September 2026 per the 1 October check, not re-read on 2 November (5). The CLI ships from GitHub Actions with npm trusted publishing (6).",
          "b": "Closed service. The latest registry version is 2026.10.23, published 23 October 2026, and the connector article was updated 22 October 2026 (30). Dated changes in the last 90 days are the two registry versions of 17 and 23 October 2026; /whats-new/ is undated and the ChatGPT app's 1.1.0 (per the 3 November listing check) carries no date, so fewer than three dated releases (10 of 20). Support is email and weekday chat, 9am to 5pm Eastern, with replies within 24 hours; no public changelog with dates, forum or issue tracker (6 of 15). In the official MCP registry as io.github.hax98/repostit, a GitHub-verified namespace of a personal account; the entry links Repostit's own pages and its address matches the vendor's connector page, but no first-hand page ties the account to the company, so partial credit (10 of 15). No packages, public code or CI to judge (0 of 10). 30+10+6+10+0 = 56."
        },
        "scores": {
          "a": 73,
          "b": 56
        }
      },
      {
        "by": 12,
        "category": "security",
        "leads": "buffer",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Hosted MCP and App Clients use OAuth 2.0 with PKCE and 11 scopes, among them posts:read and insights:read. Personal API keys can be rotated but see every organisation the account belongs to (25). Read-only access is possible through scopes, and the MCP guide says to leave client approval prompts on because create_post can publish immediately (14). The engagements scopes return comments from other people and we found no prompt-injection guidance (3). No audit log or key usage view found (0). buffer.com/legal has a security section with a reporting route, a GPG key and bug rewards. No security.txt per the 30 September check (14).",
          "b": "OAuth with dynamic client registration and no client secret, per Repostit's Claude connector page, with offline access that renews for up to 90 days from the first authorisation; social-network sign-ins stay in Repostit and provider tokens are not passed to the assistant. PKCE S256 is stated only in third-party metadata. No scopes are named; the page lists the permissions shown at sign-in (read accounts, create workflows and Briefs, schedule or publish, read delivery status). Revocation is by disconnecting in the client or asking support (18 of 30). A Brief is saved as a draft, Manual workflows wait for approval, and the help article says the assistant shows each step for confirmation before publishing (on ChatGPT 'may ask', depending on the client); no read-only mode, and an activated future-content workflow publishes on its own (8 of 20). Tools return the user's own accounts, Briefs and delivery results and read no comments or messages (10). Assistant-created posts appear under Post with a Comments \u0026 Activity log of each step, and Post History shows each network's response; no per-call log for the connector (8 of 15). security.txt did not load through our reader, and no disclosure policy, bug bounty or certification appears on any page read (0 of 20). 18+8+10+8+0 = 44."
        },
        "scores": {
          "a": 56,
          "b": 44
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "Buffer",
        "b": "Repostit LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.buffer.com",
        "b": "https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary hosted service under Repostit's terms of service (effective 7 March 2025), which name Repostit LLC of Newark, Delaware. No source, SDK or package is published",
        "name": "Licence"
      },
      {
        "a": "19",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.hax98/repostit",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-22",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "2024-09-30",
        "b": "not read yet",
        "name": "Terms last updated"
      },
      {
        "a": "2024-09-30",
        "b": "not read yet",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "687 npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Buffer API + MCP scores 66 (B) on agent readiness against Repostit's 32.5 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Buffer API + MCP or Repostit?"
      },
      {
        "answer": "Yes. Buffer API + MCP has a hosted endpoint at https://api.buffer.com and Repostit at https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1.",
        "question": "Can an agent call Buffer API + MCP and Repostit without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 26",
          "Schema \u0026 documentation, 86 against 27",
          "Agent ergonomics, 65 against 25",
          "Security \u0026 auth, 56 against 44",
          "Maintenance \u0026 community, 73 against 56",
          "Transparency \u0026 trust, 75 against 29"
        ],
        "also": null,
        "goodFor": "Personal and small-team posting where the free plan and OAuth MCP are enough.",
        "slug": "buffer",
        "watchFor": "Free plan quotas of 150 requests per 15 minutes and 1,000 per channel a month, shared across keys and MCP connections"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Creators, small businesses and agencies who post short vertical video on one network and want an assistant in Claude or ChatGPT to copy it to others on a schedule, set up reposting workflows and confirm what went out, without writing code.",
        "slug": "repostit",
        "watchFor": "No tool names, input schemas, annotations, scopes or error shapes are published, and no public REST API, SDK or OpenAPI file exists"
      }
    ],
    "history": {
      "buffer": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-02",
          "delta": 4,
          "from": 62,
          "fromGrade": "B",
          "to": 66,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 62.3,
          "fromGrade": "B",
          "to": 62,
          "toGrade": "B"
        }
      ],
      "repostit": null
    },
    "job": {
      "capability": "social.post",
      "name": "Social posting"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-buffer.json",
        "title": "Ayrshare API + MCP vs Buffer API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-buffer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-repostit.json",
        "title": "Ayrshare API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-buffer.json",
        "title": "Blotato vs Buffer API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-buffer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-repostit.json",
        "title": "Blotato vs Repostit",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-bundle-social.json",
        "title": "Buffer API + MCP vs bundle.social",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-bundle-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-late.json",
        "title": "Buffer API + MCP vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-late"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-metricool.json",
        "title": "Buffer API + MCP vs Metricool API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-metricool"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-mixpost.json",
        "title": "Buffer API + MCP vs Mixpost API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-mixpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-oneup.json",
        "title": "Buffer API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-post-bridge.json",
        "title": "Buffer API + MCP vs Post Bridge API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-post-bridge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-postiz.json",
        "title": "Buffer API + MCP vs Postiz API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-postiz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-publer.json",
        "title": "Buffer API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-typefully.json",
        "title": "Buffer API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-upload-post.json",
        "title": "Buffer API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-repostit.json",
        "title": "bundle.social vs Repostit",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-repostit.json",
        "title": "Zernio (formerly Late) API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/late-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-repostit.json",
        "title": "Metricool API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-repostit.json",
        "title": "Mixpost API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-repostit.json",
        "title": "OneUp API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-repostit.json",
        "title": "Post Bridge API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-repostit.json",
        "title": "Postiz API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-repostit.json",
        "title": "Publer API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/publer-vs-repostit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/repostit-vs-typefully.json",
        "title": "Repostit vs Typefully",
        "url": "https://www.anchorterminal.com/compare/repostit-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/repostit-vs-upload-post.json",
        "title": "Repostit vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/repostit-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-sprout-social.json",
        "title": "Buffer API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-x-mcp.json",
        "title": "Buffer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-socialcannon.json",
        "title": "Buffer API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/repostit-vs-socialcannon.json",
        "title": "Repostit vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/repostit-vs-socialcannon"
      }
    ],
    "panel": null,
    "scores": [
      {
        "buffer": 75,
        "by": 49,
        "edge": "buffer",
        "key": "reliability",
        "name": "Reliability",
        "repostit": 26,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "buffer": 86,
        "by": 59,
        "edge": "buffer",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "repostit": 27,
        "weight": 13
      },
      {
        "buffer": 65,
        "by": 40,
        "edge": "buffer",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "repostit": 25,
        "weight": 13
      },
      {
        "buffer": 56,
        "by": 12,
        "edge": "buffer",
        "key": "security",
        "name": "Security \u0026 auth",
        "repostit": 44,
        "weight": 14
      },
      {
        "buffer": 30,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "repostit": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "buffer": 73,
        "by": 17,
        "edge": "buffer",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "repostit": 56,
        "weight": 7
      },
      {
        "buffer": 75,
        "by": 46,
        "edge": "buffer",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "repostit": 29,
        "weight": 7
      }
    ],
    "summary": "Buffer API + MCP scores 66 (B) on agent readiness against Repostit's 32.5 (F), and leads in 6 of 7 scored categories. Both do social posting.",
    "tasks": null,
    "tutorials": [
      {
        "title": "Prepare a channel draft with Buffer",
        "tool": "buffer",
        "url": "https://www.anchorterminal.com/tutorials/buffer/"
      }
    ],
    "verdicts": {
      "buffer": "API, MCP and CLI on the free plan with no card, with typed GraphQL errors, an exact Retry-After on 429s and a schema changelog updated most weeks. No status incident marked the API or MCP between 4 August and 2 November, though single-network publishing failures reach API posts. No SDKs, idempotency keys or tool annotations.",
      "repostit": "An OAuth connector lets an agent list accounts, draft and schedule posts, build reposting workflows and check delivery, with drafts saved before anything publishes and a 14-day trial without a card. Tool names, schemas, scopes and error shapes are unpublished, the endpoint sits on a Cloud Run host, and there is no status page, public API or named subprocessor."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/buffer-vs-repostit",
    "json": "https://www.anchorterminal.com/compare/buffer-vs-repostit.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/buffer-vs-repostit.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/buffer-vs-repostit.min.md"
  },
  "markdown": "Buffer API + MCP scores 66 (B) on agent readiness against Repostit's 32.5 (F), and leads in 6 of 7 scored categories. Both do social posting.\n\n- Buffer API + MCP: grade B, 66/100, rank #338 of 1272. Markdown https://www.anchorterminal.com/tools/buffer.md · JSON https://www.anchorterminal.com/api/v1/tools/buffer.json\n- Repostit: grade F, 32.5/100, rank #1191 of 1272. Markdown https://www.anchorterminal.com/tools/repostit.md · JSON https://www.anchorterminal.com/api/v1/tools/repostit.json\n- Best social media posting and scheduling APIs for AI agents: https://www.anchorterminal.com/best/social-media/index.md\n- All 132 social comparisons: https://www.anchorterminal.com/compare/social-media/index.md\n\n## Which one, for what\n\n### Buffer API + MCP (B)\n\nGood for: Personal and small-team posting where the free plan and OAuth MCP are enough.\n\nAhead on:\n- Reliability, 75 against 26\n- Schema \u0026 documentation, 86 against 27\n- Agent ergonomics, 65 against 25\n- Security \u0026 auth, 56 against 44\n- Maintenance \u0026 community, 73 against 56\n- Transparency \u0026 trust, 75 against 29\n\nWatch for: Free plan quotas of 150 requests per 15 minutes and 1,000 per channel a month, shared across keys and MCP connections\n\n### Repostit (F)\n\nGood for: Creators, small businesses and agencies who post short vertical video on one network and want an assistant in Claude or ChatGPT to copy it to others on a schedule, set up reposting workflows and confirm what went out, without writing code.\n\nWatch for: No tool names, input schemas, annotations, scopes or error shapes are published, and no public REST API, SDK or OpenAPI file exists\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Buffer API + MCP +59\n\n- Buffer API + MCP (86): Typed GraphQL schema open to introspection, and the MCP has an introspect_schema tool (25). llms.txt and Markdown versions of every guide (10). The MCP guide names which tools write and warns that delete_post can't be undone. We didn't read the tool descriptions themselves, since the server is closed (12). Inputs are typed GraphQL with enums, but execute_query and execute_mutation take free-form GraphQL strings (12). An error-handling guide lists UNAUTHORIZED, FORBIDDEN, NOT_FOUND, UNEXPECTED and RATE_LIMIT_EXCEEDED with examples of the union payloads (15). Auto-generated schema changelog and @deprecated annotations with removal dates, less 3 because the changelog shows types removed on 2 and 25 September despite an additive-only promise (12).\n- Repostit (27): MCP reading, since the connector is the only surface an outside agent reaches; no public REST API, developer page, OpenAPI file, SDK or package was found in the help centre, /whats-new/, the sitemap, llms.txt, GitHub, npm or the MCP registry. No tool names or input schemas are published anywhere, and no session was opened to read them (0 of 25). llms.txt exists, but it is a Rank Math index of site URLs that includes theme placeholder entries, and help articles are HTML only (5 of 10). The Claude connector page says what each step is for and when not to use it, list accounts before choosing a destination, a Brief saves a draft and neither publishes nor schedules, publishing applies to every destination in a Brief, Queued is not delivery, future-content workflows publish once active while existing-content ones import for review (8 of 20). Inputs are described in prose only, formats per destination, JPEG, PNG or WebP up to 20 MB, carousel caps of 4, 10 and 20 by network, media at a downloadable HTTPS URL and a timezone with every scheduled time (4 of 15). Plain-language example requests and per-network failure reasons written for people; no example tool call, response or error shape (5 of 15). The endpoint path carries v1.1 and the registry holds 2026.10.17 and 2026.10.23; /whats-new/ is undated and no changelog was found (5 of 15). 0+5+8+4+5+5 = 27.\n\n### Reliability: Buffer API + MCP +49\n\n- Buffer API + MCP (75): Status page at status.buffer.com, now on incident.io, with Buffer API and Buffer MCP components (20). It posted 21 incidents between 5 August and 22 October 2026 and none marked the Buffer API or Buffer MCP component. Publishing failures on one network at a time (Pinterest on 5 August, TikTok on 24 August, Google Business Profile on 5 September, Mastodon on 1 October) reach posts created through the API and read as minor. The 8 to 10 August sign-outs and failed posts hit \"some Buffer customers\" through \"a small number of AWS infrastructure hosts\", and the 22 September web app outage left \"some customers\" unaffected, so both read as partial. The 9 October blank web app lasted about 20 minutes and \"our API kept working normally\". Minor incidents only (20). Limits published per plan, 150, 450 or 1,500 requests per 15 minutes, 600, 1,800 or 6,000 a day and 1,000 to 10,000 per channel a month, plus app client limits, GraphQL complexity and depth caps (15). 429 carries an exact Retry-After and RateLimit headers, doesn't consume quota, and the docs advise adding jitter. No idempotency key for creating posts (10). No SLA found (0). The API and MCP aren't labelled beta (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.\n- Repostit (26): Hosted reading, for the connector and the service behind it. No status page was found. None is linked from the help centre, the contact page, the footer or the troubleshooting articles, and https://repostit.io/status/ did not load through our reader, which also fails on the home page (0). No readable incident history, so the floor (5). Repostit publishes posting quotas rather than request limits, 10 posts on the trial, 10 video posts a month on Basic, existing-content workflows up to 5 posts a day, plus per-network rules and 20 MB images through the connector; no request rate for the connector, and the terms only bar automated access faster than a human (6 of 15). No 429 or overload handling is documented. The Claude connector page says Queued means accepted, not delivered, and to check the existing result before retrying to avoid duplicate posts, and Brief locks queued posts against a second send; no idempotency key and no page says failed posts are retried (5 of 15). No SLA; the terms (7 March 2025) let Repostit modify or discontinue the service at any time and say nothing on uptime (0). The connector carries no beta label and its registry entry is active (10). 0+5+6+5+0+10 = 26.\n\n### Transparency \u0026 trust: Buffer API + MCP +46\n\n- Buffer API + MCP (75): Closed service with published terms (15). Buffer, Inc. of San Francisco. Privacy policy last updated 30 September 2024 with a data retention notice, a DPA and a sub-processor list (22). @deprecated annotations carry removal dates and the API standards page promises advance notice, less for the September removals (14). Sub-processors listed in the GDPR section (15).\n- Repostit (29): Closed service. The terms of service (effective 7 March 2025, no revision since) name Repostit LLC of Newark, Delaware, with Delaware law and arbitration, take a non-exclusive licence to content only to run the service and say fees are non-refundable; every footer says Repostit, Inc., and the terms do not mention the connector (12 of 30). The privacy policy (29 July 2026) keeps data until the account is deleted or as needed, with no periods, deletes Pinterest credentials on disconnect but says nothing of other networks' tokens, names no DPA, and does not mention the connector or its 90-day offline access; the account deletion article gives no timeline and leaves network-side access to the user (10 of 30). No deprecation policy or dated notices; the terms promise notice of significant changes and the ChatGPT page names a pending version 1.1 without a date (3 of 20). Subprocessors are 'hosting providers, analytics services', unnamed, with transfers outside the user's country and no locations; the Tawk.to chat on the contact page and the Google Cloud Run host of the connector are not named in the policy (2 of 20). 12+10+3+2 = 27.\n\n### Agent ergonomics: Buffer API + MCP +40\n\n- Buffer API + MCP (65): 19 MCP tools (17 named in the MCP guide, which says two generic tools reach the rest of the GraphQL API) with no toolsets (15), and GraphQL field selection lets an agent size each response (3). List tools page with first and after (20 by default, 100 at most), tag queries are filterable and posts can be listed by channel (16). Typed union errors such as InvalidInputError and LimitReachedError say what to fix, and every MCP response carries the remaining quota (18). No idempotency key and, per the docs, no readOnly or destructive annotations. saveToDraft and addToQueue modes keep posts from going out by accident (6). No official SDK in two languages, only the npm CLI (7).\n- Repostit (25): MCP reading. The tool count is not published. The connector pages describe seven actions (list accounts, create, schedule and publish a Brief, check delivery, create a workflow, send a connection link), which suggests a small set, but the definitions were not read, so a middle reading rather than full marks (10 of 25). No pagination, filtering or output-size controls are documented (0 of 20). Delivery checks report a result per destination with public links when the network gives one, and the help centre lists failure reasons per network, but no error codes or connector error messages are documented (5 of 20). No idempotency key and no readOnlyHint or destructiveHint seen; Briefs start as drafts, queued Briefs are locked against a second send, Manual workflows hold posts for approval and the guidance says to check before retrying (6 of 20). Requests are made in plain language with few stated requirements (an HTTPS media URL, a timezone); no SDK in any language (4 of 15). 10+0+5+6+4 = 25.\n\n### Maintenance \u0026 community: Buffer API + MCP +17\n\n- Buffer API + MCP (73): Last schema change on 22 October 2026 (30). 31 dated changelog days between 4 August and 22 October (20). Public changelog and email support (12). No official SDKs, only @bufferapp/cli 1.2.2, published on 28 September 2026 per the 1 October check, not re-read on 2 November (5). The CLI ships from GitHub Actions with npm trusted publishing (6).\n- Repostit (56): Closed service. The latest registry version is 2026.10.23, published 23 October 2026, and the connector article was updated 22 October 2026 (30). Dated changes in the last 90 days are the two registry versions of 17 and 23 October 2026; /whats-new/ is undated and the ChatGPT app's 1.1.0 (per the 3 November listing check) carries no date, so fewer than three dated releases (10 of 20). Support is email and weekday chat, 9am to 5pm Eastern, with replies within 24 hours; no public changelog with dates, forum or issue tracker (6 of 15). In the official MCP registry as io.github.hax98/repostit, a GitHub-verified namespace of a personal account; the entry links Repostit's own pages and its address matches the vendor's connector page, but no first-hand page ties the account to the company, so partial credit (10 of 15). No packages, public code or CI to judge (0 of 10). 30+10+6+10+0 = 56.\n\n### Security \u0026 auth: Buffer API + MCP +12\n\n- Buffer API + MCP (56): Hosted MCP and App Clients use OAuth 2.0 with PKCE and 11 scopes, among them posts:read and insights:read. Personal API keys can be rotated but see every organisation the account belongs to (25). Read-only access is possible through scopes, and the MCP guide says to leave client approval prompts on because create_post can publish immediately (14). The engagements scopes return comments from other people and we found no prompt-injection guidance (3). No audit log or key usage view found (0). buffer.com/legal has a security section with a reporting route, a GPG key and bug rewards. No security.txt per the 30 September check (14).\n- Repostit (44): OAuth with dynamic client registration and no client secret, per Repostit's Claude connector page, with offline access that renews for up to 90 days from the first authorisation; social-network sign-ins stay in Repostit and provider tokens are not passed to the assistant. PKCE S256 is stated only in third-party metadata. No scopes are named; the page lists the permissions shown at sign-in (read accounts, create workflows and Briefs, schedule or publish, read delivery status). Revocation is by disconnecting in the client or asking support (18 of 30). A Brief is saved as a draft, Manual workflows wait for approval, and the help article says the assistant shows each step for confirmation before publishing (on ChatGPT 'may ask', depending on the client); no read-only mode, and an activated future-content workflow publishes on its own (8 of 20). Tools return the user's own accounts, Briefs and delivery results and read no comments or messages (10). Assistant-created posts appear under Post with a Comments \u0026 Activity log of each step, and Post History shows each network's response; no per-call log for the connector (8 of 15). security.txt did not load through our reader, and no disclosure policy, bug bounty or certification appears on any page read (0 of 20). 18+8+10+8+0 = 44.\n\n## Score by category\n\n| Category | Weight | Buffer API + MCP | Repostit | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 26 | Buffer API + MCP +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 27 | Buffer API + MCP +59 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 25 | Buffer API + MCP +40 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 44 | Buffer API + MCP +12 |\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) | 73 | 56 | Buffer API + MCP +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 29 | Buffer API + MCP +46 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66 · B** | **32.5 · F** | |\n\n## Facts side by side\n\n| Fact | Buffer API + MCP | Repostit |\n| --- | --- | --- |\n| Kind | HTTP API | Platform |\n| Vendor | Buffer | Repostit LLC |\n| Hosted endpoint | `https://api.buffer.com` | `https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | none | Proprietary hosted service under Repostit's terms of service (effective 7 March 2025), which name Repostit LLC of Newark, Delaware. No source, SDK or package is published |\n| Tools exposed | 19 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.hax98/repostit` |\n| Last release | 2026-10-22 | 2026-10-23 |\n| Terms last updated | 2024-09-30 | not read yet |\n| Privacy policy last updated | 2024-09-30 | not read yet |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | yes | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | yes | not read yet |\n| Arbitration or class-action waiver | yes | not read yet |\n| Popularity | 687 npm/wk | none |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Buffer API + MCP\n\n- +4.0 on 2 November 2026: correction\n- -0.3 on 8 October 2026: checklist\n\n### Repostit\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Buffer API + MCP.** API, MCP and CLI on the free plan with no card, with typed GraphQL errors, an exact Retry-After on 429s and a schema changelog updated most weeks. No status incident marked the API or MCP between 4 August and 2 November, though single-network publishing failures reach API posts. No SDKs, idempotency keys or tool annotations.\n\n**Repostit.** An OAuth connector lets an agent list accounts, draft and schedule posts, build reposting workflows and check delivery, with drafts saved before anything publishes and a 14-day trial without a card. Tool names, schemas, scopes and error shapes are unpublished, the endpoint sits on a Cloud Run host, and there is no status page, public API or named subprocessor.\n\n## Before you call either\n\n### Buffer API + MCP\n\n1. Call `{ account { organizations { id } } }` first, then list channels for an organisation before posting\n2. Include `... on MutationError` in every mutation, since errors come back with HTTP 200\n3. On 429, wait Retry-After plus a few seconds of jitter, and read the RateLimit headers to pace requests before the limit\n4. Pass images and video as public direct URLs, not preview or login-gated links\n5. Use saveToDraft or addToQueue so nothing publishes by accident, because delete_post can't be undone\n\n### Repostit\n\n1. List connected accounts first and confirm names and platforms with the user before choosing destinations; a missing account must be connected in Repostit Connections, not through the agent.\n2. Pass media as a downloadable HTTPS URL, never a local filename, and give every scheduled time with an explicit timezone.\n3. Treat Queued as accepted, not published; check delivery status and public links before reporting success, and check the existing result before any retry to avoid duplicate posts.\n4. Creating a future-content workflow makes it publish on its own once active; prefer existing-content workflows or Manual mode when the user wants to review first.\n5. On the trial, each destination counts as one of 10 posts and Basic allows 10 video posts a month; ask before fanning one Brief out to many networks.\n\n## Tutorials\n\n- [Prepare a channel draft with Buffer](https://www.anchorterminal.com/tutorials/buffer/), for Buffer API + MCP\n\n## Questions\n\n### Which is better for AI agents, Buffer API + MCP or Repostit?\n\nBuffer API + MCP scores 66 (B) on agent readiness against Repostit's 32.5 (F), and leads in 6 of 7 scored categories.\n\n### Can an agent call Buffer API + MCP and Repostit without installing anything?\n\nYes. Buffer API + MCP has a hosted endpoint at https://api.buffer.com and Repostit at https://repostit-mcp-cfjcykgqda-uc.a.run.app/mcp/v1.1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/buffer-vs-repostit.json, and with the fewest tokens: https://www.anchorterminal.com/compare/buffer-vs-repostit.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"buffer\", \"b\": \"repostit\"}`. From a terminal: `anchor compare buffer repostit`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/buffer.json and https://www.anchorterminal.com/api/v1/tools/repostit.json\n\n## Other comparisons with Buffer API + MCP or Repostit\n\n- [Ayrshare API + MCP vs Buffer API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-buffer.md)\n- [Ayrshare API + MCP vs Repostit](https://www.anchorterminal.com/compare/ayrshare-vs-repostit.md)\n- [Blotato vs Buffer API + MCP](https://www.anchorterminal.com/compare/blotato-vs-buffer.md)\n- [Blotato vs Repostit](https://www.anchorterminal.com/compare/blotato-vs-repostit.md)\n- [Buffer API + MCP vs bundle.social](https://www.anchorterminal.com/compare/buffer-vs-bundle-social.md)\n- [Buffer API + MCP vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/buffer-vs-late.md)\n- [Buffer API + MCP vs Metricool API + MCP](https://www.anchorterminal.com/compare/buffer-vs-metricool.md)\n- [Buffer API + MCP vs Mixpost API + MCP](https://www.anchorterminal.com/compare/buffer-vs-mixpost.md)\n- [Buffer API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/buffer-vs-oneup.md)\n- [Buffer API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/buffer-vs-post-bridge.md)\n- [Buffer API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/buffer-vs-postiz.md)\n- [Buffer API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/buffer-vs-publer.md)\n- [Buffer API + MCP vs Typefully](https://www.anchorterminal.com/compare/buffer-vs-typefully.md)\n- [Buffer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/buffer-vs-upload-post.md)\n- [bundle.social vs Repostit](https://www.anchorterminal.com/compare/bundle-social-vs-repostit.md)\n- [Zernio (formerly Late) API + MCP vs Repostit](https://www.anchorterminal.com/compare/late-vs-repostit.md)\n- [Metricool API + MCP vs Repostit](https://www.anchorterminal.com/compare/metricool-vs-repostit.md)\n- [Mixpost API + MCP vs Repostit](https://www.anchorterminal.com/compare/mixpost-vs-repostit.md)\n- [OneUp API + MCP vs Repostit](https://www.anchorterminal.com/compare/oneup-vs-repostit.md)\n- [Post Bridge API + MCP vs Repostit](https://www.anchorterminal.com/compare/post-bridge-vs-repostit.md)\n- [Postiz API + MCP vs Repostit](https://www.anchorterminal.com/compare/postiz-vs-repostit.md)\n- [Publer API + MCP vs Repostit](https://www.anchorterminal.com/compare/publer-vs-repostit.md)\n- [Repostit vs Typefully](https://www.anchorterminal.com/compare/repostit-vs-typefully.md)\n- [Repostit vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/repostit-vs-upload-post.md)\n- [Buffer API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/buffer-vs-sprout-social.md)\n- [Buffer API + MCP vs X MCP](https://www.anchorterminal.com/compare/buffer-vs-x-mcp.md)\n- [Buffer API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/buffer-vs-socialcannon.md)\n- [Repostit vs SocialCannon](https://www.anchorterminal.com/compare/repostit-vs-socialcannon.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-03",
    "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": "Buffer API + MCP vs Repostit",
        "url": ""
      }
    ],
    "description": "Buffer scores 66 (B) to Repostit's 32.5 (F) for social posting. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Buffer API + MCP B 66",
      "Repostit F 32.5",
      "scores"
    ],
    "h1": "Buffer API + MCP vs Repostit",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/buffer-vs-repostit",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Buffer vs Repostit for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/buffer-vs-repostit"
  },
  "tokens": {
    "markdown": 5550,
    "slim": 3580
  },
  "version": 1
}
