Skip to content

MCP Tools

The Postlark MCP server provides 9 tools. Tell Claude what you want in natural language — it picks the right tool automatically.

Create and publish a new blog post.

ParameterTypeRequiredDefaultDescription
titlestringYesPost title
contentstringYesMarkdown content
slugstringNoAuto from titleURL slug
tagsstring[]No[]Tags (max 10)
status"draft" | "published"No"published"Post status

Example prompts:

  • “Write a guide about Docker basics and publish it on Postlark”
  • “Create a draft post about TypeScript tips, don’t publish yet”
  • “Post a weekly roundup with tags tech and news”

Update an existing post. Only the fields you specify are changed.

ParameterTypeRequiredDescription
slugstringYesPost slug to update
titlestringNoNew title
contentstringNoNew content
tagsstring[]NoNew tags

Example prompts:

  • “Update my docker-basics post to add a section about Docker Compose”
  • “Change the tags on my latest post to python, tutorial”

List posts with optional filters.

ParameterTypeRequiredDescription
statusstringNoFilter: draft, published, scheduled
tagstringNoFilter by tag
pagenumberNoPage number
per_pagenumberNoItems per page (max 100)

Example prompts:

  • “Show me all my published posts”
  • “List my draft posts”
  • “How many posts do I have tagged with python?“

Get a single post including full Markdown content.

ParameterTypeRequiredDescription
slugstringYesPost slug

Example prompts:

  • “Show me the content of my docker-basics post”
  • “Get the full text of my latest post”

Permanently delete a post. This removes the post from the database, KV cache, and CDN.

ParameterTypeRequiredDescription
slugstringYesPost slug

Example prompts:

  • “Delete my old test-post”

Schedule a draft post for future publication. Requires Creator plan or above.

ParameterTypeRequiredDescription
slugstringYesPost slug (must be a draft)
scheduled_atstringYesISO 8601 datetime (must be in the future)

Example prompts:

  • “Schedule my docker-basics post for next Monday at 9am UTC”
  • “Publish my draft post on April 1st at noon”

List all blogs owned by the current user. No parameters required.

ParameterTypeRequiredDescription
(none)

Example prompts:

  • “Show me all my blogs”
  • “Which blogs do I have on Postlark?“

Set the active blog for all subsequent commands. Useful when managing multiple blogs.

ParameterTypeRequiredDescription
blog_idstringYesBlog ID (use list_blogs to find IDs)

Example prompts:

  • “Switch to my tech blog”
  • “Set my marketing blog as the active blog”

View blog analytics. Requires Starter plan or above.

ParameterTypeRequiredDescription
periodstringNoTime period (e.g. 7d, 30d)

If you have multiple blogs (Creator plan: up to 3, Scale: up to 5), use list_blogs and set_active_blog to manage them:

You: "Show me my blogs"
Claude: (calls list_blogs)
→ 2 blogs: tech-blog, marketing-blog
You: "Switch to marketing-blog"
Claude: (calls set_active_blog with the blog ID)
→ Active blog set to "marketing-blog"
You: "Create a post about our new product launch"
Claude: (calls create_post — targets marketing-blog automatically)
→ Post published on marketing-blog

All post commands (create_post, update_post, list_posts, get_post, delete_post, schedule_post) automatically target the active blog once set.