Shakespeare's Monologues — MCP server
A small, read-only Model Context Protocol server
that lets MCP-capable AI clients search and fetch Shakespeare monologue metadata from
shakespeare-monologues.org.
It's a thin, stateless wrapper over the site's public JSON index
(/api/monologues.json) — no database, no secrets. Every result carries the
monologue's permalink url (where the full text, scene context, and modern-English
paraphrase live) and an attribution note.
Tools
The paraphrase and summaries are AI-generated (Claude) and only partially cached so far,
so those tools return null where content hasn't been generated yet.
Run locally
Two transports, same tools. server.ts builds the tool surface and knows
nothing about how it's reached; index.ts serves it over HTTP and stdio.ts
over stdio.
Over stdio, the way an MCP client spawns a local server:
Over HTTP, which is how the hosted instance runs:
Health check: GET /health → {"ok":true}.
Neither mode needs credentials — the server reads the site's public JSON index.
Set MONOLOGUES_API_URL to point it elsewhere, and POSTHOG_PROJECT_API_KEY=""
to disable analytics.
Connecting a client
Remote MCP means users add a URL, no install. In a client that supports remote /
custom MCP servers (Claude Desktop connectors, etc.), add:
Or run it yourself over stdio, with no hosted dependency:
For clients configured with a JSON config file, use the streamable-HTTP transport:
For a client that only speaks stdio, bridge to the remote server with
mcp-remote:
Note on "autonomous" use: there's no mechanism today for an arbitrary agent to
discover and use this with zero user action — a client/platform still has to connect
it. For truly zero-setup access, agents can hit the plain JSON API
(/api/monologues.json) and /llms.txt directly.
License
- Code: MIT.
- Data served through it: © shakespeare-monologues.org, CC BY-NC-SA 4.0 — please
keep the attribution that each tool response includes.
[shakespeare-monologues-mcp MCP server]