MCP Prompts
AI writing workflow prompts available on the MisarBlog MCP server — draft articles, improve SEO, write newsletters, and more.
Overview
The MisarBlog MCP server exposes 6 AI writing prompts that generate content using your existing articles as context. Prompts are accessible via MCP clients like Claude Desktop, Claude Code, and any MCP-compatible tool.
Tools vs Prompts
Tools execute actions (fetch data, create drafts). Prompts generate AI content — they fetch relevant context from your account and return structured messages ready for an LLM to process.
Available prompts
| Prompt | Description |
|---|---|
draft_article | Generate a full article draft in your writing style |
improve_seo | Score and rewrite an article for better SEO |
write_newsletter | Draft a newsletter issue from your latest articles |
article_ideas | Generate content ideas based on your top articles |
social_caption | Write captions for Twitter/LinkedIn/Threads |
optimize_headline | Generate 5 A/B-testable headline variants |
draft_article
Fetches your recent article titles as style reference and generates a full Markdown article.
Arguments
| Argument | Required | Description |
|---|---|---|
topic | Yes | The subject to write about |
tone | No | Writing tone (e.g. "conversational", "technical", "listicle") |
wordCount | No | Target word count (default: 800) |
Claude Desktop / Code usage
Use the MisarBlog draft_article prompt with topic="Next.js App Router caching strategies"
SDK usage
const client = new MisarBlogMcpClient({ apiKey: "mbk_your_key" });
await client.initialize();
const draft = await client.draftArticle({
topic: "Next.js App Router caching strategies",
tone: "technical",
wordCount: 1200,
});
console.log(draft.messages[1].content.text);improve_seo
Fetches the content of an existing article, scores its SEO quality, and returns a rewritten version with suggestions.
Arguments
| Argument | Required | Description |
|---|---|---|
slug | Yes | Article slug to analyse |
Output
The assistant message includes:
- SEO score (0–100)
- Top 3 weaknesses
- Rewritten title and meta description
- Rewritten introduction paragraph
- Keyword recommendations
SDK usage
const seo = await client.improveSeo({ slug: "my-first-post" });write_newsletter
Fetches your N most recently published articles and drafts a newsletter issue with curated summaries.
Arguments
| Argument | Required | Description |
|---|---|---|
articleCount | No | Number of articles to include (default: 5, max: 10) |
subject | No | Suggested newsletter subject line |
SDK usage
const newsletter = await client.writeNewsletter({ articleCount: 5 });article_ideas
Fetches your top articles by view count, then generates 10 related content ideas in the same niche.
Arguments
| Argument | Required | Description |
|---|---|---|
niche | No | Topic area to focus on (e.g. "developer productivity") |
count | No | Number of ideas (default: 10) |
SDK usage
const ideas = await client.articleIdeas({ niche: "developer productivity" });social_caption
Fetches an article's title, excerpt, and canonical URL, then writes captions for Twitter, LinkedIn, and Threads.
Arguments
| Argument | Required | Description |
|---|---|---|
slug | Yes | Article slug to write captions for |
Output format
The assistant message returns three captions clearly labeled:
- Twitter / X (≤280 characters, includes CTA)
- LinkedIn (professional tone, 2–3 sentences)
- Threads (conversational, hook-first)
SDK usage
const captions = await client.socialCaption({ slug: "my-article" });optimize_headline
Generates 5 A/B-testable headline variants for an article, each using a different headline strategy.
Arguments
| Argument | Required | Description |
|---|---|---|
title | Yes | The current article title to optimise |
Output format
5 headline variants, each labeled with its strategy:
- Curiosity gap — creates intrigue
- How-to — promises a solution
- List — numbered outcome
- Specific number — data-driven credibility
- Bold claim — contrarian or surprising
SDK usage
const headlines = await client.optimizeHeadline({
title: "How to Write Better Articles",
});
console.log(headlines.messages[1].content.text);Prompt response format
All prompts return the MCP GetPromptResult structure:
{
messages: [
{
role: "user",
content: {
type: "text",
text: "// Prompt text with fetched context"
}
},
{
role: "assistant",
content: {
type: "text",
text: "// AI-generated content"
}
}
]
}Claude Desktop configuration
See MCP Setup to add the MisarBlog MCP server to Claude Desktop. Once connected, invoke prompts naturally:
"Use the MisarBlog article_ideas prompt for developer productivity content"
"Run the MisarBlog optimize_headline prompt on my article 'How to Write Better Code'"