# Rohit Ghumare Developer Resources

Canonical URL: https://rohitghumare.com/developers/

Last updated: 2026-08-22

Use these public interfaces to retrieve Rohit Ghumare's profile, projects, essays, guides, and live aggregate project statistics. No authentication is required. The interfaces are read-only. They do not mutate data, send messages, accept webhooks, or create sessions.

## Resource map

- OpenAPI: https://rohitghumare.com/openapi.json
- MCP Streamable HTTP endpoint: https://rohitghumare.com/mcp
- Canonical language-model context: https://rohitghumare.com/llms.txt
- Agent instructions: https://rohitghumare.com/agent-instructions.md
- Profile: https://rohitghumare.com/about/index.md
- Essay index: https://rohitghumare.com/blog/index.md
- Guide index: https://rohitghumare.com/guides/index.md
- Sitemap: https://rohitghumare.com/sitemap.xml

## Markdown content negotiation

Human pages and their Markdown representations share one public URL. Send `Accept: text/markdown` to a page URL to request Markdown. A normal browser request receives HTML. Responses vary on `Accept` so caches keep the representations separate.

```sh
curl -sS \
  -H 'Accept: text/markdown' \
  https://rohitghumare.com/about/
```

Direct `index.md` resources remain available. Examples include `/index.md`, `/about/index.md`, `/blog/index.md`, `/guides/index.md`, and `/developers/index.md`.

## GET /api/stats

- Response: JSON
- Authentication: none
- Purpose: public aggregate project counts used on the home page

The response contains a `github` object keyed by repository name. When available, it also includes numeric `followers`, `pypi`, and `docker` fields. An upstream field may be absent when its provider cannot be reached.

```sh
curl -sS https://rohitghumare.com/api/stats
```

## GET /openapi.json

- Format: OpenAPI JSON
- Authentication: none
- Purpose: machine-readable descriptions of public HTTP operations, responses, and schemas

```sh
curl -sS https://rohitghumare.com/openapi.json
```

## POST /mcp

`POST /mcp` is the only MCP transport route. It uses MCP protocol version `2026-07-28`. `GET /mcp` and `DELETE /mcp` return HTTP 405. The endpoint is stateless, requires no authentication, and exposes read-only tools and resources.

### Required JSON-RPC envelope

Send one JSON-RPC 2.0 request object. Batch requests and notifications are not accepted. The request needs a string or number `id`, a supported `method`, and a `params` object. Every `params` object must contain `_meta` with:

- `io.modelcontextprotocol/protocolVersion`: exactly `2026-07-28`
- `io.modelcontextprotocol/clientCapabilities`: an object
- `io.modelcontextprotocol/clientInfo`: optional; when supplied, it must contain string `name` and `version` fields

### Required headers

- `Content-Type: application/json`
- `Accept: application/json, text/event-stream`
- `MCP-Protocol-Version: 2026-07-28`
- `Mcp-Method`: the exact value of the JSON request body's `method` field
- `Mcp-Name`: include only for `tools/call` and `resources/read`, with the exact tool name or full resource URI from the JSON params

```sh
curl -sS https://rohitghumare.com/mcp \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2026-07-28' \
  -H 'Mcp-Method: server/discover' \
  --data '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"server/discover",
    "params":{
      "_meta":{
        "io.modelcontextprotocol/protocolVersion":"2026-07-28",
        "io.modelcontextprotocol/clientCapabilities":{},
        "io.modelcontextprotocol/clientInfo":{
          "name":"curl",
          "version":"1.0"
        }
      }
    }
  }'
```

### Methods

- `server/discover`: describe the server and supported interface.
- `tools/list`: return available read-only tools.
- `tools/call`: call one tool. Include `Mcp-Name`.
- `resources/list`: return readable resources.
- `resources/read`: read one resource. Include `Mcp-Name`.

### Tools

- `get_profile`: no arguments; returns Rohit's public profile.
- `search_projects`: requires a string `query`; searches public project information.
- `find_content`: requires a string `query`; finds relevant essays and guides.

### Resources

The published resource set uses full canonical URIs:

- `https://rohitghumare.com/about/index.md`
- `https://rohitghumare.com/developers/index.md`
- `https://rohitghumare.com/agent-instructions.md`
- `https://rohitghumare.com/llms.txt`

A `resources/read` request uses the full URI in both `params.uri` and the `Mcp-Name` header. Start with `server/discover`, then list tools or resources before a targeted call.

## Authentication and webhooks

Authentication is not required because every published operation reads public portfolio content. No write operation is available. There is no webhook registration or delivery interface. Use the [contact page](https://rohitghumare.com/contact/) to contact Rohit. An MCP call does not send a message.
