shakespeare-monologues-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the HTTP server (when running over HTTP). Defaults to 3000. | |
| MONOLOGUES_API_URL | No | Base URL for the Shakespeare Monologues API. Defaults to the official site's public JSON index. | |
| POSTHOG_PROJECT_API_KEY | No | Project API key for PostHog analytics. Set to an empty string to disable analytics. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_monologuesA | Search Shakespeare monologues by free text (matches character, play, or first line) plus optional filters. Returns matches, each with a permalink |
| get_monologueA | Fetch one monologue's catalogue entry by its numeric id. Follow the returned |
| random_monologueA | Return one random monologue, with optional gender/play filters. Useful for a suggestion when the user is undecided. |
| list_playsA | List Shakespeare's plays with their classification (Comedy/History/Tragedy) and monologue counts. |
| list_all_monologues_for_a_characterA | List every monologue spoken by a given character (e.g. 'Hamlet', 'Rosalind'). Matches the character name exactly first, then as a substring. |
| get_monologue_of_the_dayA | The current 'Monologue of the Day' — the piece most recently posted to the site's social feeds. |
| get_paraphrased_monologueA | Fetch a monologue's full text alongside its modern-English, line-by-line paraphrase. The paraphrase is AI-generated (Claude) and may be null if it hasn't been generated yet — the |
| get_scene_summaryA | Fetch an AI-generated summary of the scene a monologue appears in (context for the speech). May be null if not generated yet. |
| get_play_summaryA | Fetch an AI-generated summary of a play (e.g. 'Hamlet', 'The Tempest'). May be null if not generated yet. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct retrieval or summary function, and the descriptions generally clarify boundaries. The main ambiguity is between search_monologues and list_all_monologues_for_a_character, since both can return monologues for a character, though one is a broad search and the other a focused listing.
Most tools follow a clear snake_case verb_noun pattern like list_plays, search_monologues, and get_monologue. random_monologue breaks the verb-first convention, and a few names are verbose, but the overall style remains predictable.
Nine tools is well-scoped for a Shakespeare monologue server, covering browsing, searching, retrieval, random/daily selection, paraphrases, and summaries. Each tool earns its place without feeling bloated or redundant.
The surface covers the core workflows of discovering, searching, retrieving, and contextualizing monologues. Minor gaps exist, such as no direct list-monologues-by-play endpoint and get_monologue requiring an external URL for the full text, but agents can work around these.