# Sanam Pakuwal MCP server and Markdown API

sanam.me can be read by programs as well as people. Everything here is read-only, free and needs no key or account. The source data is the same as the pages you see, so the two cannot disagree.

## MCP server

The site runs a [Model Context Protocol](https://modelcontextprotocol.io) server for AI assistants and agents.

- Endpoint: `https://sanam.me/mcp`
- Transport: Streamable HTTP, stateless. Send JSON-RPC messages with `POST`.
- Authentication: none.
- Server card: [/.well-known/mcp/server-card.json](/.well-known/mcp/server-card.json)
- MCP Registry manifest: [/server.json](/server.json)

### Tools

| Tool | What it returns |
| --- | --- |
| `get_profile` | Role, experience, skills, projects, credentials and contact details, as Markdown. |
| `list_posts` | Every blog post with its slug, title, date, tags and summary. |
| `get_post` | One blog post as Markdown. Takes the `slug` from `list_posts`. |

### Connect a client

Most MCP clients take a URL. In Claude Code:

```sh
claude mcp add --transport http sanam-me https://sanam.me/mcp
```

In a client that reads a JSON config:

```json
{
  "mcpServers": {
    "sanam-me": { "type": "http", "url": "https://sanam.me/mcp" }
  }
}
```

### Try it with curl

```sh
curl -s https://sanam.me/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_profile","arguments":{}}}'
```

## Markdown API

Every page has a Markdown version at the same address.

- Send `Accept: text/markdown` to any page URL. The response carries `Vary: Accept`.
- Or add `.md` to the path: [/index.md](/index.md), [/about.md](/about.md), [/blog.md](/blog.md), and `/blog/<slug>.md` for a post.
- A page that does not exist answers 404 in Markdown too.

```sh
curl -s -H "Accept: text/markdown" https://sanam.me/
```

## Other machine-readable files

- [/llms.txt](/llms.txt): what the site is, when to use it and where things are.
- [/rss.xml](/rss.xml): the blog as an RSS feed.
- [/blog/posts.json](/blog/posts.json): the post index the MCP server reads.
- [/sitemap-index.xml](/sitemap-index.xml): every page.
- JSON-LD on the home page: `WebSite`, `ProfilePage`, `Person` and one `SoftwareApplication` per product.

## Source and contact

My code is on GitHub at [github.com/sanamhub](https://github.com/sanamhub). For questions about any of this, write to [sanampakuwal27@gmail.com](mailto:sanampakuwal27@gmail.com).

Last updated 2026-11-11.

---

Markdown version of https://sanam.me. Site guide for agents: https://sanam.me/llms.txt. MCP server: https://sanam.me/mcp.
