Tirup Mehta Blogs MCP Server

Public, read-only Model Context Protocol server · v1.0.0 · Node 18+

Overview

This is an MCP server for the published articles on blogs.tirup.in. It exposes the blog to an MCP client as three tools, so a model can list articles, read one as JSON, or read one as Markdown without writing an HTTP integration.

Unlike the author's editorial server, this one is public: no API key, no Convex credentials, no write path. It calls the same endpoints any HTTP client can reach, so the data it returns is exactly what the site publishes.

Tools

  • list_posts(limit?)Newest-first article index from the RSS feed: title, canonical URL, publication date, and TL;DR.
  • get_post(slug)One published article as JSON: title, TL;DR, tags, dates, reading time, and the HTML body.
  • get_article_markdown(slug)One published article as Markdown, ready to quote or summarise without parsing HTML.

Run it

The server lives in the blog repository. Clone it, install dependencies, and start the server over stdio:

git clone https://github.com/TirupMehta/blogs.git
cd blogs
npm install
npx tsx src/mcp/public-server.ts

Set BLOGS_BASE_URL to point it at another host, for example http://localhost:3001.

Client configuration

Add this to your MCP client configuration. The exact file differs per client; the shape is the standard mcpServers object.

{
  "mcpServers": {
    "tirup-blogs": {
      "command": "npx",
      "args": ["-y", "tsx", "src/mcp/public-server.ts"]
    }
  }
}

Limits

Requests time out after ten seconds. Public read endpoints are cached at the CDN and are not rate limited; the only limit is the article store behind them. A slug that does not exist returns an error result naming the slug rather than inventing content.

Related