Read-only MCP server over the developer docs for the portfolio's JSON API, MCP, A2A and NLWeb.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
One developer document in full, as markdown (the OpenAPI description is YAML).
The document's path, as returned by list_docs.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http portfolio-docs https://harshith-nayaka-l-portfolio.vercel.app/mcp/docs
One developer document in full, as markdown (the OpenAPI description is YAML).
| Argument | Type | Description |
|---|---|---|
| path* | string | The document's path, as returned by list_docs. |
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"enum": [
"/developers.md",
"/api/llms.txt",
"/auth.md",
"/agents.md",
"/pricing.md",
"/llms.txt",
"/openapi.yaml"
],
"type": "string",
"description": "The document's path, as returned by list_docs."
}
},
"additionalProperties": false
}Every developer document on the site: its path, title and what it covers, optionally narrowed to a topic. Read one with get_doc.
| Argument | Type | Description |
|---|---|---|
| query | string | Only documents whose title or summary mention this, e.g. "auth" or "MCP". Omit for every document. |
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Only documents whose title or summary mention this, e.g. \"auth\" or \"MCP\". Omit for every document."
}
},
"additionalProperties": false
}The documentation sections that best match a question, each with its source URL, best first.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many sections to return. |
| query* | string | What you want to know, e.g. "how do I page through case studies" or "is there a rate limit". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many sections to return."
},
"query": {
"type": "string",
"minLength": 2,
"description": "What you want to know, e.g. \"how do I page through case studies\" or \"is there a rate limit\"."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.