{"id":50804981,"url":"https://github.com/helbertparanhos/postforme-mcp-pro","last_synced_at":"2026-06-13T00:04:09.877Z","repository":{"id":364117552,"uuid":"1264805335","full_name":"helbertparanhos/postforme-mcp-pro","owner":"helbertparanhos","description":"The most complete Post for Me MCP server — 27 typed tools to publish, schedule, edit, delete and analyze social posts across 9 platforms (Instagram, TikTok, X, LinkedIn, YouTube, Facebook, Pinterest, Bluesky, Threads).","archived":false,"fork":false,"pushed_at":"2026-06-11T18:28:40.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T19:03:23.794Z","etag":null,"topics":["automation","claude","claude-code","cursor","instagram","mcp","model-context-protocol","postforme","social-media","tiktok"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/postforme-mcp-pro","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helbertparanhos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-10T07:39:58.000Z","updated_at":"2026-06-11T18:28:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/helbertparanhos/postforme-mcp-pro","commit_stats":null,"previous_names":["helbertparanhos/postforme-mcp-pro"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/helbertparanhos/postforme-mcp-pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helbertparanhos%2Fpostforme-mcp-pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helbertparanhos%2Fpostforme-mcp-pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helbertparanhos%2Fpostforme-mcp-pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helbertparanhos%2Fpostforme-mcp-pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helbertparanhos","download_url":"https://codeload.github.com/helbertparanhos/postforme-mcp-pro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helbertparanhos%2Fpostforme-mcp-pro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34266919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","claude","claude-code","cursor","instagram","mcp","model-context-protocol","postforme","social-media","tiktok"],"created_at":"2026-06-13T00:04:09.181Z","updated_at":"2026-06-13T00:04:09.864Z","avatar_url":"https://github.com/helbertparanhos.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/helbertparanhos"],"categories":[],"sub_categories":[],"readme":"# postforme-mcp-pro 📱\n\n\u003e The most complete **Post for Me** MCP server — publish, schedule, edit, delete and analyze social posts across **9 platforms** from any MCP client.\n\n[![npm version](https://img.shields.io/npm/v/postforme-mcp-pro.svg?style=flat-square)](https://www.npmjs.com/package/postforme-mcp-pro)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE)\n[![GitHub Stars](https://img.shields.io/github/stars/helbertparanhos/postforme-mcp-pro?style=flat-square)](https://github.com/helbertparanhos/postforme-mcp-pro/stargazers)\n[![GitHub Forks](https://img.shields.io/github/forks/helbertparanhos/postforme-mcp-pro?style=flat-square)](https://github.com/helbertparanhos/postforme-mcp-pro/network/members)\n[![GitHub Issues](https://img.shields.io/github/issues/helbertparanhos/postforme-mcp-pro?style=flat-square)](https://github.com/helbertparanhos/postforme-mcp-pro/issues)\n[![Glama Quality](https://glama.ai/mcp/servers/helbertparanhos/postforme-mcp-pro/badges/score.svg)](https://glama.ai/mcp/servers/helbertparanhos/postforme-mcp-pro)\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat-square\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat-square\u0026logo=nodedotjs\u0026logoColor=white)](https://nodejs.org/)\n[![MCP](https://img.shields.io/badge/MCP-Model%20Context%20Protocol-000000?style=flat-square)](https://modelcontextprotocol.io/)\n[![Claude Code](https://img.shields.io/badge/Claude%20Code-D97706?style=flat-square)](https://claude.ai/code)\n[![Cursor](https://img.shields.io/badge/Cursor-Compatible-4F46E5?style=flat-square)](https://cursor.sh)\n[![Claude Desktop](https://img.shields.io/badge/Claude%20Desktop-Compatible-D97706?style=flat-square)](https://claude.ai/download)\n\n[![Instagram](https://img.shields.io/badge/@helbertparanhos-E4405F?style=flat-square\u0026logo=instagram\u0026logoColor=white)](https://www.instagram.com/helbertparanhos)\n[![YouTube](https://img.shields.io/badge/stratacademy-FF0000?style=flat-square\u0026logo=youtube\u0026logoColor=white)](https://www.youtube.com/@stratacademy)\n[![LinkedIn](https://img.shields.io/badge/helbert--paranhos-0077B5?style=flat-square\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/helbert-paranhos/)\n[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=flat-square\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://buymeacoffee.com/helbertparanhos)\n[![Strat Academy](https://img.shields.io/badge/Strat%20Academy-8B5CF6?style=flat-square)](https://stratacademy.com.br)\n\n`postforme-mcp-pro` wraps the [Post for Me](https://www.postforme.dev/) API in **27+ fully-typed MCP tools** (one per operation) plus a `postforme_raw` escape hatch and a readonly safety mode. Unlike the official MCP — which exposes only a doc-search + sandboxed code-execution tool (\"code mode\") — every operation here is a first-class, directly-callable tool, so the model can post, schedule and pull analytics without writing SDK code.\n\n**Platforms:** Instagram · Facebook · TikTok · YouTube · X · LinkedIn · Pinterest · Bluesky · Threads\n\n## Why this server\n\n- **27+ typed tools** — `create_post`, `schedule_post`, `publish_now`, `create_draft`, `upload_media`, `list_account_feeds`, `list_post_results`, account \u0026 webhook management, and more.\n- **High-level shortcuts** — `publish_now` / `schedule_post` / `create_draft` / `reschedule_post` / `upload_media` collapse common multi-step flows into one call.\n- **One-step media upload** — `upload_media` takes a local file path or a public URL, gets a signed URL, uploads the bytes, and hands back a `media_url` ready to attach.\n- **Per-platform tuning** — `platform_configurations` models Instagram Reels, X polls, TikTok privacy, YouTube visibility, etc., and stays permissive for new options.\n- **Readonly safety mode** — `POSTFORME_READONLY=true` blocks every write; great for analytics-only sessions.\n- **`postforme_raw`** — call any endpoint for 100% API coverage, even brand-new ones.\n- **Resilient client** — Bearer auth, retries on 429/5xx with backoff, actionable error messages.\n\n## Install\n\n```bash\nnpm install\nnpm run build\n```\n\nOr run published (after release) without cloning:\n\n```bash\nnpx -y postforme-mcp-pro\n```\n\n## Configuration\n\nCopy `.env.example` → `.env` and set your key:\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `POSTFORME_API_KEY` | ✅ | Your Post for Me API key (Dashboard → Settings → API Keys). |\n| `POSTFORME_BASE_URL` | — | Override the API base URL for self-hosted/open-source deployments. Default `https://api.postforme.dev`. |\n| `POSTFORME_READONLY` | — | `true` blocks all write tools (only reads + `postforme_raw` GET run). |\n| `POSTFORME_DISABLE_RAW` | — | `true` removes the `postforme_raw` tool. |\n| `POSTFORME_TIMEOUT_MS` | — | Per-request timeout (default `60000`). |\n| `POSTFORME_MAX_RETRIES` | — | Max retries on 429/5xx/network (default `3`). |\n\n## Test locally\n\n```bash\nnpx @modelcontextprotocol/inspector node dist/index.js\n```\n\n## Add to Claude Code\n\n`.claude/settings.json` → `mcpServers`:\n\n```json\n\"postforme\": {\n  \"command\": \"node\",\n  \"args\": [\"projects/postforme-mcp-pro/dist/index.js\"],\n  \"env\": { \"POSTFORME_API_KEY\": \"pfm_xxx\" }\n}\n```\n\n## Add to Claude Desktop\n\n`%APPDATA%\\Claude\\claude_desktop_config.json` (Windows) / `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):\n\n```json\n\"postforme\": {\n  \"command\": \"node\",\n  \"args\": [\"/abs/path/projects/postforme-mcp-pro/dist/index.js\"],\n  \"env\": { \"POSTFORME_API_KEY\": \"pfm_xxx\" }\n}\n```\n\nCursor uses the same config shape in its MCP file.\n\n## Tools\n\n### Social accounts\n| Tool | Description |\n|------|-------------|\n| `list_social_accounts` | List connected accounts (filter by platform/username). |\n| `get_social_account` | Get one account by id. |\n| `create_social_account` | Connect an account by supplying credentials. |\n| `update_social_account` | Update stored credentials/metadata. |\n| `create_auth_url` | Start the OAuth connect flow (returns a URL). |\n| `disconnect_social_account` | Revoke access for an account. |\n| `list_account_feeds` | **Analytics:** recent feed + engagement metrics for an account. |\n\n### Posts\n| Tool | Description |\n|------|-------------|\n| `create_post` | Create a post (publish now, schedule, or draft) across accounts. |\n| `publish_now` | Shortcut: publish immediately. |\n| `schedule_post` | Shortcut: schedule for an ISO-8601 time. |\n| `create_draft` | Shortcut: save as draft. |\n| `get_post` | Get a post by id. |\n| `list_posts` | List posts (filter by status). |\n| `update_post` | Edit caption/media/accounts/schedule/config. |\n| `reschedule_post` | Shortcut: change a scheduled time. |\n| `delete_post` | Delete a post. |\n\n### Results \u0026 previews\n| Tool | Description |\n|------|-------------|\n| `list_post_results` | **Analytics:** per-platform publish outcomes. |\n| `get_post_result` | One post result by id. |\n| `create_post_preview` | Preview how a post renders per platform. |\n\n### Media\n| Tool | Description |\n|------|-------------|\n| `create_media_upload_url` | Get a signed upload URL (2-step flow). |\n| `upload_media` | **One-step:** upload a local file or remote URL → returns `media_url`. |\n\n### Webhooks\n| Tool | Description |\n|------|-------------|\n| `list_webhooks` · `get_webhook` · `create_webhook` · `update_webhook` · `delete_webhook` | Manage event subscriptions. |\n\n### Escape hatch\n| Tool | Description |\n|------|-------------|\n| `postforme_raw` | Call any `/v1/...` endpoint directly (method, path, params, body). |\n\n## Companion skill\n\n`/postforme` (in [`skill/SKILL.md`](skill/SKILL.md)) orchestrates these tools into guided workflows: `post`, `schedule`, `campaign`, `analytics`, `accounts`, `media`. Copy it into `.claude/skills/` to use it in Claude Code.\n\n## Example\n\n```\nYou: post \"Lançamos a v2 🚀\" no instagram e no x, com a imagem ./hero.png\n→ list_social_accounts            (get the instagram + x account ids)\n→ upload_media { file_path: \"./hero.png\" }   → media_url\n→ create_post_preview             (optional, confirm look)\n→ publish_now { social_accounts: [...], caption: \"...\", media: [{ url: media_url }] }\n→ list_post_results               (report success/links per platform)\n```\n\n## Comparison with the official MCP\n\n| | postforme-mcp-pro | official `post-for-me-mcp` |\n|---|---|---|\n| Tool model | **27 typed tools**, one per operation | 2 tools (doc-search + code-execution sandbox) |\n| Calls | Direct tool calls | Model must write SDK code in a sandbox |\n| Shortcuts | `publish_now` / `schedule_post` / `create_draft` / `upload_media` | — |\n| Safety | `POSTFORME_READONLY` mode + SSRF/file-read hardening | — |\n| Escape hatch | `postforme_raw` (any `/v1` endpoint) | code execution |\n| Companion skill | `/postforme` guided workflows | — |\n\n## Security\n\n`upload_media` hardens remote fetches against SSRF (DNS resolution + public-unicast IP\nvalidation, no redirects, size cap) and restricts local file reads to recognized media\nextensions (optionally to `POSTFORME_MEDIA_DIR`). `postforme_raw` paths are validated to stay\non the versioned API surface. See [REVIEW.md](REVIEW.md) for the full audit.\n\n## License\n\nMIT © Helbert Paranhos / Strat Academy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelbertparanhos%2Fpostforme-mcp-pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelbertparanhos%2Fpostforme-mcp-pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelbertparanhos%2Fpostforme-mcp-pro/lists"}