Skip to main content
Glama

Server Details

Search Shakespeare monologues, plays, paraphrases and summaries from shakespeare-monologues.org

Ownership verified
Status
Healthy
Uptime
99.9% over 57 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
slshults/shakespeare-monologues-mcp
GitHub Stars
0
Server Listing
shakespeare-monologues-mcp

TDQS

A3.6/5.0

Scored across 9 tools

Disambiguation4/5

Each tool has a distinct retrieval target: single monologue, daily monologue, paraphrased text, play summary, scene summary, character listing, play listing, random pick, and free-text search. The only mild overlap is between list_all_monologues_for_a_character and search_monologues, but their descriptions clearly separate exact-character listing from free-text matching.

Naming Consistency3/5

Most names follow a verb_noun pattern (get_monologue, list_plays, search_monologues), but conventions are mixed: list_all_monologues_for_a_character is far more verbose than list_plays, and random_monologue uses a noun/adjective style with no verb. Still readable, just not uniform.

Tool Count5/5

Nine tools is a well-scoped set for a monologue catalogue, covering lookup, browsing, search, and random discovery without redundancy.

Completeness4/5

The surface covers the core lifecycle of browsing Shakespeare monologues: lookup by id, character listing, play listing, search, daily pick, and random suggestion, plus contextual summaries. Minor gaps exist (no way to list characters directly or filter listings by play), but agents can work around these via search filters.

Available Tools

10 tools
get_monologue
Read-only
Inspect

Fetch one monologue's catalogue entry by its numeric id. Follow the returned url for the full text.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe monologue's numeric id (from search_monologues).
contextYesExplain 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_modelYesThe 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.
monologue_idNoDeprecated alias for `id`.
conversation_idNoPass 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.
get_monologue_of_the_day
Read-only
Inspect

The current 'Monologue of the Day' — the piece most recently posted to the site's social feeds.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain 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_modelYesThe 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_idNoPass 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.
get_paraphrased_monologue
Read-only
Inspect

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 url always has the monologue itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe monologue's numeric id (from search_monologues).
contextYesExplain 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_modelYesThe 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.
monologue_idNoDeprecated alias for `id`.
conversation_idNoPass 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.
get_play_summary
Read-only
Inspect

Fetch an AI-generated summary of a play (e.g. 'Hamlet', 'The Tempest'). May be null if not generated yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
playNoPlay title (exact or partial).
contextYesExplain 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_modelYesThe 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_idNoPass 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.
get_scene_summary
Read-only
Inspect

Fetch an AI-generated summary of the scene a monologue appears in (context for the speech). May be null if not generated yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe monologue's numeric id (from search_monologues).
contextYesExplain 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_modelYesThe 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.
monologue_idNoDeprecated alias for `id`.
conversation_idNoPass 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.
list_all_monologues_for_a_character
Read-only
Inspect

List every monologue spoken by a given character (e.g. 'Hamlet', 'Rosalind'). Matches the character name exactly first, then as a substring.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 50, max 200).
contextYesExplain 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."
characterNoCharacter name.
llm_modelYesThe 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_idNoPass 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.
list_plays
Read-only
Inspect

List Shakespeare's plays with their classification (Comedy/History/Tragedy) and monologue counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain 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_modelYesThe 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_idNoPass 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.
random_monologue
Read-only
Inspect

Return one random monologue, with optional gender/play filters. Useful for a suggestion when the user is undecided.

ParametersJSON Schema
NameRequiredDescriptionDefault
playNoExact or partial play title.
genderNoRole gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles.
contextYesExplain 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_modelYesThe 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_idNoPass 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.
search_monologues
Read-only
Inspect

Search Shakespeare monologues by free text (matches character, play, or first line) plus optional filters. Returns matches, each with a permalink url.

ParametersJSON Schema
NameRequiredDescriptionDefault
actNoFilter to a specific act number.
playNoExact or partial play title.
limitNoMax results to return (default 25, max 100).
queryNoFree text — matched against character name, play title, and first line.
styleNoVerse or Prose.
genderNoRole gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles.
contextYesExplain 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_modelYesThe 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_idNoPass 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.
send_feedback
Read-onlyIdempotent
Inspect

Send feedback about this Shakespeare monologues server: a monologue, play or capability you needed that its tools could not provide, a problem with a result, or praise. Only for feedback about these tools, not about other tasks. Do not include personal information about the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailsNoOptional longer context: what you tried, exact parameter values, the error text you saw, and any workaround you used. Omit when the summary says it all.
summaryYesOne self-contained sentence. For 'missing_capability': the capability you needed, e.g. 'No tool to delete multiple cohorts in one call.' For 'issue': the tool and the problem, e.g. 'query-trends rejects relative date ranges with an unclear error.'
llm_modelYesThe 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.
sentimentNoOptional: how the experience felt overall.
tool_nameNoOptional: the existing tool this feedback is about (for 'issue' or 'praise'). Leave empty for 'missing_capability' - the point is that no tool fits.
feedback_typeYesWhat kind of feedback this is. Use 'missing_capability' when the tool you needed does not exist in the tool list - nothing failed, the capability is absent (this is the most valuable report; send it even if you found a workaround). Use 'issue' when an existing tool behaved badly: it failed, returned a confusing error, or its description or schema misled you. Use 'praise' when something worked notably well. Use 'other' for anything else.
task_completedNoOptional: whether you still completed the user's task despite the problem.
conversation_idNoPass 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.
friction_pointsNoOptional: the specific moments that slowed you down, as short bullet-like sentences, quoting exact tool names, parameters, or error text.
suggested_improvementNoOptional: the concrete change that would have helped, e.g. the tool to add, the description to reword, or the error message to improve.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • Changedget_monologue4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedget_monologue_of_the_day4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedget_paraphrased_monologue4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedget_play_summary4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedget_scene_summary4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedlist_all_monologues_for_a_character4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedlist_plays4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedrandom_monologue4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedsearch_monologues4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Explain 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.\""
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Pass 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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The 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.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "context"
        -]New value: +[
        +  "context",
        +  "llm_model"
        +]
    • Addedsend_feedback
  2. 7 tool updates
    • Changedget_monologue2 fields changed
      • changedInput schema / properties / id / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / monologue_id / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
    • Changedget_paraphrased_monologue2 fields changed
      • changedInput schema / properties / id / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / monologue_id / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
    • Changedget_play_summary1 field changed
      • changedInput schema / properties / play / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_scene_summary2 fields changed
      • changedInput schema / properties / id / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / monologue_id / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
    • Changedlist_all_monologues_for_a_character2 fields changed
      • changedInput schema / properties / character / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / limit / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
    • Changedrandom_monologue2 fields changed
      • changedInput schema / properties / gender / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / play / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedsearch_monologues6 fields changed
      • changedInput schema / properties / act / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / gender / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / limit / type
        Previous value: -[
        -  "number",
        -  "string"
        -]New value: +[
        +  "number",
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / play / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / query / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / style / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
  3. 7 tool updates
    • Changedget_monologue2 fields changed
      • changedInput schema / properties / id / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
      • changedInput schema / properties / monologue_id / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
    • Changedget_paraphrased_monologue2 fields changed
      • changedInput schema / properties / id / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
      • changedInput schema / properties / monologue_id / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
    • Changedget_play_summary1 field changed
      • changedInput schema / required
        Previous value: -[
        -  "play",
        -  "context"
        -]New value: +[
        +  "context"
        +]
    • Changedget_scene_summary2 fields changed
      • changedInput schema / properties / id / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
      • changedInput schema / properties / monologue_id / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
    • Changedlist_all_monologues_for_a_character5 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max results (default 50)."New value: +"Max results (default 50, max 200)."
      • removedInput schema / properties / limit / maximum
        Removed value: -200
      • removedInput schema / properties / limit / minimum
        Removed value: -1
      • changedInput schema / properties / limit / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "character",
        -  "context"
        -]New value: +[
        +  "context"
        +]
    • Changedrandom_monologue1 field changed
      • removedInput schema / properties / gender / enum
        Removed value: -[
        -  "Men",
        -  "Women",
        -  "Both"
        -]
    • Changedsearch_monologues8 fields changed
      • changedInput schema / properties / act / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
      • removedInput schema / properties / gender / enum
        Removed value: -[
        -  "Men",
        -  "Women",
        -  "Both"
        -]
      • changedInput schema / properties / limit / description
        Previous value: -"Max results to return (default 25)."New value: +"Max results to return (default 25, max 100)."
      • removedInput schema / properties / limit / maximum
        Removed value: -100
      • removedInput schema / properties / limit / minimum
        Removed value: -1
      • changedInput schema / properties / limit / type
        Previous value: -"integer"New value: +[
        +  "number",
        +  "string"
        +]
      • changedInput schema / properties / style / description
        Previous value: -"Verse or prose."New value: +"Verse or Prose."
      • removedInput schema / properties / style / enum
        Removed value: -[
        -  "Verse",
        -  "Prose"
        -]
  4. 5 tool updates
    • Changedget_monologue3 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"The monologue's numeric id."New value: +"The monologue's numeric id (from search_monologues)."
      • addedInput schema / properties / monologue_id
        Added value: +{
        +  "description": "Deprecated alias for `id`.",
        +  "type": "integer"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "context"
        -]New value: +[
        +  "context"
        +]
    • Changedget_paraphrased_monologue3 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"The monologue's numeric id."New value: +"The monologue's numeric id (from search_monologues)."
      • addedInput schema / properties / monologue_id
        Added value: +{
        +  "description": "Deprecated alias for `id`.",
        +  "type": "integer"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "context"
        -]New value: +[
        +  "context"
        +]
    • Changedget_scene_summary3 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"The numeric id of a monologue in the scene."New value: +"The monologue's numeric id (from search_monologues)."
      • addedInput schema / properties / monologue_id
        Added value: +{
        +  "description": "Deprecated alias for `id`.",
        +  "type": "integer"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "context"
        -]New value: +[
        +  "context"
        +]
    • Changedrandom_monologue1 field changed
      • addedInput schema / properties / gender / description
        Added value: +"Role gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles."
    • Changedsearch_monologues1 field changed
      • changedInput schema / properties / gender / description
        Previous value: -"Role gender as catalogued. 'Men'/'Women' also include gender-neutral ('Both') roles."New value: +"Role gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles."
  5. 1 tool update
    • Changedget_scene_summary3 fields changed
      • addedInput schema / properties / id
        Added value: +{
        +  "description": "The numeric id of a monologue in the scene.",
        +  "type": "integer"
        +}
      • removedInput schema / properties / monologue_id
        Removed value: -{
        -  "description": "The id of a monologue in the scene.",
        -  "type": "integer"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "monologue_id",
        -  "context"
        -]New value: +[
        +  "id",
        +  "context"
        +]
  6. 9 tool updates
    • Changedget_monologue3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "id",
        +  "context"
        +]
    • Changedget_monologue_of_the_day2 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Changedget_paraphrased_monologue3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "id",
        +  "context"
        +]
    • Changedget_play_summary3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "play"
        -]New value: +[
        +  "play",
        +  "context"
        +]
    • Changedget_scene_summary3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "monologue_id"
        -]New value: +[
        +  "monologue_id",
        +  "context"
        +]
    • Changedlist_all_monologues_for_a_character3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "character"
        -]New value: +[
        +  "character",
        +  "context"
        +]
    • Changedlist_plays2 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Changedrandom_monologue3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Changedsearch_monologues3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
  7. 9 tool updates
    • First observedget_monologue
    • First observedget_monologue_of_the_day
    • First observedget_paraphrased_monologue
    • First observedget_play_summary
    • First observedget_scene_summary
    • First observedlist_all_monologues_for_a_character
    • First observedlist_plays
    • First observedrandom_monologue
    • First observedsearch_monologues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Semantic search over 4.6 million text chunks from 20,000+ classical philosophy and humanities works (pre-1928). Covers Aristotle, Plato, Kant, Hegel, Nietzsche and hundreds more. Multilingual: English, German, Latin, French, Italian, Greek, Russian.
    3
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to explore a public-domain poetry collection by searching poems by title, finding poems whose lines contain a given phrase, pulling one or more random poems, and listing available authors. It returns full poem text with author and line-count details, and works either through a hosted gateway or as a local stdio server without an account.
    34 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Search and retrieve Devanagari Hindi shayari from an owner-authorized, provenance-tracked corpus, with audit and research-only inspection capabilities via stdio.
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.