{"schemaVersion":"1.0","serverInfo":{"name":"ashwingopalsamy.in","version":"1.0.0"},"description":"Read-only discovery tools for Ashwin Gopalsamy's site.","protocolVersion":"2026-07-28","transport":{"type":"streamable-http","endpoint":"https://ashwingopalsamy.in/mcp","requestMethod":"POST","stateless":true,"responseMode":"json"},"mode":{"readOnly":true,"stateless":true,"sessions":false,"accounts":false,"payments":false},"capabilities":{"tools":true,"resources":true,"prompts":true},"discovery":{"serverCard":"https://ashwingopalsamy.in/.well-known/mcp/server-card.json","legacyManifest":"https://ashwingopalsamy.in/.well-known/mcp.json","status":"https://ashwingopalsamy.in/mcp/status.json","catalog":"https://ashwingopalsamy.in/mcp/catalog.json"},"tools":[{"name":"search_site","description":"Search the public site content manifest.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","maxLength":256,"description":"Search phrase"},"limit":{"type":"integer","minimum":1,"maximum":25}},"required":["query"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":true}},{"name":"get_profile","description":"Return the authoritative public profile summary.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":false}},{"name":"list_content","description":"List public content from the site manifest.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"description":"Content kind such as note, craft, book, watch, article, tag, or all","type":"string"},"limit":{"type":"integer","minimum":1,"maximum":25}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":false}},{"name":"get_note_markdown","description":"Return a published note's raw Markdown by allowlisted slug.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$","description":"Published note slug"}},"required":["slug"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":false}},{"name":"get_emudhra_incident","description":"Return data on the October 2026 eMudhra CA key compromise (CVE-2026-111943): summary, timeline, tracker, intermediates or go.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"section":{"type":"string","enum":["summary","timeline","tracker","intermediates","go"],"description":"Which part of the eMudhra incident data to return"},"filter":{"description":"Optional case-insensitive text filter: tracker takes a package name, pending or patched; timeline a lane or label text; intermediates a name or mark id","type":"string","maxLength":80}},"required":["section"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":true}},{"name":"check_go_version","description":"Check whether a Go toolchain version carries the eMudhra distrust list (fixed in Go 1.27.3 and 1.26.10).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"goVersion":{"type":"string","minLength":1,"maxLength":4096,"description":"Output of go version (or go version -m), or a version such as go1.27.2; one result per line"}},"required":["goVersion"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":false}},{"name":"recover_key","description":"Return the tiny private scalar d (at most 255) of one of the eight revoked, already-public eMudhra intermediate keys. The stored value was recovered at build time and is re-verified against the certificate's public key on every call. Never signs or exports a private key.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"intermediate":{"type":"string","minLength":1,"maxLength":80,"description":"One of the eight eMudhra intermediates, by mark id (for example ov-tls-g3c), name or SPKI SHA-256"}},"required":["intermediate"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":false}}],"resources":[{"name":"profile-summary","uri":"https://ashwingopalsamy.in/api/ai-summary.json","title":"Authoritative profile summary","description":"The site's canonical machine-readable profile summary.","mimeType":"application/json"},{"name":"content-manifest","uri":"https://ashwingopalsamy.in/api/palette.json","title":"Public content manifest","description":"The read-only searchable content manifest.","mimeType":"application/json"}],"prompts":[{"name":"profile-briefing","title":"Profile briefing","description":"Prepare a concise briefing from the authoritative profile.","argsSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"focus":{"type":"string"}},"additionalProperties":false}}],"data":{"profile":"https://ashwingopalsamy.in/api/ai-summary.json","contentManifest":"https://ashwingopalsamy.in/api/palette.json","noteMarkdown":"https://ashwingopalsamy.in/blog/{slug}.md"}}