lookup_case_study
Return one published portfolio case study as structured data and Markdown.
stringstringstringstringstringstringarraystringstringAnnotations: read-only, idempotent, non-destructive, closed-world.
Read-only access to portfolio content through Markdown, JSON, and MCP.
The portfolio exposes its content for agent consumption via five surfaces: (1) the full-corpus Markdown at /llms-full.txt, (2) per-page Markdown alternates at /work/<slug>.md and /writing/<slug>.md, (3) JSON listings at /api/writing and /api/case-studies, (4) HTTP content negotiation on /work/<slug> and /writing/<slug> via `Accept: text/markdown`, and (5) a stateless read-only MCP endpoint at /api/mcp.
https://akaushik.org/api/mcp is a stateless Streamable HTTP endpoint whose current revision is 2025-11-25. It also supports 2025-11-25, 2025-06-18, 2025-03-26 for this bounded tool subset; initialize echoes a supported requested revision and otherwise negotiates the current one. A later request without MCP-Protocol-Version is handled as 2025-03-26, whose batches are capped at 32 calls.
Every POST must use Content-Type: application/json and an Accept header listing both application/json and text/event-stream; request bodies are capped at 1 MiB before parsing. Responses with bodies use JSON. Every no-id call is dispatched as a notification without a response: a single notification or all-notification batch receives 202. This server issues no MCP-Session-Id; GET, HEAD, PUT, PATCH, DELETE, and other unsupported methods return 405, and OPTIONS returns 204.
JSON-RPC errors are -32700 parse error, -32600 invalid request, -32601 method not found, -32602 invalid params, and -32603 internal error. Numeric request IDs must be integers. The /.well-known/mcp.json document is site/scanner-specific discovery metadata, not an MCP protocol-standard server card.
lookup_case_studyReturn one published portfolio case study as structured data and Markdown.
stringstringstringstringstringstringarraystringstringAnnotations: read-only, idempotent, non-destructive, closed-world.
get_availabilityReturn current public project availability and contact details.
No arguments.
stringstringstringstringAnnotations: read-only, idempotent, non-destructive, closed-world.
/llms.txt/llms-full.txt/api/writing/api/case-studies/api/mcpAccepts one JSON-RPC 2.0 request or notification for 2025-11-25 and 2025-06-18. The 2025-03-26 compatibility path also accepts batches of 1–32 calls. Every POST uses Content-Type application/json, is capped at 1 MiB before parsing, and negotiates the transport by listing both application/json and text/event-stream in Accept; responses use application/json when a body is present. Initialize echoes a supported requested revision and otherwise negotiates 2025-11-25. Later requests without MCP-Protocol-Version are handled as 2025-03-26. The server is stateless and never issues MCP-Session-Id.
MCP-Protocol-Version · string · Required by clients after initialization. Explicit values must be supported; when omitted, this stateless server applies the 2025-03-26 compatibility fallback.Origin · string · May be omitted by server clients. When present, it must be the canonical origin.application/jsonThis stateless server does not expose a server-initiated SSE stream, so GET always returns HTTP 405.
The MCP server is stateless and never issues session identifiers.
/writing/{slug}.mdPattern B (suffix). Equivalent to GET /writing/{slug} with Accept: text/markdown (Pattern A, RFC 7231 content negotiation).
slug · string · required/work/{slug}.mdPattern B (suffix). Equivalent to GET /work/{slug} with Accept: text/markdown (Pattern A, RFC 7231 content negotiation).
slug · string · required/HTML by default. With Accept: text/markdown the server rewrites to /llms.txt (short-form digest).
WritingPoststringstringstringstring · datestringstring · uristring · uriWritingListintegerarrayCaseStudystringstringstringstringstringstringstringarraystringstring · uristring · uriCaseStudyListintegerarrayMcpJsonRpcRequeststringobjectstringobjectMcpJsonRpcResponseMcpJsonRpcSuccessResponsestringobjectobjectMcpJsonRpcErrorResponsestringobjectobjectMcpToolResultarrayobjectboolean