Markaestro
概览
作者提供的说明(英文原文)
Schedule, publish, and review social posts and analytics for a Markaestro brand.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i3 项中通过 3 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新↓ 307/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 电脑或云端
- 传输方式: stdio, Streamable HTTP
- 分类: 营销与社交媒体
- 你需要填写:MARKAESTRO_API_KEY
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:3 项中通过 3 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 需要你自己填写:
MARKAESTRO_API_KEY,MARKAESTRO_READ_ONLY
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
- 打开 Settings → Connectors
- 点击 Add custom connector
- 粘贴下面的地址,然后点击 Add
- 如果要求登录,请登录作者的服务
https://markaestro.com/api/public/v1/mcp或者在你的电脑上运行
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"markaestro": {
"command": "npx",
"args": [
"-y",
"@markaestro/mcp"
],
"env": {
"MARKAESTRO_API_KEY": "your-value",
"MARKAESTRO_READ_ONLY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http markaestro https://markaestro.com/api/public/v1/mcp或者在你的电脑上运行
claude mcp add markaestro --env MARKAESTRO_API_KEY=your-value --env MARKAESTRO_READ_ONLY=your-value -- npx -y @markaestro/mcp运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"markaestro": {
"url": "https://markaestro.com/api/public/v1/mcp"
}
}
}或者在你的电脑上运行
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"markaestro": {
"command": "npx",
"args": [
"-y",
"@markaestro/mcp"
],
"env": {
"MARKAESTRO_API_KEY": "your-value",
"MARKAESTRO_READ_ONLY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"markaestro": {
"type": "http",
"url": "https://markaestro.com/api/public/v1/mcp"
}
}
}或者在你的电脑上运行
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"markaestro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@markaestro/mcp"
],
"env": {
"MARKAESTRO_API_KEY": "your-value",
"MARKAESTRO_READ_ONLY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
- 打开网页版 ChatGPT → Settings → Connectors (Apps)
- 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
- 粘贴下面的地址,起个名字,然后保存
- 如果要求登录,请登录作者的服务
https://markaestro.com/api/public/v1/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
- Workspace API key (mk_live_ or mk_test_) from Settings, API Access. Covers one brand or all brands in the workspace.
MARKAESTRO_READ_ONLYenvSet to 1 to register only the reading tools.
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
服务器要求先登录,才会列出它的工具。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ✓ 通过
作者与仓库一致
注册名称已通过域名 markaestro.com 验证(注册中心会核实域名所有权)
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- ✓ 通过
端点有响应
在 321 毫秒内响应(HTTP 401)
- ✓ 通过
使用 OAuth 登录
声明支持 OAuth 登录,你的 AI 应用可以带你去登录
- … 尚未检查
工具描述中没有隐藏指令
尚未检查;我们会在检查端点时读取工具列表
与“营销与社交媒体”中的其他服务器比较i
- 星标数多于此分类中其他 3629 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3629 个服务器的 85% 更新
- 基础检查结果等于或优于此分类中其他 3629 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Markaestro 安全吗?
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:MARKAESTRO_API_KEY
它在我的电脑上运行还是在云端?
两种方式都可以:安装在你的电脑上,或者连接云端版本。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.4.0)于5天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
@markaestro/mcp
A Model Context Protocol server that lets AI agents (Claude Code, Claude, Cursor, ChatGPT, Grok, Grok Bot, OpenClaw, Hermes, and any other MCP client) schedule, publish, and review Markaestro posts through the public API. Exact connection steps per client are on https://markaestro.com/developers/agents (?client=cursor, chatgpt, grok, grok-bot, openclaw, hermes, or headless opens that tab).
Every key covers either one brand or every brand in its workspace, chosen when the key is created or at the sign-in consent. A single-brand key works on that brand alone. An all-brands key sees every brand: list_products returns them all, and the agent passes productId to create_post, create_posts, list_posts, and create_evergreen_queue, and to the analytics tools to report on one brand instead of the whole workspace.
Tools
| Tool | What it does |
|---|---|
list_products | The brands this key can act on (one, or all in the workspace) and their connected channels |
list_destinations | Publishable destinations of the brand (pages, accounts) with ids |
get_brand_profile | A brand's description, voice, and visual identity (read-only) |
list_posts, get_post | Read posts by status, page through with cursor |
create_post | Save a draft, or schedule when scheduledAt is set |
update_post | Edit a draft or scheduled post: caption, media, one channel's settings, or its time |
publish_post | Queue an immediate publish; returns a job run |
mark_post_posted | Record that a person posted a manual-reminder or TikTok-inbox post |
delete_post | Delete a draft, or cancel a post before it reaches any platform; published posts are refused |
bulk_posts | Reschedule or restatus up to 25 posts |
create_posts | Up to 25 posts in one call, per-item results |
upload_media | Upload from a file path, URL, or data URL; returns the asset id |
list_media, get_media | Uploaded assets, processing state, reference counts |
get_analytics | Brand performance over a window: totals, channels, daily series, top posts, heatmap, insights. Covers posts published through Markaestro and posts published directly on the platform |
list_post_analytics | Every post in the window with its latest metrics and source, sortable by views, reach, engagements, or engagement rate |
get_post_analytics_history | The 1h to 90d metric snapshots of one post, with growth between stages |
refresh_analytics | Pull live metrics from the platforms now (a few calls a minute) |
suggest_post_times | The brand's best posting windows, learned from its own history |
get_job_run, list_job_runs | Follow a publish to succeeded or failed |
get_channel_rules | Per-channel media, caption, and delivery-mode rules |
get_tiktok_posting_options | The TikTok creator's live privacy levels and interaction options, needed for a Direct Post |
The Evergreen tools (preview_, create_, get_, list_, update_, activate_, pause_, and resume_evergreen_queue, list_evergreen_runs, get_evergreen_analytics) manage proven recurring content.
Agents manage social media and nothing else: account settings, billing, team, API keys, webhooks, and channel connections are not exposed, and no tool deletes a published post, takes one down from a platform, or archives an Evergreen queue. Those stay with the user in Markaestro. The same rule holds at the REST layer for a key issued through the agent sign-in: it cannot remove a published post, take one down from a platform, or manage webhooks (FORBIDDEN_AGENT_CONNECTION). A key a person mints in Settings keeps the full REST surface its scopes allow.
Also served: the markaestro://channel-rules resource and a schedule_post prompt that walks an agent through a safe scheduling flow.
Posting is draft-first. create_post without scheduledAt never publishes; publish_post is the only tool that publishes now, and its description tells the agent to confirm with the user first.
Two ways to connect
Hosted (nothing to install, nothing to paste). Markaestro serves the same tools over Streamable HTTP at https://markaestro.com/api/public/v1/mcp. Add it with no credentials and the first tool call opens the browser: sign in, pick the workspace and brand, click Allow. The client receives an API key bound to that brand and refreshes it on its own.
claude mcp add --transport http markaestro https://markaestro.com/api/public/v1/mcp
This is standard OAuth 2.1 (PKCE, dynamic client registration, discovery at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server), so claude.ai, Cursor, and other MCP clients connect the same way. Connected agents are listed and revoked in Settings, API.
For headless or CI use, pass a workspace API key as a bearer header instead:
claude mcp add --transport http markaestro https://markaestro.com/api/public/v1/mcp \
--header "Authorization: Bearer mk_live_..."
{
"mcpServers": { "markaestro": { "type": "http", "url": "https://markaestro.com/api/public/v1/mcp", "headers": { "Authorization": "Bearer mk_live_..." } } } }
Send x-markaestro-read-only: 1 as an extra header to get only the reading tools.
Local package. Run the server on your machine over stdio, which also lets upload_media read local files:
Setup
- Create an API key in Markaestro under Settings > API Access. Pick the brand, the scopes the agent needs (
products.read,posts.read,posts.write,media.write, andposts.publishif it may publish), and prefer a test key while you evaluate. - Give the key to the server through
MARKAESTRO_API_KEY.
Claude Code
claude mcp add markaestro -e MARKAESTRO_API_KEY=mk_live_... -- npx -y @markaestro/mcp
Claude Desktop, Cursor, and other JSON configs
{
"mcpServers": { "markaestro": { "command": "npx", "args": ["-y", "@markaestro/mcp"], "env": { "MARKAESTRO_API_KEY": "mk_live_..." } } } }
Environment
| Variable | Required | Default |
|---|---|---|
MARKAESTRO_API_KEY | yes | n/a |
MARKAESTRO_BASE_URL | no | https://markaestro.com |
MARKAESTRO_READ_ONLY | no | unset; 1 registers only reading tools |
What the server does for you
- Sends an
Idempotency-Keyon every mutation, minted once per call, so a retried request replays instead of double-posting. - Retries
429and transient5xxresponses using the server'sRetry-After. - Runs the three-step direct media upload (session,
PUTto storage, finalize) and never sends the API key to the storage URL. - Returns API failures as tool errors with the stable error
code, any per-channelissues, and a hint about what to change.
Claude Code plugin
The skill and the hosted server ship together as a plugin:
claude plugin marketplace add markaestro/markaestro-agents
claude plugin install markaestro@markaestro
Deploying
Maintainers: the full release runbook (every surface, the version files, and the exact commands) is docs/operations/mcp-release.md in the Markaestro app repository. Summary:
| Surface | How it ships |
|---|---|
Hosted MCP (/api/public/v1/mcp) | Part of the Next.js app; deploys on push to main like every route |
@markaestro/mcp on npm | cd mcp && npm version && npm publish (public scoped package; prepublishOnly builds). Bump src/version.ts with it |
| Plugin and skill | Mirrored to the public repo markaestro/markaestro-agents with node scripts/sync-agents-repo.mjs , then pushed there; claude plugin marketplace add markaestro/markaestro-agents reads it. The skill alone can be copied to ~/.claude/skills/markaestro |
MCP Registry (com.markaestro/mcp) | After the npm publish of the same version: mcp-publisher login http --domain markaestro.com --private-key then mcp-publisher publish from mcp/. The public key is served at /.well-known/mcp-registry-auth |
Glama (markaestro/markaestro-agents) | Admin, Dockerfile: build step npm install -g @markaestro/mcp@ , CMD markaestro-mcp; Build, then Create Release |
Development
cd mcp
npm install npm run build MARKAESTRO_API_KEY=mk_test_... MARKAESTRO_BASE_URL=http://localhost:3000 npm run smoke # local stdio MARKAESTRO_API_KEY=mk_test_... MARKAESTRO_BASE_URL=http://localhost:3000 npm run smoke -- --remote # hosted endpoint
Unit tests live in src/__tests__ and run with the repository's npm test. The smoke script starts the built server over stdio, lists tools, reads the brand, creates a draft, reads it back, and deletes it. Nothing is published.