PostHog MCP Server
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
Social media scheduler for Instagram, Facebook, YouTube, TikTok, LinkedIn, X, Bluesky, and Telegram.
选择你使用的 AI 应用,然后复制设置。
通过 4/4 项检查 · 你的提问会经过开发者的服务器(mcp.post-pulse.com) · ✓ 命令已检查 2026年11月13日
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude · 约 2 分钟
不需要密钥,不用安装程序 · 在 claude.ai 或桌面应用设置一次,即可在聊天中使用 · 免费账户可添加 1 个 · Team/Enterprise 方案由所有者(Owner)添加
CustomizeConnectors
把这里的内容复制到 Claude 中同名的输入框,然后点击 Continue
PostPulsehttps://mcp.post-pulse.com在 Claude 检测到的登录设置页点击 Continue · Authentication 按作者说明选择(Sign in now、Sign in when needed 或 No sign in),然后点击 Add
+ConnectorsPostPulse
用 PostPulse 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 PostPulse,或回答中出现 PostPulse 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
能否连接 ChatGPT 取决于方案
完整 MCP:网页版 ChatGPT Business、Enterprise 或 Edu · Pro:以读取/获取权限连接,修改数据的工具可能用不了 · Plus:官方文档尚未确认,如果在插件页看到添加自定义 MCP 的选项可以试试 · 仅限网页
Plugins+Add custom MCP server
输入名称,在 Connection 下粘贴地址,勾选风险提示,然后点击 Create as a plugin
PostPulsehttps://mcp.post-pulse.com开启新聊天,输入前先从插件列表中选择 PostPulse
用 PostPulse 告诉我你能帮我做什么,然后做一件给我看✓ 如果 ChatGPT 说正在使用 PostPulse,或回答中出现 PostPulse 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 OpenAI 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Claude Code · 约 2 分钟
不需要密钥,不用安装程序
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
claude mcp add --transport http --scope user post-pulse https://mcp.post-pulse.com应能看到 PostPulse 在列表中并显示已连接
用 PostPulse 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 PostPulse,或回答中出现 PostPulse 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor · 约 2 分钟
不需要密钥,不用安装程序
用 PostPulse 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 PostPulse,或回答中出现 PostPulse 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code · 约 2 分钟
不需要密钥,不用安装程序
用 PostPulse 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 PostPulse,或回答中出现 PostPulse 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看
通过网页连接的应用使用的地址
https://mcp.post-pulse.comJSON 设置在下方“开发者专用”中
Claude Code
claude mcp add --transport http --scope user post-pulse https://mcp.post-pulse.comCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"post-pulse": {
"url": "https://mcp.post-pulse.com"
}
}
}VS Code (mcp.json)
{
"servers": {
"post-pulse": {
"type": "http",
"url": "https://mcp.post-pulse.com"
}
}
}这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
通过互联网连接,适用于
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
服务器要求先登录,才会列出它的工具。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月14日
注册名称已通过域名 post-pulse.com 验证(注册中心会核实域名所有权)
代码最后更新于4天前
不适用:由 post-pulse.com 的所有者自己运行的云端服务器,你不会运行仓库里的代码
在 360 毫秒内响应(HTTP 401)
声明支持 OAuth 登录,你的 AI 应用可以带你去登录
尚未检查;我们会在检查端点时读取工具列表
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
还没有评价
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 4 项适用的基础检查中通过了 4 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于4天前,最新版本(1.0.0)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,因此也能用于接受远程 MCP 的应用,例如网页版 ChatGPT(Business 及以上为完整 MCP;Pro 为只读)。
同一分类中有:PostHog MCP Server, Openshorts, Google Ads + Meta Ads + SEO/GEO MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
Google Ads, Meta Ads, Google Analytics (GA4) & Search Console MCP server by Ryze AI
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
An MCP (Model Context Protocol) server that connects AI assistants to PostPulse — a social media management platform. Schedule posts, upload media, and manage accounts across Instagram, Facebook, YouTube, TikTok, Threads, LinkedIn, Pinterest, X (Twitter), Bluesky, and Telegram — all through natural language.
| Platform | Placements | Content Types | Requirements |
|---|---|---|---|
| Feed, Reels, Stories | Image, Video | Business Account | |
| Feed, Reels, Stories | Image, Video | Page | |
| YouTube | Video, Shorts | Video | Channel |
| TikTok | Video, Carousel | Image, Video | Account |
| Threads | Post | Image, Video | Account |
| Post | Image, Video | Personal Account | |
| Pin | Image, Video, Carousel (2–5 images) | Board | |
| X (Twitter) | Post | Image, Video | Account |
| Bluesky | Post | Image | Account |
| Telegram | Message | Text, Image, Video | Channel/Chat |
PostPulse runs a hosted MCP server at `https://mcp.post-pulse.com` — no setup required. Point your MCP client to this URL and authenticate via OAuth.
Example MCP client configuration:
{
"mcpServers": { "postpulse": { "url": "https://mcp.post-pulse.com" } } }
You can also install through Smithery:
npx -y @smithery/cli install post-pulse/mcp-server --client claude
If you prefer to run the server yourself:
git clone https://github.com/PostPulse/mcp-server-postpulse.git
cd mcp-server-postpulse
npm install
npm run build
npm start
Or with Docker:
docker build -t mcp-server-postpulse .
docker run -p 3000:3000 mcp-server-postpulse
| Variable | Default | Description |
|---|---|---|
HOST | 0.0.0.0 | Server bind address |
PORT | 3000 | Server port |
PUBLIC_URL | — | Public-facing URL (for OAuth metadata discovery) |
POSTPULSE_AUTH_ISSUER | https://auth.post-pulse.com/ | Auth0 issuer URL |
POSTPULSE_AUTH_US_JWKS_URI | https://dev-yb150m5gz2ss41sl.us.auth0.com/.well-known/jwks.json | JWKS of the US Auth0 tenant; empty turns the US key set off |
POSTPULSE_AUTH_US_ISSUERS | value of POSTPULSE_AUTH_ISSUER | Comma-separated issuers trusted for US keys |
POSTPULSE_AUTH_EU_JWKS_URI | — | JWKS of the EU Auth0 tenant; empty turns the EU key set off |
POSTPULSE_AUTH_EU_ISSUERS | — | Comma-separated issuers trusted for EU keys |
POSTPULSE_AUDIENCE | https://api.post-pulse.com | API audience |
POSTPULSE_API_URL | https://api.post-pulse.com | PostPulse API base URL |
REDIS_URL | — | Redis connection URL for session/event persistence (required) |
list_accountsList all connected social media accounts with their IDs, platforms, usernames, and display names. Use this as the first step to discover available accounts before scheduling posts or accessing chats.
Parameters: None
Returns: JSON array of account objects (id, platform, username, name, needsReauthorization). A new user has no accounts yet: the result is [] plus a hint to use connect_account. Accounts with needsReauthorization: true must be reconnected with connect_account before posting; the result names them in a second text block.
connect_accountGet a secure PostPulse link that connects (or reconnects) a social media account to PostPulse directly from the chat. The user opens the link in any browser and lands on a PostPulse page that shows which PostPulse account (masked email) the social account will be attached to. After Continue and approving access on the platform, the page says "Account connected — return to your chat". The tool does not wait for completion: once the user says they are done, call list_accounts to confirm the account.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | One of the two | INSTAGRAM, FACEBOOK, YOUTUBE, TIKTOK, THREADS, LINKEDIN, X_TWITTER, BLUE_SKY, TELEGRAM, PINTEREST |
accountId | number | One of the two | Reconnect an existing account (from list_accounts, usually one with needsReauthorization: true). The platform is taken from the account |
Behaviour:
FACEBOOK_PAGE account per picked Page: post to it directly, without list_chats. For TELEGRAM and for a reconnected FACEBOOK account, call list_chats afterwards to pick the channel or Page.list_chatsList publishing destinations for accounts that have sub-destinations. Facebook accounts publish to Pages, Telegram accounts publish to channels or chats, and Pinterest accounts publish to boards. Call this before scheduling posts to these platforms — use the returned id as the facebookPageId, telegramChannelId or pinterestBoardId in schedule_post.
Only supports accounts whose platform is FACEBOOK, TELEGRAM or PINTEREST. Other platforms, including FACEBOOK_PAGE (an account that is one Page), do not have sub-destinations and should be posted to directly.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
accountId | number | Yes | Account ID obtained from list_accounts |
Returns: JSON array of destination objects (id, title, type, platform).
upload_mediaUpload a media file for use in scheduled posts. Supports two modes: importing from a public URL (with automatic processing) or uploading a small file directly as base64. Returns a media key to reference in schedule_post.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
mediaUrl | string | No | Public URL of the media file to import |
mediaData | string | No | Base64-encoded content of a file up to about 75 KB |
mediaType | string | No | MIME type (e.g., image/jpeg, image/png). Required when using mediaData |
mediaName | string | No | File name with a media extension (e.g., clip.mp4). Needed with mediaData, and with mediaUrl when the URL does not end in such a name |
importId | number | No | Id of an import reported as still running, to keep waiting for it |
One of mediaUrl, both mediaData and mediaType, or importId must be provided.
Long imports: a call waits about 50 seconds. An import that takes longer keeps running on the server, and the call returns its id and state instead of a media key. Call upload_media again with importId to keep waiting; do not start the import again.
File size: a request to this server is limited to 100 KB, and base64 data travels inside the request, so mediaData fits only files up to about 75 KB. A larger request gets a 413 with a JSON-RPC error that explains the options. For a larger file:
mediaUrl.create_upload_link, and after the user has uploaded it, get_upload_link for its key.create_upload_linkGet a link that lets the user upload files from their device to their PostPulse media library in a browser, with no login. Use it for a file without a public URL, including a file attached to the chat, which does not reach this server. The tool does not wait for the upload: once the user says they are done, call get_upload_link.
Parameters: none.
Returns: the link, when it expires, the steps for the user, and the uploadLinkId for get_upload_link.
Behaviour:
get_upload_linkList the files uploaded through a link from create_upload_link. Use it instead of list_media to get exactly these files, without knowing their names.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
uploadLinkId | string | Yes | The uploadLinkId from create_upload_link, not the link itself |
Returns: a JSON object with expiresAt and files (key, filename, contentType, sizeBytes, status), followed by what to do next.
Behaviour:
CONFIRMED files to schedule_post.PENDING file may still be finishing: check again after the user says it is uploaded. A REJECTED file cannot be used.list_mediaList the files in the media library, newest first. Use it to find a file already in the library, such as one uploaded on the PostPulse website at https://post-pulse.com/app/gallery, by its name and pass its key to schedule_post. A file uploaded with mediaData appears a few minutes later, but its key from upload_media works at once.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
page | number | No | Page number, from 0. Default 0 |
size | number | No | Files per page, 1-50. Default 20 |
Returns: a JSON object with items (key, filename, contentType, sizeBytes), page, size, totalItems and totalPages. An empty library also gets a hint with the gallery link.
schedule_postSchedule a social media post to one or more connected accounts. Supports platform-specific options like publication type (feed, reel, story), video titles, and topic tags. Posts are