MCP Server MCP Server

Summary
🔌 MCP Server
This blog runs a public, read-only MCP (Model Context Protocol) server, so Claude and other AI clients can search, read and reason over its DevOps and AWS content directly — no copy-pasting.
Endpoint:
https://karandeepsingh.ca/mcpRegistry:io.github.karandaid/karandeepsingh-blogAuth: none — the content is public
⚡ Add it in one line
Claude Code
claude mcp add --transport http kayd https://karandeepsingh.ca/mcp
Claude app — Settings → Connectors → Add custom connector → paste the endpoint.
🔌 MCP Server
This blog runs a public, read-only MCP (Model Context Protocol) server, so Claude and other AI clients can search, read and reason over its DevOps and AWS content directly — no copy-pasting.
Endpoint:
https://karandeepsingh.ca/mcpRegistry:io.github.karandaid/karandeepsingh-blogAuth: none — the content is public
⚡ Add it in one line
Claude Code
claude mcp add --transport http kayd https://karandeepsingh.ca/mcp
Claude app — Settings → Connectors → Add custom connector → paste the endpoint.
Cursor — ~/.cursor/mcp.json
{
"mcpServers": {
"kayd": { "url": "https://karandeepsingh.ca/mcp" }
}
}
VS Code / Copilot — .vscode/mcp.json
{
"servers": {
"kayd": { "type": "http", "url": "https://karandeepsingh.ca/mcp" }
}
}
ChatGPT — Settings → Connectors → add a custom MCP connector with the same URL.
Stdio-only clients — bridge it with mcp-remote:
Expand your knowledge with About Karandeep Singh
{
"mcpServers": {
"kayd": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://karandeepsingh.ca/mcp"]
}
}
}
🏗 How it works
flowchart LR
C["🤖 Claude / Cursor / ChatGPT"] -->|"JSON-RPC over HTTPS"| M["⚡ /mcp<br/>serverless function"]
M --> T["📇 mcp-index.json<br/>47 KB · metadata"]
M --> F["📚 index.json<br/>full article text"]
H["🏗 Hugo build"] --> T
H --> F
M --> R["🧰 9 tools<br/>📄 resources<br/>💬 4 prompts"]
A stateless MCP server running as a single serverless function on the same deploy as the site. Anything that only needs titles, tags and summaries reads a trimmed metadata index generated at build time (~47 KB); full article text is fetched only when something is actually read. No session state, no database, and no second thing to deploy — the server ships with the blog.
🧰 Tools
| Tool | What it does | |
|---|---|---|
| 🔍 | search_posts | Search articles and cheatsheets; returns title, URL, tags, date, reading time and summary. Optionally filter to posts or cheatsheets |
| 📖 | read_post | Read an article’s full text by URL, slug or title — paginated, with related links appended |
| 📋 | get_cheatsheet | Jump straight to a cheatsheet by topic (docker, cloudformation, cost, aurora, …) |
| 🗒 | list_cheatsheets | Every quick-reference guide on the blog |
| 🆕 | list_recent | The most recently published posts |
| 🏷 | browse_by_tag | Posts filtered by a tag |
| 🗂 | list_topics | Every tag with a post count, for discovery |
| 🔗 | related_posts | Posts sharing the most tags with a given post |
| 🎲 | random_post | A surprise pick |
Every tool is annotated read-only, idempotent and non-destructive, so clients can safely allow them without prompting each time.
Explore this further in About Karandeep Singh
📄 Resources
Every article and cheatsheet is also exposed as an MCP resource, addressed by its real canonical URL:
https://karandeepsingh.ca/posts/{slug}/
https://karandeepsingh.ca/cheatsheets/{category}/{slug}/
That means a client can attach a specific article as context directly, without searching
for it first. resources/list is cursor-paginated, and resource templates are published
for both sections.
💬 Prompts
| Prompt | What it does | |
|---|---|---|
| 🔬 | research_topic | Search, read the best matches, and answer grounded in the articles — with sources |
| ⚡ | quick_reference | Pull up the right cheatsheet and answer a specific question from it |
| ⚖️ | compare_options | Weigh two technologies against each other on cost and fit |
| 📰 | whats_new | Summarise the newest posts |
🔒 Privacy & terms
No personal data is stored and no login is required. Requests may be logged by IP address solely to enforce rate limiting. See the Privacy Policy and Terms of Service. Support: karandaid@gmail.com.
Curious how it was built? I wrote it up in I Gave My Blog an MCP Server (and You Can Too).