MCP Tools Reference

This article lists every tool the Postnomic MCP server exposes, grouped by area, with each tool's purpose and key parameters. Every tool runs through the same REST API as the dashboard, as the owner o...

Overview

This article lists every tool the Postnomic MCP server exposes, grouped by area, with each tool's purpose and key parameters. Every tool runs through the same REST API as the dashboard, as the owner of the connected Personal Access Token — see MCP Server Overview for how authentication and permissions work.

Public IDs (blogId, postId) are the same public identifiers used throughout the Postnomic API and dashboard URLs, not internal database IDs.

Blogs

  • list_blogs — List the blogs the authenticated user can access, with their public IDs, names, and slugs. No parameters.

Posts (read)

  • list_posts — List all posts on a blog.
    • blogId — the blog's public ID.
  • get_post — Get a single post by its public ID.
    • blogId, postId.

Posts (write)

  • create_post — Create a new post. Created as a draft unless publish is set.
    • blogId, title, slug (must be unique within the blog).
    • authorIdentityUserId (optional) — defaults to the caller.
    • content, excerpt (optional).
    • tags, categories (optional arrays of slugs).
    • publish (optional, default false) — publish immediately after creation.
    • coverImageUrl, thumbnailImageUrl, shareImageUrl (optional) — see Media below.
  • update_post — Replace a post's title, slug, content, excerpt, tags, categories, and image URLs.
    • blogId, postId, title, slug, content, excerpt, tags, categories.
    • coverImageUrl, thumbnailImageUrl, shareImageUrl (optional).
  • delete_post — Delete a post by archiving it.
    • blogId, postId.

Lifecycle

  • publish_post — Manually publish a post. The post must be Draft, Scheduled, or InReview.
    • blogId, postId.
  • unpublish_post — Manually unpublish a post. The post must be Published.
    • blogId, postId.
  • schedule_post — Schedule a post to be automatically published at a future date/time.
    • blogId, postId, publishAt (UTC date/time).
  • unarchive_post — Restore an archived post to Draft so it can be edited and republished. The post must be Archived.
    • blogId, postId.

Translations

  • set_post_translation — Create or update a post's translation in a specific non-default language. The default language is edited through update_post, not this tool.
    • blogId, postId, lang (ISO-639-1 code, e.g. de; must not be the blog's default language), title, slug (unique per blog and language), content.
    • excerpt (optional).
  • delete_post_translation — Delete a post's translation in a specific non-default language.
    • blogId, postId, lang.

Media

  • upload_image — Upload an image to a blog's media library and return its metadata, including its url.
    • blogId, fileName (with extension, e.g. cover.jpg), base64Content (base64-encoded image bytes).
    • folderPath (optional) — a virtual folder inside the blog's media library.
    • Accepts jpg, jpeg, png, gif, webp, and svg; the decoded image must be 10 MB or smaller.
    • The returned url is a relative /media/blob/... path — the platform's native form for post images. Pass it as-is into create_post/update_post's coverImageUrl, thumbnailImageUrl, or shareImageUrl, or use it inline in a post's content; the platform resolves it wherever the post is rendered.

Analytics

  • get_blog_insights — Get a blog's analytics dashboard: KPIs, daily traffic, top posts, geo distribution, referrers, and device breakdown.
    • blogId, days (optional, default 30, max 365).
  • get_post_stats — Get analytics for a single post: views, unique visitors, comments, traffic, referrers, devices, and geo distribution.
    • blogId, postId.

Was this article helpful?

Thank you for your feedback!