MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

Polyblog Multilingual Blog

Write, translate and publish blog articles, plan topic ideas and check each blog's languages.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
1139 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
19

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1139 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name polyblog-mcp.

  • Pass
    Lists tools

    tools/list returned 19 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1139 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1139 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    75 of 75 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-09-27T17:12:39.295977Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Polyblog Multilingual Blog

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http polyblog-multilingual-blog https://mcp.polyblog.io/mcp

Capabilities

Tools 19

create_article

Use this when someone gives you a finished blog post, or a translation of one, to save in their blog. Returns the new post's id, title, slug, language and published state; it stays a draft unless published is true. A translation is saved with the original's id as originalArticleId and its own locale. Not for writing a post with AI.

Discovered
create_blog

Use this when someone asks to start a new blog in Polyblog with a given name and languages. Returns the new blog's id, name, domain and languages; the name becomes the public <name>.polyblog.io subdomain, so a name already taken fails. Not for adding a post to an existing blog.

Discovered
delete_article

Use this when someone asks to permanently delete a blog post in every language. Given the original post's id, that post and all its translations are deleted and their pages go offline; given a translation's own id, nothing is deleted although the result still says deleted. Returns the id. Not for unpublishing.

Discovered
generate_article

Use this when someone asks you to write a new blog post on a topic or saved topic idea. Returns the draft's id, URL, title, word count and internal links (text only; published only with autoPublish). It uses paid AI and can take about a minute, and a call that times out can still save the draft. Not for saving your own text.

Discovered
get_article

Use this when someone wants to read, check or quote one blog post. Returns its title, summary, language, slug, blog, author, published state, dates and up to 8,000 characters of content, looked up by id or by slug plus language. Not for a visual preview card.

Discovered
get_blog

Use this when someone asks about one blog's setup, such as its domain, default language or languages. Returns the blog's id, name, custom domain, default locale, locales, cover image URL and dates, by id or name. Not for a visual overview with recent posts.

Discovered
get_blog_localization_summary

Use this when someone asks how well their blog is translated, or which languages are missing posts. Returns per-language counts of posts, published posts and drafts with a coverage percentage, from the 100 most recently edited posts. Not for one post's translations.

Discovered
get_sitemap_urls

Use this when someone asks what pages their blog's sitemap lists, or which pages are available to link to. Returns the sitemap's URL count and the first 25 URLs with language and last-modified date, read live from the blog's custom domain. Not for the posts stored in Polyblog.

Discovered
list_article_translations

Use this when someone asks which languages a blog post exists in, or which translations are still missing. Returns each language version sharing the original article id, up to 100, with title, slug, published state and how it was translated; with blogId it also lists the blog's missing languages. Not for a whole blog's coverage.

Discovered
list_blogs

Use this when someone asks which blogs they have in Polyblog, or a blog's id is needed. Returns each blog's id, name and custom domain, 25 per page by default with a cursor. Not for a blog's posts.

Discovered
list_topic_ideas

Use this when someone asks what they could write about next from topic ideas already saved. Returns each idea's id, score out of 10, title, status and source, filtered by status or minimum score, 25 per page by default. Not for fetching new ideas.

Discovered
open_polyblog

Use this when someone wants to open their PolyBlog library and browse blogs and articles in an interactive workspace. Starts with up to 25 blogs; the view supports pagination and reading articles. Not for creating or publishing content.

Discovered
refresh_topic_ideas

Use this when someone asks for new blog topic ideas from Reddit or RSS feeds. Returns counts and up to 5 of the saved ideas; it fetches the sources, scores candidates with paid AI and saves those that pass. Not for ideas already saved.

Discovered
search_articles

Use this when someone asks to see their blog posts, drafts or published articles, optionally for one blog, language or slug. Returns id, title, language, slug and published state, most recently edited first, 25 per page by default with a cursor. It filters by those fields and does not search the text. Not for reading a post.

Discovered
set_topic_idea_status

Use this when someone asks to mark a topic idea as used, dismiss it, or bring it back as new. Returns the idea with its new status and, when given, the article it produced; nothing else about the idea changes. Not for editing an idea's title or angle.

Discovered
set_topic_sources

Use this when someone asks to choose which subreddits or RSS feeds their blog's topic research reads. Returns the saved sources; each list passed replaces the old one, and clear removes them all. Not for fetching ideas now.

Discovered
show_article_preview

Use this when someone wants to see how one blog post looks, with its status and details. Returns a preview card with the post's title, language, published state, metadata and up to 6,000 characters of content. Not for finding posts.

Discovered
show_blog_overview

Use this when someone wants a quick overview of one of their blogs. Returns an overview card with the blog's domain, languages and up to 10 most recently edited posts. Not for translation coverage.

Discovered
update_article

Use this when someone asks to change a blog post's title, text, summary, slug, author or categories, or to publish or unpublish it. Returns the updated post; only the fields passed change, and each edit notifies the blog's webhooks. Not for adding a translation.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1139 ms19