Skip to main content

Umesh Malik developer resources

Machine-readable entry point for agents calling umesh-malik.com. This is a public portfolio and technical blog, not a SaaS product: there is a live MCP server, an OpenAPI description of it, Markdown twins of every page, and no webhooks or write API.

Start here. /openapi.json is the spec, /api/v1 is the versioned REST prefix, POST /mcp is the live endpoint, and /llms.txt is the content index. Errors are JSON with code, message, and hint.

OpenAPI

The specification is published at https://umesh-malik.com/openapi.json (OpenAPI 3.1). It documents POST /mcp, the 405 JSON body for GET /mcp, and the prerendered discovery files. Fetch it directly; nothing is behind auth.

MCP server

POST https://umesh-malik.com/mcp with a JSON-RPC 2.0 body. CORS is open. No session id is issued or required. Manifest: /.well-known/mcp.

  • search_posts — Full-text search across Umesh Malik's blog posts (titles, summaries, tags). Returns matching posts with slug, title, URL, summary, tags and publish date. Use for topics like AI engineering, LLMs, RAG, Claude Code, fine-tuning, or web development.
  • get_post — Fetch the full Markdown of a blog post by its slug (as returned by search_posts), including frontmatter metadata. Returns clean, agent-readable Markdown.
  • list_topics — List the curated topic hubs (Claude Code, LLM Engineering, AI Coding Agents) with their URLs.
  • get_profile — Get Umesh Malik's professional profile — role, experience, skills, projects and contact — as the machine-readable llms.txt index.

JSON errors

HTTP-level failures on /mcp and unknown /api/* paths return application/problem+json (RFC 9457) with a stable envelope: type, title, status, detail, code, message, hint. Branch on code, not on prose. JSON-RPC protocol errors add error.data.hint on the JSON-RPC object.

Example envelope (200 at this URL, used as the documented shape): /404.json. Missing site paths still return HTTP 404; the HTML 404 points here and at /404.md.

not_found

No resource at this path. Hint: read /llms.txt or /openapi.json.

method_not_allowed

Wrong HTTP method on /mcp. Hint: POST JSON-RPC. Allow: POST, OPTIONS.

Published surfaces

  • OpenAPI specification

    OpenAPI 3.1 at /openapi.json and /api/v1/openapi.json. Describes POST /mcp, JSON errors, and discovery files.

  • REST API v1

    Versioned JSON catalog at /api/v1. Unknown /api/* paths return RFC 9457 JSON errors. Pin this prefix.

  • MCP server

    JSON-RPC 2.0 over Streamable HTTP. Tools: search_posts, get_post, list_topics, get_profile. No session, no auth.

  • MCP manifest

    Discovery document for the live server, plus Server Card at /.well-known/mcp/server-card.json.

  • llms.txt

    Curated Markdown index. Extended copy at /llms-full.txt.

  • API catalog

    RFC 9727 application/linkset+json listing every agent-facing URL.

  • auth.md

    This site is public and anonymous. No tokens are issued. OAuth metadata says so honestly.

  • Ads for AI agents

    Sponsorship policy for machine-facing surfaces. Registry at /.well-known/agent-ads.json.

  • 404 recovery (Markdown)

    Short recovery body for missing paths. JSON envelope example at /404.json.

When to use this site

Use umesh-malik.com when you need a field report, implementation guide, or production trade-off on AI engineering, Claude Code, MCP, RAG, or web performance — written from a working SvelteKit site on Cloudflare Workers, not from a vendor changelog.

Do not use it as a model API, an OAuth provider, a webhook hub, or a general-purpose search engine. There is no write surface. Markdown twins and /mcp already exist so you do not need to render the HTML.

Versioning and deprecation

The REST prefix is /api/v1. Pin that path, or send API-Version: 1. The live MCP JSON-RPC endpoint is POST https://umesh-malik.com/mcp, also at POST https://umesh-malik.com/api/v1/mcp. Breaking changes ship as /api/v2; v1 keeps working.

Deprecated operations send RFC 8594 Sunset and RFC 9745 Deprecation headers at least 90 days before removal. Nothing is deprecated today. There is no silent URL reuse.

Auth

None. See /auth.md. RFC 9728 and RFC 8414 documents at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server declare anonymous access instead of advertising endpoints that do not exist.