Projects / Remote MCP Server
⚡ Agentic Infrastructure · MCP 2024-11-05

Remote MCP Server & AI Agent Gateway

A public, stateless Model Context Protocol (MCP) server running on Cloud Run and Firebase CDN, turning herrington.ai into a first-class machine-callable knowledge interface for autonomous AI agents like Muse, Instinct, Cursor, and Claude Code.

⚡ Live MCP Endpoint (/mcp) Read CUJ Case Study Explore API Docs GitHub Source
Remote MCP Server & AI Agent Gateway Architecture Diagram
Stateless Streamable HTTP MCP Architecture: Connecting autonomous AI agents (Muse, Instinct, Cursor) to Daniel Herrington's research corpus and Gemini persona.

The Vision: Eliminating the Human Browser Tax

For three decades, the web has been engineered exclusively for human retinas—heavy CSS frameworks, responsive layouts, client hydration, and click-based navigation. When modern autonomous AI agents like Muse, Instinct, Cursor, or Claude Code need to research Daniel Herrington's work—such as his ML Productivity Goodput in LLM Training research paper (arXiv:2502.06982), systems essays like "The End of Vibe Coding", or architectural case studies—driving a headless browser to click a web chat widget is fundamentally flawed.

"Autonomous AI agents do not want to parse DOM elements or drive headless Chromium instances. They want deterministic JSON-RPC 2.0 tool calls, machine-readable schemas, and pristine raw Markdown streams."

To solve this, we exposed the site's capabilities as a public, zero-authentication Model Context Protocol (MCP) server running at https://herrington.ai/mcp. Any agent supporting the MCP 2024-11-05 standard can discover, inspect, and call these tools natively.

Architectural Highlights

⚡
Stateless Streamable HTTP
Engineered with sessionIdGenerator: undefined to run 100% statelessly across Google Cloud Run containers. Eliminates persistent session locks and avoids Session not found errors.
🔍
Semantic TF-IDF Retrieval
Sub-100ms multi-factor ranked search across 39 published essays, systems research papers, and Critical User Journey (CUJ) engineering case studies.
📝
Raw Markdown Streaming
Tool responses return clean, unedited Markdown with zero JSON-in-HTML wrapping, drastically reducing context window token consumption for calling LLMs.
🛡️
Deterministic Rate Limiter
Sliding token bucket rate limiter strictly capping Gemini API queries via ask_dhsh to 30 requests/hour per IP, with built-in anti-jailbreak deflection filters.
🌐
Universal Public CORS
Full Access-Control-Allow-Origin: * headers enable zero-friction machine calls from browser agents, cloud workers, and desktop developer environments.
📚
Dual-Tier Agent Corpus
Paired with /llms.txt for lightweight indexing and /llms-full.txt (512 KB) for single-request full corpus context loading.

Machine-Callable Tool Suite

Every tool is published with a strict JSON input schema and human-readable description for dynamic agent discovery via tools/list:

Tool Name Arguments Output Description
search_essays query: string, limit?: number Ranked JSON array of matching essays with titles, slugs, excerpts, and canonical URLs.
get_essay slug: string Full unedited Markdown text of the specified essay with zero token overhead.
list_projects None Structured array of personal hardware, AI systems, and open-source project summaries.
get_project id: string Complete architectural blueprint and CUJ case study detail for a specific project.
ask_dhsh question: string Simulated engineering persona synthesis powered by Gemini (rate-limited to 30 req/hr/IP).
get_career_timeline None Structured chronological career history, leadership milestones (The Zebra, Google, Vroom), and education.

Quick Start: Connecting Your Agent

1. Querying via Curl (No Session Headers Required)

# Search essays on vibe coding curl -s -X POST https://herrington.ai/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_essays","arguments":{"query":"vibe coding"}}}' | jq .

2. Add to Claude Desktop (claude_desktop_config.json)

{ "mcpServers": { "herrington-ai": { "url": "https://herrington.ai/mcp" } } }

3. Add to Cursor (.cursor/mcp.json)

{ "mcpServers": { "herrington-ai": { "type": "streamable-http", "url": "https://herrington.ai/mcp" } } }

Infrastructure & Protocol Specifications

Protocol Version
MCP 2024-11-05 (Streamable HTTP)
Execution Mode
Stateless (sessionIdGenerator: undefined)
Cloud Runtime
Google Cloud Run (us-central1)
Global Edge
Firebase Hosting Global CDN
LLM Persona Engine
Gemini 4.0 Argon via REST
Latency
Sub-100ms In-Memory Retrieval

Inspect the Case Study & Blueprints

Read the in-depth Critical User Journey analysis detailing how we solved stateful transport collision bugs and achieved seamless machine-to-machine retrieval.

📖 Read Full CUJ Case Study View API Documentation