mcpField
S
Shakespeare's Monologues

Shakespeare's Monologues

Remote
shakespeare-monologues.orgGames & Entertainment0Updated 2w ago

About Shakespeare's Monologues

A read-only MCP server for readers, students, and Shakespeare-focused assistants to search monologue metadata from shakespeare-monologues.org. It combines filters and character or play listings with links to full text, scene context, and paraphrases.

Key features

  1. 01Search by text and filters
  2. 02Fetch an entry by ID
  3. 03Random and daily monologues
  4. 04List plays and character monologues
  5. 05Retrieve paraphrases and summaries

Use cases

  1. 01Find a monologue by character or opening line
  2. 02Browse monologues by play, act, or style
  3. 03Review a monologue with a paraphrase and scene summary

MCP support

Provides MCP clients with tools to search and retrieve monologue entries, paraphrases, and summaries. It can run over hosted HTTP or locally over stdio.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.shakespeare-monologues.org/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npmshakespeare-monologues-mcp0.1.0

Tools

10
ParameterTypeRequiredDescription
actnumber|string|nullNoFilter to a specific act number.
playstring|nullNoExact or partial play title.
limitnumber|string|nullNoMax results to return (default 25, max 100).
querystring|nullNoFree text — matched against character name, play title, and first line.
stylestring|nullNoVerse or Prose.
genderstring|nullNoRole gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles.
contextstringYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
llm_modelstringYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
conversation_idstringNoPass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.

Details

From the project README

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

ToolWhat it does
search_monologuesFree-text search (character / play / first line) + filters: gender, play, style, act, limit.
get_monologueOne monologue's index entry by numeric id.
random_monologueA random monologue, optional gender / play filters.
list_playsEvery play with its classification and monologue count.
list_all_monologues_for_a_characterEvery monologue spoken by a named character.
get_monologue_of_the_dayThe current Monologue of the Day (latest social post).
get_paraphrased_monologueA monologue's full text + its modern-English paraphrase (AI-generated; may be null if not yet generated).
get_scene_summaryAI-generated summary of the scene a monologue is in (by monologue id).
get_play_summaryAI-generated summary of a play (by title).
send_feedbackLets an agent report a missing capability, a problem, or praise. Added by the PostHog analytics SDK; only present when analytics is on.

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:

npx shakespeare-monologues-mcp

Over HTTP, which is how the hosted instance runs:

npm install
npm run build
npm start          # listens on :3000, POST /mcp   (set PORT to change)

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:

https://mcp.shakespeare-monologues.org/mcp

Or run it yourself over stdio, with no hosted dependency:

{
  "mcpServers": {
    "shakespeare-monologues": {
      "command": "npx",
      "args": ["-y", "shakespeare-monologues-mcp"]
    }
  }
}

For clients configured with a JSON config file, use the streamable-HTTP transport:

{
  "mcpServers": {
    "shakespeare-monologues": {
      "type": "streamable-http",
      "url": "https://mcp.shakespeare-monologues.org/mcp"
    }
  }
}

For a client that only speaks stdio, bridge to the remote server with mcp-remote:

{
  "mcpServers": {
    "shakespeare-monologues": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.shakespeare-monologues.org/mcp"]
    }
  }
}

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.