{
  "data": {
    "a": {
      "slug": "post-bridge",
      "name": "Post Bridge API + MCP",
      "vendor": "Post Bridge",
      "vendorUrl": "https://www.post-bridge.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Publishing-only scheduler with a REST API, a hosted MCP server and a CLI.",
      "url": "https://www.anchorterminal.com/tools/post-bridge",
      "markdownUrl": "https://www.anchorterminal.com/tools/post-bridge.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/post-bridge.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/post-bridge.json",
      "repo": "https://github.com/post-bridge-hq/agent-mode",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.post-bridge.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "postbridge-cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST API takes a pb_live_ API key as a Bearer header. The hosted MCP does OAuth with PKCE, dynamic client registration and six scopes (posts:read, posts:write, analytics:read, accounts:read, media:read, media:write), and also accepts the API key as a Bearer header or as a ?key= URL parameter.",
      "pricing": "paid",
      "pricingNotes": "7-day trial (the checkout reads $0.00 due today, with no statement on cards). Marketer $39 a month for 15 connected accounts. Operator $99 a month for 99 accounts, then $1 per account a month. Unlimited posts, and API, CLI and MCP on both plans. Yearly billing gives 2 months free. The pricing FAQ says free users get 5 posts a month, but no free plan appears in the plan table (https://www.post-bridge.com/pricing).",
      "priceSummary": "$39 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call payment in the API reference, llms.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 16,
      "popularity": {
        "githubStars": 17,
        "npmWeekly": 51,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://api.post-bridge.com/reference",
      "llmsTxt": "https://www.post-bridge.com/llms.txt",
      "openapi": "https://api.post-bridge.com/openapi.json",
      "registryName": "io.github.jackfriks/post-bridge",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "mcp",
        "openapi",
        "llms-txt",
        "closed-source",
        "typescript"
      ],
      "lastRelease": "2026-09-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.5,
        "grade": "D",
        "agentReady": false,
        "rank": 376,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 76,
          "payments": 15,
          "reliability": 35,
          "schema": 72,
          "security": 44,
          "transparency": 44
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Hosted MCP with OAuth 2.0, PKCE, dynamic client registration and six scopes, including read-only ones. Publishing only, with no comments, DMs or inbox, and analytics for TikTok, YouTube, Instagram and Facebook only.",
        "strengths": [
          "Hosted MCP with OAuth 2.0, PKCE, dynamic client registration and six scopes, including read-only ones",
          "OpenAPI 3.0 spec, llms.txt and llms-full.txt",
          "16 compact MCP tools, in the official registry as io.github.jackfriks/post-bridge",
          "Flat $39 a month for 15 accounts with unlimited posts, API and MCP",
          "The agent skill documents per-platform failure causes, such as Instagram 500s that often publish anyway"
        ],
        "weaknesses": [
          "Publishing only, with no comments, DMs or inbox, and analytics for TikTok, YouTube, Instagram and Facebook only",
          "Terms and privacy policy name no legal entity, only Post Bridge under Canadian law",
          "No public status page, changelog or security.txt",
          "No idempotency key, and the MCP also accepts the API key as a ?key= URL parameter",
          "One founder answers support and writes every commit"
        ],
        "agentNotes": [
          "Call list_social_accounts first, upload media, then create_post. Omit scheduled_at to publish at once",
          "Check list_post_results before republishing a failed Instagram post, since Meta 500s often publish anyway",
          "Set is_draft true when a person should approve the post",
          "Put links for X in a reply, because captions sent to X lose their URLs",
          "Stay under 10 requests a second per key, and trigger sync_analytics no more than once every 30 minutes per account"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.5
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 76,
          "payments": 15,
          "reliability": 35,
          "schema": 72,
          "security": 44,
          "transparency": 45
        },
        "provenanceScore": 42
      },
      "connect": {
        "http": "curl https://api.post-bridge.com/v1/social-accounts -H \"Authorization: Bearer $POST_BRIDGE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http post-bridge https://www.post-bridge.com/api/mcp/mcp",
        "config": {
          "mcpServers": {
            "post-bridge": {
              "type": "http",
              "url": "https://www.post-bridge.com/api/mcp/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/post-bridge"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Marketer",
          "unit": "month",
          "usd": 39,
          "note": "15 connected accounts, unlimited posts"
        },
        {
          "item": "Operator",
          "unit": "month",
          "usd": 99,
          "note": "99 accounts, then $1 per account a month"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "post-bridge.com",
        "domainRegistered": "2024-09-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.post-bridge.com/tos",
        "privacy": "https://www.post-bridge.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms refer only to Post Bridge with no company type or registration, and set the laws of Canada as governing law."
        ],
        "score": 42
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/post-bridge.json",
      "live": {
        "slug": "post-bridge",
        "probe": {
          "target": "https://api.post-bridge.com/v1",
          "method": "get",
          "lastAt": "2026-10-05T01:43:43.365611127Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 165,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 156,
          "p95ms24h": 223,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "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": 20,
              "ok": 20
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.jackfriks/post-bridge",
            "version": "1.1.3",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "postbridge-cli",
            "version": "1.1.4",
            "seenAt": "2026-10-04T16:37:10.350739848Z"
          }
        ],
        "githubStars": 17,
        "npmWeekly": 51,
        "securityTxt": {
          "url": "https://post-bridge.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:42.548174683Z"
        },
        "llmsTxt": {
          "url": "https://www.post-bridge.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:08.376115304Z"
        },
        "domain": {
          "domain": "post-bridge.com",
          "registered": "2024-09-08",
          "source": "https://rdap.verisign.com/com/v1/domain/post-bridge.com",
          "checkedAt": "2026-10-04T13:10:41.913780711Z"
        },
        "pages": [
          {
            "url": "https://www.post-bridge.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:44.58787455Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "898ad3108798"
          },
          {
            "url": "https://www.post-bridge.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:46.831587102Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "35a86ea210bb"
          },
          {
            "url": "https://www.post-bridge.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:48.645360576Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fd519f1682ff"
          }
        ],
        "updatedAt": "2026-10-05T01:43:43.365611127Z"
      }
    },
    "b": {
      "slug": "upload-post",
      "name": "Upload-Post API + MCP",
      "vendor": "Upload-Post",
      "vendorUrl": "https://www.upload-post.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "REST API for publishing video, photos, text and documents to TikTok, Instagram, YouTube and 20 or so other networks, with async uploads, scheduling and analytics.",
      "url": "https://www.anchorterminal.com/tools/upload-post",
      "markdownUrl": "https://www.anchorterminal.com/tools/upload-post.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/upload-post.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/upload-post.json",
      "repo": "https://github.com/Upload-Post/upload-post-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.upload-post.com/api",
      "packages": [
        {
          "registry": "npm",
          "name": "upload-post"
        },
        {
          "registry": "pypi",
          "name": "upload-post"
        },
        {
          "registry": "npm",
          "name": "@upload-post/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the header as `Authorization: Apikey \u003ckey\u003e` (the MCP also accepts Bearer). The hosted MCP supports OAuth 2.1 with discovery metadata for claude.ai and ChatGPT connectors. User profiles plus JWT connect links for white-label use.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 (2 profiles, 10 uploads a month, no TikTok, no card). Basic $24 a month or $16 billed yearly (5 profiles), Professional $50 or $33 (25), Advanced $147 or $118 (75), Business $438 or $350 (225). Uploads unlimited on paid plans. Extra profile packs from $15 a month, X link posts add-on $19 a month (https://www.upload-post.com/pricing).",
      "priceSummary": "$24 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, llms-full.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 59,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 1884,
        "pypiWeekly": 6236,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.upload-post.com",
      "llmsTxt": "https://docs.upload-post.com/llms.txt",
      "openapi": "https://docs.upload-post.com/openapi.json",
      "registryName": "com.upload-post/mcp",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "closed-source"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.9,
        "grade": "C",
        "agentReady": false,
        "rank": 275,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope.",
        "strengths": [
          "Free plan with 2 profiles and 10 uploads a month, no card",
          "MIT-licensed MCP with 59 tools, each annotated readOnlyHint or destructiveHint, in the official registry as com.upload-post/mcp",
          "Rate-limit guide with X-RateLimit headers, polling intervals, daily caps and an Idempotency-Key for uploads",
          "Privacy policy updated 4 September 2026 with retention per data type, named subprocessors and countries, and a DPA",
          "Python SDK 2.13.0 on 9 September 2026 and MCP releases most weeks"
        ],
        "weaknesses": [
          "One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope",
          "59 MCP tools with no toolsets or read-only subset",
          "Comment, DM and Google Business review tools return untrusted text with no injection guidance",
          "OpenAPI spec covers 22 paths and no API changelog",
          "Free plan excludes TikTok and X link posts need a $19 a month add-on"
        ],
        "agentNotes": [
          "Send `Authorization: Apikey \u003ckey\u003e` on REST. The MCP also takes Bearer",
          "Use async_upload=true for video, then poll the upload status endpoint every 5 to 60 seconds, not faster",
          "Send an Idempotency-Key on every upload so a timed-out retry doesn't post twice",
          "Check each platform's success flag in results, because one network failing doesn't stop the others",
          "Wait until X-RateLimit-Reset after a 429, and mind daily caps such as TikTok 15 and YouTube 10 per account"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.9
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 78
        },
        "provenanceScore": 68
      },
      "connect": {
        "http": "curl https://api.upload-post.com/api/uploadposts/me -H \"Authorization: Apikey $UPLOAD_POST_API_KEY\"",
        "claudeCode": "claude mcp add --transport http upload-post https://mcp.upload-post.com/mcp --header \"Authorization: Bearer $UPLOAD_POST_API_KEY\"",
        "config": {
          "mcpServers": {
            "upload-post": {
              "args": [
                "-y",
                "@upload-post/mcp"
              ],
              "command": "npx",
              "env": {
                "UPLOAD_POST_API_KEY": "${UPLOAD_POST_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/upload-post"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 24,
          "note": "5 profiles. $16 a month billed yearly"
        },
        {
          "item": "Professional plan",
          "unit": "month",
          "usd": 50,
          "note": "25 profiles. $33 a month billed yearly"
        },
        {
          "item": "Advanced plan",
          "unit": "month",
          "usd": 147,
          "note": "75 profiles. $118 a month billed yearly"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 438,
          "note": "225 profiles. $350 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "TONVI TECH SL",
        "domain": "upload-post.com",
        "domainRegistered": "2024-11-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.upload-post.com/terms-of-use/",
        "privacy": "https://www.upload-post.com/data-and-privacy-policy/",
        "statusPage": "https://www.upload-post.com/status/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "docs.upload-post.com returns 200 for any path, so a missing changelog page can look present"
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/upload-post.json",
      "live": {
        "slug": "upload-post",
        "probe": {
          "target": "https://api.upload-post.com/api",
          "method": "get",
          "lastAt": "2026-10-05T01:43:47.414668355Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 128,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 108,
          "p95ms24h": 193,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "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": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.upload-post.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:32.687401492Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Upload-Post/upload-post-mcp",
            "version": "v0.11.4",
            "released": "2026-09-27",
            "seenAt": "2026-10-04T16:42:59.522044365Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.upload-post/mcp",
            "version": "0.10.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@upload-post/mcp",
            "version": "0.11.4",
            "seenAt": "2026-10-04T16:42:58.867736079Z"
          },
          {
            "registry": "npm",
            "name": "upload-post",
            "version": "2.15.0",
            "seenAt": "2026-10-04T16:42:57.302123902Z"
          },
          {
            "registry": "pypi",
            "name": "upload-post",
            "version": "2.13.0",
            "released": "2026-09-09",
            "seenAt": "2026-10-04T16:42:58.68328621Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 2152,
        "pypiWeekly": 7554,
        "securityTxt": {
          "url": "https://upload-post.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:41.882513538Z"
        },
        "llmsTxt": {
          "url": "https://docs.upload-post.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:19.706736586Z"
        },
        "domain": {
          "domain": "upload-post.com",
          "registered": "2024-11-02",
          "source": "https://rdap.verisign.com/com/v1/domain/upload-post.com",
          "checkedAt": "2026-10-04T13:08:09.14770632Z"
        },
        "pages": [
          {
            "url": "https://www.upload-post.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:36.18086084Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f7e3c2b35950"
          },
          {
            "url": "https://www.upload-post.com/data-and-privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:34.054831888Z",
            "changedAt": "2026-10-02T15:28:37.187395537Z",
            "fingerprint": "5968788a82c9"
          },
          {
            "url": "https://www.upload-post.com/terms-of-use/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:38.126960958Z",
            "changedAt": "2026-10-03T15:40:28.795828429Z",
            "fingerprint": "789e3acd5b6b"
          }
        ],
        "updatedAt": "2026-10-05T01:43:47.414668355Z"
      }
    },
    "summary": "Upload-Post API + MCP has a score of 58.9 (C) against Post Bridge API + MCP's 48.5 (D). Both do social post. The largest gap is transparency \u0026 trust, 29 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post",
    "json": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post.md",
    "slim": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post.min.md"
  },
  "markdown": "Upload-Post API + MCP has a score of 58.9 (C) against Post Bridge API + MCP's 48.5 (D). Both do social post. The largest gap is transparency \u0026 trust, 29 points.\n\n- Post Bridge API + MCP: grade D, 48.5/100, rank #376 of 452. Markdown https://www.anchorterminal.com/tools/post-bridge.md · JSON https://www.anchorterminal.com/api/v1/tools/post-bridge.json\n- Upload-Post API + MCP: grade C, 58.9/100, rank #275 of 452. Markdown https://www.anchorterminal.com/tools/upload-post.md · JSON https://www.anchorterminal.com/api/v1/tools/upload-post.json\n\n## Which one, for what\n\nPick Post Bridge API + MCP for security \u0026 auth (+12).\n\nPick Upload-Post API + MCP for reliability (+22), schema \u0026 documentation (+9), agent ergonomics (+12), payments \u0026 pricing (+15), transparency \u0026 trust (+29).\n\n## Score by category\n\n| Category | Weight | Post Bridge API + MCP | Upload-Post API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 57 | Upload-Post API + MCP +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 72 | 81 | Upload-Post API + MCP +9 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 72 | Upload-Post API + MCP +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 32 | Post Bridge API + MCP +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 30 | Upload-Post API + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 76 | 79 | Upload-Post API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 44 | 73 | Upload-Post API + MCP +29 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.5 · D** | **58.9 · C** | |\n\n## Facts side by side\n\n| Fact | Post Bridge API + MCP | Upload-Post API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Post Bridge | Upload-Post |\n| Hosted endpoint | `https://api.post-bridge.com/v1` | `https://api.upload-post.com/api` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | 16 | 59 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.jackfriks/post-bridge` | `com.upload-post/mcp` |\n| Last release | 2026-09-09 | 2026-09-27 |\n| Popularity | 17 stars, 51 npm/wk | 8 stars, 1.9k npm/wk, 6.2k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Post Bridge API + MCP.** Hosted MCP with OAuth 2.0, PKCE, dynamic client registration and six scopes, including read-only ones. Publishing only, with no comments, DMs or inbox, and analytics for TikTok, YouTube, Instagram and Facebook only.\n\n**Upload-Post API + MCP.** Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope.\n\n## Before you call either\n\n### Post Bridge API + MCP\n\n1. Call list_social_accounts first, upload media, then create_post. Omit scheduled_at to publish at once\n2. Check list_post_results before republishing a failed Instagram post, since Meta 500s often publish anyway\n3. Set is_draft true when a person should approve the post\n4. Put links for X in a reply, because captions sent to X lose their URLs\n5. Stay under 10 requests a second per key, and trigger sync_analytics no more than once every 30 minutes per account\n\n### Upload-Post API + MCP\n\n1. Send `Authorization: Apikey \u003ckey\u003e` on REST. The MCP also takes Bearer\n2. Use async_upload=true for video, then poll the upload status endpoint every 5 to 60 seconds, not faster\n3. Send an Idempotency-Key on every upload so a timed-out retry doesn't post twice\n4. Check each platform's success flag in results, because one network failing doesn't stop the others\n5. Wait until X-RateLimit-Reset after a 429, and mind daily caps such as TikTok 15 and YouTube 10 per account\n\n## Other comparisons with Post Bridge API + MCP or Upload-Post API + MCP\n\n- [Ayrshare API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-post-bridge.md)\n- [Ayrshare API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-upload-post.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 Upload-Post API + MCP](https://www.anchorterminal.com/compare/buffer-vs-upload-post.md)\n- [Zernio (formerly Late) API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/late-vs-post-bridge.md)\n- [Zernio (formerly Late) API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/late-vs-upload-post.md)\n- [Metricool API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/metricool-vs-post-bridge.md)\n- [Metricool API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/metricool-vs-upload-post.md)\n- [Mixpost API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-post-bridge.md)\n- [Mixpost API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-upload-post.md)\n- [OneUp API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/oneup-vs-post-bridge.md)\n- [OneUp API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/oneup-vs-upload-post.md)\n- [Post Bridge API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-postiz.md)\n- [Post Bridge API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-publer.md)\n- [Postiz API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/postiz-vs-upload-post.md)\n- [Publer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/publer-vs-upload-post.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Post Bridge API + MCP vs Upload-Post API + MCP",
        "url": ""
      }
    ],
    "description": "Upload-Post API + MCP has a score of 58.9 (C) against Post Bridge API + MCP's 48.5 (D). Both do social post. The largest gap is transparency \u0026 trust, 29 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Post Bridge API + MCP D 48.5",
      "Upload-Post API + MCP C 58.9",
      "scores"
    ],
    "h1": "Post Bridge API + MCP vs Upload-Post API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-post-bridge-vs-upload-post.png",
    "path": "/compare/post-bridge-vs-upload-post",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Post Bridge API + MCP vs Upload-Post API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
