Publish and manage articles, series, comments, reactions, newsletters, and analytics — from any AI…
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Misar.Blog API key. Format: Bearer mbk_… — create one at https://www.misar.blog/dashboard/settings/api-keys
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a reaction to an article. No-ops if already reacted. Requires API key.
Reaction type: like, clap, or bookmark
UUID of the article
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a reaction to an article. No-ops if already reacted. Requires API key.
| Argument | Type | Description |
|---|---|---|
| type* | string | Reaction type: like, clap, or bookmark |
| article_id* | string | UUID of the article |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"article_id",
"type"
],
"properties": {
"type": {
"enum": [
"like",
"clap",
"bookmark"
],
"type": "string",
"description": "Reaction type: like, clap, or bookmark"
},
"article_id": {
"type": "string",
"format": "uuid",
"description": "UUID of the article"
}
},
"additionalProperties": false
}Add an existing article to a series
| Argument | Type | Description |
|---|---|---|
| position | integer | Position in the series (optional, appends if omitted) |
| series_slug* | string | The series slug |
| article_slug* | string | The article slug to add |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"series_slug",
"article_slug"
],
"properties": {
"position": {
"type": "integer",
"minimum": 1,
"description": "Position in the series (optional, appends if omitted)"
},
"series_slug": {
"type": "string",
"description": "The series slug"
},
"article_slug": {
"type": "string",
"description": "The article slug to add"
}
},
"additionalProperties": false
}Save an article as a draft on Misar.Blog (for review before publishing)
| Argument | Type | Description |
|---|---|---|
| tags | array | Tags for the draft |
| title* | string | Draft title |
| body_markdown* | string | Full article body in Markdown |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"body_markdown"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags for the draft"
},
"title": {
"type": "string",
"minLength": 1,
"description": "Draft title"
},
"body_markdown": {
"type": "string",
"minLength": 1,
"description": "Full article body in Markdown"
}
},
"additionalProperties": false
}Create a new series to group related articles
| Argument | Type | Description |
|---|---|---|
| title* | string | Series title |
| description | string | Short description of the series |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title"
],
"properties": {
"title": {
"type": "string",
"minLength": 1,
"description": "Series title"
},
"description": {
"type": "string",
"description": "Short description of the series"
}
},
"additionalProperties": false
}Generate a cover image using AI and upload it to the Misar.Blog CDN
| Argument | Type | Description |
|---|---|---|
| size | string | Image dimensions (default: landscape 1792x1024) |
| prompt* | string | Description of the image to generate |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt"
],
"properties": {
"size": {
"enum": [
"1024x1024",
"1792x1024",
"1024x1792"
],
"type": "string",
"default": "1792x1024",
"description": "Image dimensions (default: landscape 1792x1024)"
},
"prompt": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "Description of the image to generate"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| prompt* | string | Your article topic or target keywords. Be specific — include your niche, audience, and any long-tail phrases you want to rank for. Example: 'best AI writing tools for beginner bloggers 2025' |
| context | string | Optional: existing article content (plain text or markdown). Providing it lets the AI align titles with your actual content. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Your article topic or target keywords. Be specific — include your niche, audience, and any long-tail phrases you want to rank for. Example: 'best AI writing tools for beginner bloggers 2025'"
},
"context": {
"type": "string",
"maxLength": 8000,
"description": "Optional: existing article content (plain text or markdown). Providing it lets the AI align titles with your actual content."
}
},
"additionalProperties": false
}Get analytics summary (views, revenue, subscribers) for a time period
| Argument | Type | Description |
|---|---|---|
| days | integer | Number of days to look back (default: 30, max: 365) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"default": 30,
"maximum": 365,
"minimum": 1,
"description": "Number of days to look back (default: 30, max: 365)"
}
},
"additionalProperties": false
}Get a single article by slug, including full markdown content
| Argument | Type | Description |
|---|---|---|
| slug* | string | The article slug |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The article slug"
}
},
"additionalProperties": false
}Get follow status and follower count for a profile UUID. Requires an API key; counts against your plan's request quota.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | UUID of the profile to check follow status for |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"format": "uuid",
"description": "UUID of the profile to check follow status for"
}
},
"additionalProperties": false
}Get your Misar.Blog creator profile
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get reaction counts and your reactions for an article. Requires API key.
| Argument | Type | Description |
|---|---|---|
| article_id* | string | UUID of the article |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"article_id"
],
"properties": {
"article_id": {
"type": "string",
"format": "uuid",
"description": "UUID of the article"
}
},
"additionalProperties": false
}List all your series on Misar.Blog
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get the comment thread for an article. Requires an API key; counts against your plan's request quota.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| article_id* | string | UUID of the article to fetch comments for |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"article_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"article_id": {
"type": "string",
"format": "uuid",
"description": "UUID of the article to fetch comments for"
}
},
"additionalProperties": false
}List your articles on Misar.Blog
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of articles to return |
| status | string | Filter by status (omit for all published) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of articles to return"
},
"status": {
"enum": [
"draft",
"published",
"scheduled",
"archived"
],
"type": "string",
"description": "Filter by status (omit for all published)"
}
},
"additionalProperties": false
}Get your sent and scheduled newsletter issues. Requires API key authentication.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Get your newsletter subscriber list. Requires API key authentication.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
}
},
"additionalProperties": false
}Publish a new article (or schedule it) on Misar.Blog
| Argument | Type | Description |
|---|---|---|
| tags | array | Up to 10 tags |
| title* | string | Article title |
| visibility | string | Who can read this article |
| schedule_at | string | ISO 8601 timestamp to schedule. Omit to publish immediately. |
| body_markdown* | string | Full article body in Markdown |
| cover_image_url | string | URL of the cover image |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"body_markdown"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Up to 10 tags"
},
"title": {
"type": "string",
"maxLength": 250,
"minLength": 1,
"description": "Article title"
},
"visibility": {
"enum": [
"public",
"subscribers",
"paid",
"private"
],
"type": "string",
"default": "public",
"description": "Who can read this article"
},
"schedule_at": {
"type": "string",
"description": "ISO 8601 timestamp to schedule. Omit to publish immediately."
},
"body_markdown": {
"type": "string",
"minLength": 1,
"description": "Full article body in Markdown"
},
"cover_image_url": {
"type": "string",
"format": "uri",
"description": "URL of the cover image"
}
},
"additionalProperties": false
}Remove a specific reaction from an article. Requires API key.
| Argument | Type | Description |
|---|---|---|
| type* | string | Reaction type to remove: like, clap, or bookmark |
| article_id* | string | UUID of the article |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"article_id",
"type"
],
"properties": {
"type": {
"enum": [
"like",
"clap",
"bookmark"
],
"type": "string",
"description": "Reaction type to remove: like, clap, or bookmark"
},
"article_id": {
"type": "string",
"format": "uuid",
"description": "UUID of the article"
}
},
"additionalProperties": false
}Research a topic and get AI-generated insights, sources, and a content outline. Useful before writing an article.
| Argument | Type | Description |
|---|---|---|
| query* | string | Research topic or question. Be specific for best results. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"minLength": 5,
"description": "Research topic or question. Be specific for best results."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| q | string | Keyword query (min 2 characters) |
| tag | string | Filter by tag |
| limit | integer | Results to return (1-20) |
| author | string | Filter by author username |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"description": "Keyword query (min 2 characters)"
},
"tag": {
"type": "string",
"description": "Filter by tag"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Results to return (1-20)"
},
"author": {
"type": "string",
"description": "Filter by author username"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| context* | string | Your article content in plain text or markdown |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"maxLength": 8000,
"minLength": 20,
"description": "Your article content in plain text or markdown"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | Article or draft ID |
| tags | array | Replace the tag list |
| title | string | New title |
| body_markdown | string | New body in Markdown |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Article or draft ID"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Replace the tag list"
},
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "New title"
},
"body_markdown": {
"type": "string",
"minLength": 1,
"description": "New body in Markdown"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| open | boolean | Local installs only: also open the upgrade link in the user's browser. Ignored by the hosted server, which returns the link instead. |
| plan | string | Plan slug to open (e.g. 'pro', 'business'). Defaults to the recommended plan. |
| start_trial | boolean | Start the free no-card trial immediately, if you're eligible. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"open": {
"type": "boolean",
"description": "Local installs only: also open the upgrade link in the user's browser. Ignored by the hosted server, which returns the link instead."
},
"plan": {
"type": "string",
"description": "Plan slug to open (e.g. 'pro', 'business'). Defaults to the recommended plan."
},
"start_trial": {
"type": "boolean",
"description": "Start the free no-card trial immediately, if you're eligible."
}
},
"additionalProperties": false
}