{"llm_instructions": {"description": "This server is designed for LLM use via both MCP and REST protocols.", "discovery": "Call list_uris (MCP) or fetch /list_uris (REST) to enumerate all available namespace URIs. /manifest also includes the full URI list.", "retrieval": "Call https://eswat2-mcp.vercel.app/resolve?uri=<full-namespace-uri> to fetch any topic.", "rendering": "Call https://eswat2-mcp.vercel.app/render?uri=<full-namespace-uri> to fetch the same content as a complete, standalone HTML page instead of JSON/markdown. Rendering happens server-side (real markdown-to-HTML conversion) before the response is sent \u2014 the page contains no <script> tags and needs no client-side JavaScript to display correctly, unlike /wiki, which ships an empty shell that only fills in after a browser executes its JS. Prefer /render when fetching for direct HTML display or when the client cannot execute JavaScript; prefer /resolve when consuming content programmatically as data.", "rules": ["Direct path access is not supported and will 404, except for the aliases explicitly listed in this manifest's endpoints \u2014 one per namespace index (e.g. /vault, /research) plus a few curated entries (e.g. /about, /resume).", "Always treat namespace://slug as an opaque identifier that must go through the resolver.", "Never construct or guess paths \u2014 only use URIs returned by list_uris or listed in this manifest."], "posts": "Long-form essays about this server are listed under the top-level `posts` key. They are HTML pages, not KB entries: they have no namespace URI, are not returned by list_uris, and are not readable through /resolve or read_uri. Fetch each one's `url` directly over HTTP \u2014 those URLs are listed here, so they are not guessed paths."}, "server": {"name": "eswat2-mcp", "version": "2.0.0", "build": "5856f6c", "description": "MCP server exposing biographical and career information about Richard Hess (eswat2) \u2014 software engineer, 40+ years.", "base_url": "https://eswat2-mcp.vercel.app", "namespaces": {"art": {"entry_count": 4, "last_updated": "2026-08-12T20:55:30-07:00"}, "gallery": {"entry_count": 10, "last_updated": "2026-09-05T19:37:37-07:00"}, "profile": {"entry_count": 15, "last_updated": "2026-08-25T21:05:55-07:00"}, "projects": {"entry_count": 25, "last_updated": "2026-09-07T16:26:03-07:00"}, "research": {"entry_count": 7, "last_updated": "2026-09-04T09:01:48-07:00"}, "specs": {"entry_count": 3, "last_updated": "2026-08-12T13:58:33-07:00"}, "vault": {"entry_count": 19, "last_updated": "2026-08-12T20:48:50-07:00"}}}, "posts": [{"slug": "notes-for-machines", "title": "The Part of the Page Humans Never See", "url": "https://eswat2-mcp.vercel.app/posts/notes-for-machines", "status": "draft", "description": "A follow-up to the June 2026 post: kb:notes, /render, the tag vocabulary, and moving off FastMCP.", "date": "August 2026"}, {"slug": "building-a-high-quality-personal", "title": "Building a High-Quality Personal MCP Knowledge Base with Multiple Interfaces", "url": "https://eswat2-mcp.vercel.app/posts/building-a-high-quality-personal", "status": "revised", "description": "Archived copy of the June 5, 2026 Substack post introducing eswat2-mcp.", "date": "June 5, 2026", "canonical_url": "https://eswat42.substack.com/p/building-a-high-quality-personal"}], "api": {"rest_base_url": "https://eswat2-mcp.vercel.app", "endpoints": [{"method": "GET", "path": "/3d-graph", "url": "https://eswat2-mcp.vercel.app/3d-graph", "description": "Interactive 3D knowledge base graph \u2014 WebGL force-directed visualization of all URIs (static HTML)", "returns": "text/html"}, {"method": "GET", "path": "/about", "url": "https://eswat2-mcp.vercel.app/about", "description": "Curated alias for /render?uri=profile://about", "returns": "text/html"}, {"method": "GET", "path": "/architecture", "url": "https://eswat2-mcp.vercel.app/architecture", "description": "System architecture diagram \u2014 clients, deployment, FastAPI app, kb.py core, and data layers (static HTML)", "returns": "text/html"}, {"method": "GET", "path": "/art", "url": "https://eswat2-mcp.vercel.app/art", "description": "Namespace index \u2014 alias for /render?uri=art://index", "returns": "text/html"}, {"method": "GET", "path": "/colophon", "url": "https://eswat2-mcp.vercel.app/colophon", "description": "Curated alias for /render?uri=profile://colophon", "returns": "text/html"}, {"method": "GET", "path": "/gallery", "url": "https://eswat2-mcp.vercel.app/gallery", "description": "Namespace index \u2014 alias for /render?uri=gallery://index", "returns": "text/html"}, {"method": "GET", "path": "/graph", "url": "https://eswat2-mcp.vercel.app/graph", "description": "Full URI relationship graph as an adjacency list \u2014 namespaces, top_hubs, top_bridges, and all nodes with tags and related URIs", "returns": "application/json"}, {"method": "GET", "path": "/health", "url": "https://eswat2-mcp.vercel.app/health", "description": "Health check", "returns": "application/json"}, {"method": "GET", "path": "/kb-graph", "url": "https://eswat2-mcp.vercel.app/kb-graph", "description": "Interactive knowledge base graph \u2014 visual map of all URIs and their relationships (static HTML)", "returns": "text/html"}, {"method": "GET", "path": "/list_namespaces", "url": "https://eswat2-mcp.vercel.app/list_namespaces", "description": "All namespaces with entry counts and last_updated \u2014 cheap first-contact discovery", "returns": "application/json"}, {"method": "GET", "path": "/list_tags", "url": "https://eswat2-mcp.vercel.app/list_tags", "description": "All tags with entry counts \u2014 JSON equivalent of the MCP list_tags tool", "returns": "application/json"}, {"method": "GET", "path": "/list_uris", "url": "https://eswat2-mcp.vercel.app/list_uris", "description": "All namespace URIs with descriptions, tags, and metadata \u2014 optionally scoped with ?namespace=<name>", "returns": "application/json"}, {"method": "GET", "path": "/manifest", "url": "https://eswat2-mcp.vercel.app/manifest", "description": "This manifest \u2014 server info, endpoints, and all URIs", "returns": "application/json"}, {"method": "MCP", "path": "/mcp", "description": "MCP protocol endpoint \u2014 for Claude Code, Claude Desktop, and MCP clients", "returns": "MCP protocol"}, {"method": "GET", "path": "/plan", "url": "https://eswat2-mcp.vercel.app/plan", "description": "Implementation plan \u2014 phases, architecture, modules, and file structure (static HTML)", "returns": "text/html"}, {"method": "GET", "path": "/pleiades", "url": "https://eswat2-mcp.vercel.app/pleiades", "description": "Curated alias for /render?uri=vault://pleiades", "returns": "text/html"}, {"method": "GET", "path": "/posts", "url": "https://eswat2-mcp.vercel.app/posts", "description": "Longer written pieces about this project, archived here and published on Substack (static HTML)", "returns": "text/html"}, {"method": "GET", "path": "/profile", "url": "https://eswat2-mcp.vercel.app/profile", "description": "Namespace index \u2014 alias for /render?uri=profile://index", "returns": "text/html"}, {"method": "GET", "path": "/projects", "url": "https://eswat2-mcp.vercel.app/projects", "description": "Namespace index \u2014 alias for /render?uri=projects://index", "returns": "text/html"}, {"method": "GET", "path": "/render", "url": "https://eswat2-mcp.vercel.app/render", "description": "Resolve any namespace URI and return its content rendered as a standalone HTML page.", "params": {"uri": "a namespace URI, e.g. profile://about or vault://teknowledge"}, "returns": "text/html"}, {"method": "GET", "path": "/research", "url": "https://eswat2-mcp.vercel.app/research", "description": "Namespace index \u2014 alias for /render?uri=research://index", "returns": "text/html"}, {"method": "GET", "path": "/resolve", "url": "https://eswat2-mcp.vercel.app/resolve", "description": "Resolve any namespace URI and return its content.", "params": {"uri": "a namespace URI, e.g. profile://about or vault://teknowledge"}, "returns": "application/json"}, {"method": "GET", "path": "/resume", "url": "https://eswat2-mcp.vercel.app/resume", "description": "Curated alias for /render?uri=profile://resume", "returns": "text/html"}, {"method": "GET", "path": "/search", "url": "https://eswat2-mcp.vercel.app/search", "description": "Search KB entries by tag \u2014 JSON equivalent of the MCP search_by_tag tool", "params": {"tag": "an exact tag string, e.g. declarative-ui, career, react"}, "returns": "application/json"}, {"method": "GET", "path": "/specs", "url": "https://eswat2-mcp.vercel.app/specs", "description": "Namespace index \u2014 alias for /render?uri=specs://index", "returns": "text/html"}, {"method": "GET", "path": "/ten-sudokus", "url": "https://eswat2-mcp.vercel.app/ten-sudokus", "description": "One Sudoku design across ten implementations \u2014 framework ports, the Stencil progenitor, and two Claude-written single-file apps, with measured payloads (static HTML)", "returns": "text/html"}, {"method": "GET", "path": "/vault", "url": "https://eswat2-mcp.vercel.app/vault", "description": "Namespace index \u2014 alias for /render?uri=vault://index", "returns": "text/html"}, {"method": "GET", "path": "/wiki", "url": "https://eswat2-mcp.vercel.app/wiki", "description": "Browse all KB entries with sidebar navigation, search, and browser history support (static HTML)", "returns": "text/html"}], "mcp_resources": [{"uri": "art://index", "description": "Original lithographs and prints from the personal collection \u2014 physical works by visual artists who shaped cinematic science fiction and the visual language of hard SF", "mimeType": "text/markdown"}, {"uri": "art://syd-mead-drgxx", "description": "Signed, numbered lithograph (53/250) depicting a monumental mechanized dog race in a futuristic Roman coliseum \u2014 Syd Mead's vision of humanity's endless appetite for grander spectacle", "mimeType": "text/markdown"}, {"uri": "art://syd-mead-sentinel", "description": "Gicl\u00e9e print of Syd Mead's Sentinel II cover \u2014 a biomorph vehicle arriving at a resort reception stage, with a custom-engineered equiline creature and the luminous saturated color that defined his gouache originals", "mimeType": "text/markdown"}, {"uri": "art://syd-mead-village", "description": "Lithograph depicting the first launch of Mead's \"Village Machine\" \u2014 a self-contained mobile resort designed to carry dozens of passengers to remote global destinations in six-star comfort", "mimeType": "text/markdown"}, {"uri": "gallery://color-picker", "description": "Screenshot of the Color Picker component with \"yellow\" selected \u2014 showing the reactive state loop live: selected color bar and State Variables panel both reflect the current selection simultaneously", "mimeType": "text/markdown"}, {"uri": "gallery://icon-gallery", "description": "Screenshot of the icon-gallery-005 YAML spec rendered on the proofs page \u2014 glass-morphism grid of 42 icons across mixed families with per-family color theming and click-to-select state", "mimeType": "text/markdown"}, {"uri": "gallery://icon-proofs", "description": "Screenshot of the top-level Icon Proofs page \u2014 navigable cards for all 9 icon families available in the system, each with sample icons and an Explore button that opens the family proof page", "mimeType": "text/markdown"}, {"uri": "gallery://icons-lucide", "description": "Screenshot of the Lucide family proof page showing 50 randomly selected icons from 1,897 total \u2014 with search, variant, and page-size controls; \"Random (50)\" mode active", "mimeType": "text/markdown"}, {"uri": "gallery://icons-lucide-lab", "description": "Screenshot of the Lucide Lab family proof page showing 50 randomly selected icons from 373 total \u2014 experimental extension of Lucide with creative and specialized icons; \"Random (50)\" mode active", "mimeType": "text/markdown"}, {"uri": "gallery://index", "description": "Screenshots of shipped projects and YAML-driven UI components rendered by the Juris runtime", "mimeType": "text/markdown"}, {"uri": "gallery://vercel-autos-r3t", "description": "Screenshot of the React 19 autos app \u2014 car dealer list with automotive brand logos, GraphQL backend, Tailwind CSS, action-state pattern", "mimeType": "text/markdown"}, {"uri": "gallery://vercel-funnel-r3t", "description": "Screenshot of the React 19 funnel app \u2014 5 animated SVG funnels with navy selected, color swatch row, and live sample output; one of 8 framework implementations of the same design", "mimeType": "text/markdown"}, {"uri": "gallery://vercel-sudoku-r3t", "description": "Screenshot of the React 19 Sudoku app \u2014 9x9 grid with a puzzle in progress, green given-number cells, pink active cell, serverless Rust puzzle API; one of 10 framework implementations", "mimeType": "text/markdown"}, {"uri": "gallery://vercel-tinker-r3t", "description": "Screenshot of the React 19 Tinker app \u2014 minimal action-state testbed with color swatch row, yellow selected, live color and sample output; one of 8 framework implementations", "mimeType": "text/markdown"}, {"uri": "profile://about", "description": "Short bio \u2014 who Richard Hess is, in a paragraph", "mimeType": "text/markdown"}, {"uri": "profile://allison-transmission", "description": "R&D work on automatic transmissions and flywheel hybrid propulsion at Allison Transmission (GM Division)", "mimeType": "text/markdown"}, {"uri": "profile://archetype", "description": "How Richard Hess compares to typical Principal Architect profiles \u2014 the Long-Haul Deterministic Builder archetype", "mimeType": "text/markdown"}, {"uri": "profile://biography", "description": "Long-form career narrative", "mimeType": "text/markdown"}, {"uri": "profile://colophon", "description": "How eswat2-mcp was built \u2014 stack, tools, and protocol", "mimeType": "text/markdown"}, {"uri": "profile://cox-automotive", "description": "Cox Automotive chapter (2019\u20132026) \u2014 championing Web Components, Micro Frontends, Composable UIs, event bus architecture, and Enterprise Design System influence", "mimeType": "text/markdown"}, {"uri": "profile://identity", "description": "Contact info, social links, and branding", "mimeType": "text/markdown"}, {"uri": "profile://index", "description": "Executive summary for LLMs \u2014 identity, career arc, signature work, key themes, and suggested next URIs", "mimeType": "text/markdown"}, {"uri": "profile://journey-programming", "description": "40+ year programming language and project chronology", "mimeType": "text/markdown"}, {"uri": "profile://journey-ui", "description": "40+ year UI framework and platform journey", "mimeType": "text/markdown"}, {"uri": "profile://patents", "description": "Issued patents from early career in factory automation and manufacturing systems", "mimeType": "text/markdown"}, {"uri": "profile://podcast-qa", "description": "Interview Q&A \u2014 voice, opinions, and career arc in first person", "mimeType": "text/markdown"}, {"uri": "profile://resume", "description": "Principal Architect, UI/UX \u2014 2-page application resume", "mimeType": "text/markdown"}, {"uri": "profile://shield-legal", "description": "Shield Legal LLC chapter (2026\u2013present) \u2014 Principal Architect, UI/UX; ADR authorship, AI-native UI mentorship, and action-state pattern introduction into a React/shadcn/Tailwind/Zustand stack", "mimeType": "text/markdown"}, {"uri": "profile://toolchain", "description": "Licensed tools, paid subscriptions, and environment management for Richard Hess (eswat2)", "mimeType": "text/markdown"}, {"uri": "projects://autos", "description": "Autos \u2014 car-browsing technology demonstration across 7 frameworks with GraphQL backend; originated as a Cox Automotive take-home interview exercise", "mimeType": "text/markdown"}, {"uri": "projects://d4-gear", "description": "A Diablo IV character armory built from four YAML files \u2014 Python compiles them to data.json and renders the finished HTML, published on Vercel and GitHub Pages from the same commit", "mimeType": "text/markdown"}, {"uri": "projects://eswat2-mcp", "description": "Personal MCP server exposing biographical and career information about Richard Hess (eswat2) across 7 namespaces \u2014 biography, projects, research, specs, gallery, vault, and server-level eswat2://", "mimeType": "text/markdown"}, {"uri": "projects://farmers-market", "description": "Farmers Market pro bono web app \u2014 paperless vendor signup and approval (2014\u20132018)", "mimeType": "text/markdown"}, {"uri": "projects://framework-roadmap", "description": "14 frameworks targeted for future implementation across the autos, funnel, sudoku, and tinker reference suite", "mimeType": "text/markdown"}, {"uri": "projects://funnel", "description": "Custom SVG Funnel \u2014 one design, 8 framework implementations", "mimeType": "text/markdown"}, {"uri": "projects://icons", "description": "Icon libraries and tools \u2014 s4e-icons, s4e-ikons, proto-ikon-loader, wc-proofs", "mimeType": "text/markdown"}, {"uri": "projects://index", "description": "Shipped platforms, tools, and personal projects \u2014 with links to individual project slugs", "mimeType": "text/markdown"}, {"uri": "projects://juris-mcp", "description": "MCP server for the Juris.js runtime \u2014 live HTML preview generation from YAML specs with a 17-component registry", "mimeType": "text/markdown"}, {"uri": "projects://lit-mcp", "description": "MCP server that compiles YAML component specs into production Lit 4.x web components with Shadow DOM, typed props, and state management", "mimeType": "text/markdown"}, {"uri": "projects://mock-apis", "description": "Lightweight mock API servers for UI development and prototyping", "mimeType": "text/markdown"}, {"uri": "projects://npx-cards", "description": "NPX CLI business cards \u2014 contact info and links via npx eswat2", "mimeType": "text/markdown"}, {"uri": "projects://proto-realtime", "description": "Four no-signup real-time prototype apps \u2014 planning poker, team retro board, birthday bot, collaborative drawing PoC \u2014 sharing one Vercel + Redis + SSE architecture", "mimeType": "text/markdown"}, {"uri": "projects://proto-specs", "description": "Public repo of app specifications (not code) used as a cleanroom-implementation benchmark for coding agents", "mimeType": "text/markdown"}, {"uri": "projects://proto-watchlist", "description": "A PS5 game watchlist generated from one YAML file \u2014 Python builds the page and its Markdown mirror, three independent axes, a playtime record, and no JavaScript beyond a theme toggle", "mimeType": "text/markdown"}, {"uri": "projects://skunkworks", "description": "Definition and examples of skunk works projects from Richard Hess's career \u2014 small-team radical innovation built outside normal constraints", "mimeType": "text/markdown"}, {"uri": "projects://spec-cleanroom", "description": "Archive of independent cleanroom implementations of proto-poker and proto-retro, built from proto-specs alone by Grok and Antigravity", "mimeType": "text/markdown"}, {"uri": "projects://stencil-mcp", "description": "MCP server that compiles YAML component specs into framework-agnostic Stencil 4.x web component distributions with Tailwind CSS integration", "mimeType": "text/markdown"}, {"uri": "projects://sudoku", "description": "Sudoku App \u2014 one design, 10 framework implementations with serverless Rust API", "mimeType": "text/markdown"}, {"uri": "projects://sudoku-comparison", "description": "What separates the two Claude-written single-file Sudoku apps from the eight hand-built framework ports \u2014 architecture, deploy model, and measured payloads", "mimeType": "text/markdown"}, {"uri": "projects://sudoku-juris", "description": "Sudoku \u2014 Juris native implementation; exploratory proof of runtime, used in vercel-apps.py", "mimeType": "text/markdown"}, {"uri": "projects://svg-mcp", "description": "MCP server for unified multi-family SVG icon access \u2014 18,978+ unique icons across 9 families with variant support", "mimeType": "text/markdown"}, {"uri": "projects://tailwind-mcp", "description": "MCP server for Tailwind CSS v4 generation with post-processing into layered CSS outputs for Shadow DOM and document-level use", "mimeType": "text/markdown"}, {"uri": "projects://tailwind-plugins", "description": "Tailwind CSS plugins \u2014 clrs palette, pixels, rems, and spacing utilities", "mimeType": "text/markdown"}, {"uri": "projects://tinker", "description": "Tinker \u2014 minimal reference app for validating action\u2013state across frameworks", "mimeType": "text/markdown"}, {"uri": "research://action-state-spec", "description": "Action\u2013State Interactivity Spec \u2014 LLM driving apps via declared actions, zero DOM knowledge", "mimeType": "text/markdown"}, {"uri": "research://action-state-suite", "description": "Action\u2013State Reference Suite \u2014 4 apps with multi-framework ports (autos 7 / funnel 8 / tinker 8 / sudoku 10) validating framework-agnostic action\u2013state", "mimeType": "text/markdown"}, {"uri": "research://index", "description": "PoCs, explorations, and hypothesis-driven experiments \u2014 with links to individual research slugs", "mimeType": "text/markdown"}, {"uri": "research://light-rail", "description": "Light-Rail pattern \u2014 one shadow DOM per feature, functional components inside, solving tag registry collisions in composable web component UIs", "mimeType": "text/markdown"}, {"uri": "research://prefab", "description": "Prefab \u2014 FastMCP generative UI framework; Python DSL \u2192 JSON \u2192 shadcn React; 100+ components", "mimeType": "text/markdown"}, {"uri": "research://vercel-apps", "description": "Vercel Apps MCP Server \u2014 dual-server infrastructure for live app state and action invocation", "mimeType": "text/markdown"}, {"uri": "research://yaml-platform", "description": "YAML-Driven Reactive UI Platform \u2014 spec-driven web component system with 5 MCP servers", "mimeType": "text/markdown"}, {"uri": "specs://color-picker", "description": "Interactive color picker using 17 semantic color keys from the proto-tailwindcss-clrs plugin, with state-reactive toast notifications", "mimeType": "text/markdown"}, {"uri": "specs://icon-gallery", "description": "Glass-morphism icon gallery displaying 42 icons from mixed families, with per-family color coding and click-to-select state", "mimeType": "text/markdown"}, {"uri": "specs://index", "description": "Reference YAML specs for the YAML-Driven Reactive UI Platform \u2014 use these as examples when generating new specs", "mimeType": "text/markdown"}, {"uri": "vault://ai-boom-1980s-mcintosh", "description": "Article: The AI Boom of the 1980s \u2014 expert systems, hype, and hardware dreams", "mimeType": "text/markdown"}, {"uri": "vault://ai-hype-comparison", "description": "Side-by-side comparison of the 1980s expert systems hype cycle and the current LLM/GenAI wave \u2014 parallels, differences, and winter risk", "mimeType": "text/markdown"}, {"uri": "vault://ai-winter", "description": "AI Winter \u2014 collapse of expert systems funding and industry contraction in the late 1980s", "mimeType": "text/markdown"}, {"uri": "vault://ai-winter-medium-rothwell", "description": "Article: When the Billion-Dollar AI Dream Became a $100,000 Paperweight \u2014 AI winter retrospective", "mimeType": "text/markdown"}, {"uri": "vault://ai-winters-1980s", "description": "Detailed anatomy of the 1980s expert systems boom and the second AI winter \u2014 causes, timeline, and personal connection", "mimeType": "text/markdown"}, {"uri": "vault://context-consilium", "description": "Personal context: Richard Hess at Consilium \u2014 Motif, Smalltalk, and WINTERP era", "mimeType": "text/markdown"}, {"uri": "vault://context-winterp-era", "description": "Personal context: Richard Hess during the WINTERP era \u2014 Lisp, Motif, and X11", "mimeType": "text/markdown"}, {"uri": "vault://index", "description": "Index of archival vault content \u2014 historical context for Richard Hess's career", "mimeType": "text/markdown"}, {"uri": "vault://lisp-machine", "description": "Lisp Machine \u2014 dedicated hardware for Lisp execution, Xerox and Symbolics history", "mimeType": "text/markdown"}, {"uri": "vault://lisp-machine-successors", "description": "What came after Lisp machines \u2014 software ports, revival attempts, spiritual successors, and the GPU parallel", "mimeType": "text/markdown"}, {"uri": "vault://netscape-communicator", "description": "Netscape Communicator 4.x \u2014 Richard Hess's role and the browser's technical context", "mimeType": "text/markdown"}, {"uri": "vault://pleiades", "description": "The Pleiades \u2014 Richard's favorite sky object. A 100-million-year-old cluster still wrapped in the cloud it formed from, an emergent-complexity object in the sky, and the first destination he plotted in Elite Dangerous.", "mimeType": "text/markdown"}, {"uri": "vault://smalltalk", "description": "Smalltalk \u2014 object-oriented programming language history, Xerox PARC origins", "mimeType": "text/markdown"}, {"uri": "vault://spec-lineage", "description": "The unbroken thread from 1985 knowledge engineering to 2026 YAML-driven UI \u2014 same architecture, different substrate; tacit knowledge made explicit", "mimeType": "text/markdown"}, {"uri": "vault://taligent", "description": "Taligent \u2014 Apple/IBM joint venture for object-oriented OS (1992\u20131998)", "mimeType": "text/markdown"}, {"uri": "vault://teknowledge", "description": "Teknowledge Corporation \u2014 expert systems company where Richard Hess worked in the AI boom era", "mimeType": "text/markdown"}, {"uri": "vault://tsundoku", "description": "Tsundoku \u2014 Richard Hess's 2026 collection overview: Kindle, TTRPG PDFs, concept art", "mimeType": "text/markdown"}, {"uri": "vault://vor-blish", "description": "VOR by James Blish \u2014 the Avon paperback that started everything. A living nuclear reactor crash-lands on Earth. First contact as incomprehensibility, not invasion.", "mimeType": "text/markdown"}, {"uri": "vault://winterp", "description": "WINTERP \u2014 OSF/Motif Widget INTERPreter, Niels Mayer's Lisp/Motif rapid prototyping toolkit", "mimeType": "text/markdown"}, {"uri": "eswat2://manifest", "description": "JSON manifest: server info, REST endpoints, and all URIs", "mimeType": "application/json"}], "mcp_tools": [{"name": "list_namespaces", "description": "Return all namespaces with entry counts and last_updated \u2014 cheap first-contact discovery", "params": []}, {"name": "list_uris", "description": "Return URIs as JSON, optionally scoped to one namespace", "params": ["namespace (optional)"]}, {"name": "read_uri", "description": "Resolve any namespace URI and return its content", "params": ["uri"]}, {"name": "list_tags", "description": "Return all tags with entry counts", "params": []}, {"name": "search_by_tag", "description": "Return all KB entries that have a specific tag", "params": ["tag"]}, {"name": "get_graph", "description": "Return the full URI relationship graph \u2014 namespaces, top_hubs, top_bridges, and all nodes with titles, tags, and related URIs", "params": []}]}}