MisarBlog MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MISARBLOG_API_KEY | No | Your Misar.Blog API key (starts with mbk_). If omitted, use the 'login' tool to authenticate via browser. | |
| MISARBLOG_BASE_URL | No | Base URL for self-hosted Misar.Blog instance (optional; defaults to https://www.misar.blog). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Authenticate with your Misar.Blog account via browser — no API key copy-paste needed. Opens the Misar.Blog authorization page where you review the requested permissions and click 'Authorize'. Your API key is delivered straight back to this client and saved to ~/.misarblog/config.json. |
| statusA | Check whether you are authenticated with Misar.Blog and which account is connected. Run this first to verify your connection. |
| upgradeA | Show your current Misar.Blog plan, how much of each quota you have left, and what upgrading unlocks, with the link to upgrade. Call it any time — not only after hitting a limit. By default it only reads. With start_trial=true it starts the free, no-card trial on the account (a plan change; no payment is taken). It never upgrades a paid plan or takes payment itself: the user does that by following the link. On a local install, open=true also opens that link in the user's browser. |
| get_profileB | Get your Misar.Blog creator profile |
| get_analytics_summaryA | Get analytics summary (views, revenue, subscribers) for a time period |
| list_my_articlesB | List your articles on Misar.Blog |
| get_articleA | Get a single article by slug, including full markdown content |
| publish_articleB | Publish a new article (or schedule it) on Misar.Blog |
| create_draftB | Save an article as a draft on Misar.Blog (for review before publishing) |
| update_articleA | Update the title, body, or tags of an existing article or draft. Only the fields you pass are changed; omitted fields keep their current values. |
| search_articlesA | Search PUBLISHED articles across Misar.Blog by keyword, tag, or author — including other creators' work. Use list_my_articles for your own drafts and unpublished posts. |
| research_topicA | Research a topic and get AI-generated insights, sources, and a content outline. Useful before writing an article. |
| generate_title_seoB | Generate 5 SEO/AEO/GEO-optimized article titles from a topic or keyword prompt. Targets high-volume, low-competition long-tail keywords. Optimized for Google, AI answer engines (ChatGPT, Perplexity, Claude), Google AI Overviews, and AI search experiences. Each title includes a keyword strategy hint. |
| suggest_titlesA | Generate 5 compelling, SEO-friendly article title options from your existing article content. Use generate_title_seo instead if you want to target specific keywords or have not written content yet. |
| upload_imageB | Upload a local image file to the Misar.Blog CDN |
| generate_cover_imageB | Generate a cover image using AI and upload it to the Misar.Blog CDN |
| get_seriesA | List all your series on Misar.Blog |
| create_seriesC | Create a new series to group related articles |
| add_to_seriesC | Add an existing article to a series |
| list_commentsB | Get the comment thread for an article. Requires an API key; counts against your plan's request quota. |
| get_follow_statusA | Get follow status and follower count for a profile UUID. Requires an API key; counts against your plan's request quota. |
| list_newsletter_subscribersB | Get your newsletter subscriber list. Requires API key authentication. |
| list_newsletter_issuesB | Get your sent and scheduled newsletter issues. Requires API key authentication. |
| upvote_articleA | Upvote an article as the account holder. Idempotent: upvoting again changes nothing. Returns {upvoted, upvote_count}. Requires an API key; counts against your plan's request quota. |
| remove_upvoteA | Remove your upvote from an article. Returns {upvoted: false, upvote_count}. Requires an API key; counts against your plan's request quota. |
| save_articleA | Save an article to your saved list to read later. Idempotent. Returns {saved, save_count}. Requires an API key; counts against your plan's request quota. |
| unsave_articleA | Remove an article from your saved list. Returns {saved: false, save_count}. Requires an API key; counts against your plan's request quota. |
| list_savedA | List your saved articles, newest save first. Returns {items, next_cursor}; pass next_cursor back as cursor for the next page. Requires an API key; counts against your plan's request quota. |
| get_reputationA | Get a creator's reputation: score, tier and tier name, upvotes received, progress toward the next tier, and badges. Requires an API key; counts against your plan's request quota. |
| repost_articleA | Repost an article to your followers, with an optional note (up to 280 characters). Needs reputation tier 1; you cannot repost your own article; notes are moderated. Reposting again replaces the note. Returns {reposted, repost_count}. Requires an API key; counts against your plan's request quota. |
| remove_repostA | Undo your repost of an article. Returns {reposted: false, repost_count}. Requires an API key; counts against your plan's request quota. |
| get_reactionsA | Deprecated (the v1 reactions API sunsets on 2027-02-03): get reaction counts and your reactions for an article. Use upvote_article / save_article for new work. Requires API key. |
| add_reactionA | Deprecated (the v1 reactions API sunsets on 2027-02-03): add a reaction to an article. Use upvote_article instead of like or clap, and save_article instead of bookmark. No-ops if already reacted. Requires API key. |
| remove_reactionA | Deprecated (the v1 reactions API sunsets on 2027-02-03): remove a specific reaction from an article. Use remove_upvote / unsave_article for new work. Requires API key. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| draft_article | Write a complete, SEO-optimised article draft and save it to Misar.Blog. |
| improve_seo | Audit an article for SEO/AEO/GEO and apply the improvements. |
| write_newsletter | Draft a newsletter issue from recent published articles. |
| article_ideas | Generate article ideas grounded in what has and has not been covered. |
| social_caption | Write platform-specific promotional captions for an article. |
| optimize_headline | Generate and rank stronger headline options for an article. |
| series_plan | Plan a multi-part article series and set it up on Misar.Blog. |
| engagement_report | Summarise blog performance and recommend what to do next. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Creator profile | Your Misar.Blog profile — username, display name, bio, and payout status. Read this to get the author URL and handle right before writing anything public. |
| Recent published articles | Your 20 most recent published articles. Useful as a style and coverage reference so a new draft neither repeats nor contradicts existing work. |
| Open drafts | Your unpublished drafts, so work in progress can be resumed rather than restarted. |
| Article series | Your series and the articles in each, in order. |
| Analytics summary | Views, revenue, and subscriber counts for the last 30 days — the baseline for any performance question. |
TDQS
Scored across 34 tools
Most tools target distinct resources or actions, but title generation (generate_title_seo vs suggest_titles) and deprecated reaction tools overlapping with upvote/save create some confusion. Deprecation notes help, but a few boundaries remain ambiguous.
Predominantly snake_case verb_noun (get_article, publish_article, list_comments), with minor deviations like single-word status/login/upgrade and inconsistent removal verbs (unsave_article vs remove_upvote). Overall predictable and readable.
34 tools is heavy for a blog platform, including three deprecated reaction tools and many social/newsletter operations. While the domain is broad, the surface feels over-scoped and could be consolidated.
Core article lifecycle lacks a delete operation, and there is no way to create comments, remove articles from series, or perform follow/unfollow actions. These are notable gaps for a publishing platform.