@markaestro/mcp

MCPcommunitylive
v0.2.2UnknownMITUpdated todaynpmGitHub

Model Context Protocol server that lets AI agents schedule, publish, and review Markaestro posts through the public API

Endpoint healthlive
checked 16h ago · 271ms · auth required
100% of the last 1 check reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (stdio, streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
5Downloads/wk
todayLast update
Needs 1 credential before it runs
  • MARKAESTRO_API_KEYAPI keyrequired

    Workspace API key (mk_live_ or mk_test_) from Settings, API Access. Bound to one brand.

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
AuthorUnknown
LicenseMIT
Version0.2.2
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface35 tools · 2 privileged
Security scan✓ Cleanv0.3.2 · todayHow well does this scan work?
EvalsNone
IndexedSep 24, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

35 tools · 2 privileged
Statically extracted from the published packagev0.3.2 · 7h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

list_productsList the brands (products) this connection can act on, with their connected channels: one brand for a single-brand connection, every brand in the workspace for an all-brands one. Call this first to learn each productId and which channels can be posted to.

List the brands (products) this connection can act on, with their connected channels: one brand for a single-brand connection, every brand in the workspace for an all-brands one. Call this first to learn each productId and which channels can be posted to.

No input schema was published for this tool.

list_destinationsList the publishable destinations (Facebook Page, Instagram account, TikTok account, ...) of a brand, with their ids and delivery modes. Use a destinationId on create_post only when a channel has more than one destination.

List the publishable destinations (Facebook Page, Instagram account, TikTok account, ...) of a brand, with their ids and delivery modes. Use a destinationId on create_post only when a channel has more than one destination.

No input schema was published for this tool.

get_brand_profileA brand's description, website, categories, voice, and visual identity as set in Markaestro. Read it before writing captions so they sound like the brand. Read-only.

A brand's description, website, categories, voice, and visual identity as set in Markaestro. Read it before writing captions so they sound like the brand. Read-only.

No input schema was published for this tool.

list_postsList posts, newest first. Filter by status: draft, scheduled, publishing, published, platform_action_required, failed, partial_failed. On an all-brands connection, pass productId to list one brand. Use cursor from a previous page to continue.

List posts, newest first. Filter by status: draft, scheduled, publishing, published, platform_action_required, failed, partial_failed. On an all-brands connection, pass productId to list one brand. Use cursor from a previous page to continue.

No input schema was published for this tool.

get_postFetch one post with its targets, status, media, schedule, publish results, and live URL when published.

Fetch one post with its targets, status, media, schedule, publish results, and live URL when published.

No input schema was published for this tool.

update_postChange a draft or scheduled post: its caption, its media, one channel's settings (settings.__type names the channel), or, for a scheduled post, its time. Omitted fields stay as they are. Every change is checked against the rules of every channel the post targets, and a scheduled post must still be…

Change a draft or scheduled post: its caption, its media, one channel's settings (settings.__type names the channel), or, for a scheduled post, its time. Omitted fields stay as they are. Every change is checked against the rules of every channel the post targets, and a scheduled post must still be…

No input schema was published for this tool.

create_postCreate a post for this brand. Without scheduledAt the post is saved as a DRAFT and nothing is published; with scheduledAt it is scheduled and the worker publishes it at that time. Pass either a single channel or a targets array (one entry per channel). Upload media first with upload_media and pass…

Create a post for this brand. Without scheduledAt the post is saved as a DRAFT and nothing is published; with scheduledAt it is scheduled and the worker publishes it at that time. Pass either a single channel or a targets array (one entry per channel). Upload media first with upload_media and pass…

No input schema was published for this tool.

publish_postQueue an immediate publish of a draft post. Returns a job run; poll get_job_run until status is succeeded or failed. For manual_reminder targets this queues a reminder for a person instead of calling the platform. The post goes public on the platform as soon as the run succeeds.

Queue an immediate publish of a draft post. Returns a job run; poll get_job_run until status is succeeded or failed. For manual_reminder targets this queues a reminder for a person instead of calling the platform. The post goes public on the platform as soon as the run succeeds.

No input schema was published for this tool.

mark_post_postedRecord that a person has posted a manual-reminder or TikTok-inbox post natively, which moves it from platform_action_required to published. Only for posts in platform_action_required that the user has already posted themselves. Nothing is sent to any platform.

Record that a person has posted a manual-reminder or TikTok-inbox post natively, which moves it from platform_action_required to published. Only for posts in platform_action_required that the user has already posted themselves. Nothing is sent to any platform.

No input schema was published for this tool.

delete_postprivilegedDelete a draft, or cancel a scheduled, failed, or waiting-to-be-posted post before it reaches any platform. Published posts cannot be deleted or taken down from here: that stays with the user in Markaestro. Posts mid-publish cannot be deleted until the run settles.

Delete a draft, or cancel a scheduled, failed, or waiting-to-be-posted post before it reaches any platform. Published posts cannot be deleted or taken down from here: that stays with the user in Markaestro. Posts mid-publish cannot be deleted until the run settles.

No input schema was published for this tool.

bulk_postsApply one action to up to 25 posts: reschedule (needs scheduledAt), or status (draft or scheduled). Per-post failures are reported individually. To remove posts, use delete_post on each draft.

Apply one action to up to 25 posts: reschedule (needs scheduledAt), or status (draft or scheduled). Per-post failures are reported individually. To remove posts, use delete_post on each draft.

No input schema was published for this tool.

create_postsCreate up to 25 posts in one call, for example a week of scheduled content. Each item takes the same fields as create_post. Failures are per item: the response lists ok/error for each, and the successful ones are created even when others fail.

Create up to 25 posts in one call, for example a week of scheduled content. Each item takes the same fields as create_post. Failures are per item: the response lists ok/error for each, and the successful ones are created even when others fail.

No input schema was published for this tool.

preview_evergreen_queueCheck whether a published post has mature measured performance and get a recommended Evergreen cadence. This does not create or schedule anything.

Check whether a published post has mature measured performance and get a recommended Evergreen cadence. This does not create or schedule anything.

No input schema was published for this tool.

list_evergreen_queuesList this brand's Intelligent Evergreen queues and their activation evidence, cadence, next run, and status.

List this brand's Intelligent Evergreen queues and their activation evidence, cadence, next run, and status.

No input schema was published for this tool.

get_evergreen_queueGet one Intelligent Evergreen queue including its caption variants.

Get one Intelligent Evergreen queue including its caption variants.

No input schema was published for this tool.

create_evergreen_queueCreate a draft Evergreen queue from an eligible published post. Creation does not activate it or schedule anything; activate_evergreen_queue does that separately.

Create a draft Evergreen queue from an eligible published post. Creation does not activate it or schedule anything; activate_evergreen_queue does that separately.

No input schema was published for this tool.

update_evergreen_queueUpdate a queue's cadence, review policy, expiry, name, or full caption-variant set. Pass the current version from get_evergreen_queue; a stale version is rejected so concurrent edits are not overwritten.

Update a queue's cadence, review policy, expiry, name, or full caption-variant set. Pass the current version from get_evergreen_queue; a stale version is rejected so concurrent edits are not overwritten.

No input schema was published for this tool.

activate_evergreen_queueActivate a draft or paused queue. This schedules future public posts. The user must have confirmed the caption variants (contentConfirmed on create_evergreen_queue or update_evergreen_queue); otherwise this answers EVERGREEN_CONTENT_REVIEW_REQUIRED.

Activate a draft or paused queue. This schedules future public posts. The user must have confirmed the caption variants (contentConfirmed on create_evergreen_queue or update_evergreen_queue); otherwise this answers EVERGREEN_CONTENT_REVIEW_REQUIRED.

No input schema was published for this tool.

pause_evergreen_queuePause a queue and unschedule any pending occurrence generated by it.

Pause a queue and unschedule any pending occurrence generated by it.

No input schema was published for this tool.

resume_evergreen_queueResume a paused queue and compute its next occurrence from the current time.

Resume a paused queue and compute its next occurrence from the current time.

No input schema was published for this tool.

list_evergreen_runsList the generated occurrences and evaluation outcomes for a queue.

List the generated occurrences and evaluation outcomes for a queue.

No input schema was published for this tool.

get_evergreen_analyticsGet source metrics, queue-lifetime metrics, tracked clicks, attributed conversions, and recent run outcomes. Unavailable provider metrics are null, not zero.

Get source metrics, queue-lifetime metrics, tracked clicks, attributed conversions, and recent run outcomes. Unavailable provider metrics are null, not zero.

No input schema was published for this tool.

get_analyticsNo description published

This tool published no description. Forge does not invent one.

list_post_analyticsNo description published

This tool published no description. Forge does not invent one.

get_post_analytics_historyHow one post earned its numbers over time: the metric snapshots taken 1h, 6h, 24h, 72h, 7d, 14d, 30d, 60d, and 90d after publish (a post published directly on the platform starts with a discovered snapshot), with the growth between stages, plus the current totals and whether polling is still active…

How one post earned its numbers over time: the metric snapshots taken 1h, 6h, 24h, 72h, 7d, 14d, 30d, 60d, and 90d after publish (a post published directly on the platform starts with a discovered snapshot), with the growth between stages, plus the current totals and whether polling is still active…

No input schema was published for this tool.

refresh_analyticsPull live metrics from the platforms now instead of waiting for the next scheduled poll: posts in the window (optionally one channel, or one brand on an all-brands connection) and today's follower counts. The answer says how many posts were updated and how many remain, since a large window may take…

Pull live metrics from the platforms now instead of waiting for the next scheduled poll: posts in the window (optionally one channel, or one brand on an all-brands connection) and today's follower counts. The answer says how many posts were updated and how many remain, since a large window may take…

No input schema was published for this tool.

suggest_post_timesWhen this brand's audience responds best, learned by Markaestro Intelligence from the brand's own post history (not an industry table). timing is null until there is enough history; readiness says how much there is. Use it to pick scheduledAt. Needs a plan with Intelligence.

When this brand's audience responds best, learned by Markaestro Intelligence from the brand's own post history (not an industry table). timing is null until there is enough history; readiness says how much there is. Use it to pick scheduledAt. Needs a plan with Intelligence.

No input schema was published for this tool.

upload_mediaprivilegedNo description published

This tool published no description. Forge does not invent one.

list_mediaList uploaded media assets with their ids, type, dimensions, and how many posts reference them.

List uploaded media assets with their ids, type, dimensions, and how many posts reference them.

No input schema was published for this tool.

get_mediaFetch one media asset: type, dimensions, processing state, thumbnail, and how many posts reference it.

Fetch one media asset: type, dimensions, processing state, thumbnail, and how many posts reference it.

No input schema was published for this tool.

get_job_runCheck the status of a publish run returned by publish_post: queued, running, succeeded, or failed, with the message and details.

Check the status of a publish run returned by publish_post: queued, running, succeeded, or failed, with the message and details.

No input schema was published for this tool.

list_job_runsList recent publish runs, optionally filtered by status or by the post id (resourceId).

List recent publish runs, optionally filtered by status or by the post id (resourceId).

No input schema was published for this tool.

get_channel_rulesThe per-channel media, caption, and delivery-mode rules the API enforces, plus the draft-then-publish model. Read before creating posts.

The per-channel media, caption, and delivery-mode rules the API enforces, plus the draft-then-publish model. Read before creating posts.

No input schema was published for this tool.

get_tiktok_posting_optionsThe connected TikTok creator's live posting options: allowed privacy levels, whether comments, duets, and stitches can be enabled, and the longest video. TikTok requires a Direct Post to use these, so read them right before building one and pass the chosen privacyLevel in the tiktok settings. Test…

The connected TikTok creator's live posting options: allowed privacy levels, whether comments, duets, and stitches can be enabled, and the longest video. TikTok requires a Direct Post to use these, so read them right before building one and pass the chosen privacyLevel in the tiktok settings. Test…

No input schema was published for this tool.

markaestroNo description published

This tool published no description. Forge does not invent one.

31 of 35 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Model Context Protocol server that lets AI agents schedule, publish, and review Markaestro posts through the public API

Keywords
mcpmodel-context-protocolmarkaestrosocial-mediaschedulingai-agents
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-24 — observed resolution, not a publisher declaration.

60 packages resolved · 2 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

53 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+41 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.