accueil / serveurs / Recherche & Web / io.github.slshults/shakespeare-monologues
io.github.slshults/shakespeare-monologues
serveur MCP (Model Context Protocol) · shakespeare-monologues 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.slshults/shakespeare-monologues est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.slshults/shakespeare-monologues » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 10 outils
- get_monologue≈ 505 tokens
Fetch one monologue's catalogue entry by its numeric id. Follow the returned `url` for the full text.
Paramètres, retour & exemple (5)
Paramètresid· number|string|null · optionnel
The monologue's numeric id (from search_monologues).context· string · requis
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."llm_model· string · requis
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.monologue_id· number|string|null · optionnel
Deprecated alias for `id`.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "get_monologue", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_monologue_of_the_day≈ 452 tokens
The current 'Monologue of the Day' — the piece most recently posted to the site's social feeds.
Paramètres, retour & exemple (3)
Paramètrescontext· string · requis
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."llm_model· string · requis
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.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "get_monologue_of_the_day", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_paraphrased_monologue≈ 537 tokens
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.
Paramètres, retour & exemple (5)
Paramètresid· number|string|null · optionnel
The monologue's numeric id (from search_monologues).context· string · requis
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."llm_model· string · requis
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.monologue_id· number|string|null · optionnel
Deprecated alias for `id`.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "get_paraphrased_monologue", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_play_summary≈ 474 tokens
Fetch an AI-generated summary of a play (e.g. 'Hamlet', 'The Tempest'). May be null if not generated yet.
Paramètres, retour & exemple (4)
Paramètresplay· string|null · optionnel
Play title (exact or partial).context· string · requis
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."llm_model· string · requis
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.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "get_play_summary", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_scene_summary≈ 512 tokens
Fetch an AI-generated summary of the scene a monologue appears in (context for the speech). May be null if not generated yet.
Paramètres, retour & exemple (5)
Paramètresid· number|string|null · optionnel
The monologue's numeric id (from search_monologues).context· string · requis
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."llm_model· string · requis
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.monologue_id· number|string|null · optionnel
Deprecated alias for `id`.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "get_scene_summary", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_all_monologues_for_a_character≈ 510 tokens
List every monologue spoken by a given character (e.g. 'Hamlet', 'Rosalind'). Matches the character name exactly first, then as a substring.
Paramètres, retour & exemple (5)
Paramètreslimit· number|string|null · optionnel
Max results (default 50, max 200).context· string · requis
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."character· string|null · optionnel
Character name.llm_model· string · requis
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.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "list_all_monologues_for_a_character", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_plays≈ 448 tokens
List Shakespeare's plays with their classification (Comedy/History/Tragedy) and monologue counts.
Paramètres, retour & exemple (3)
Paramètrescontext· string · requis
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."llm_model· string · requis
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.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "list_plays", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - random_monologue≈ 526 tokens
Return one random monologue, with optional gender/play filters. Useful for a suggestion when the user is undecided.
Paramètres, retour & exemple (5)
Paramètresplay· string|null · optionnel
Exact or partial play title.gender· string|null · optionnel
Role gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles.context· string · requis
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."llm_model· string · requis
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.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "random_monologue", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_monologues≈ 638 tokens
Search Shakespeare monologues by free text (matches character, play, or first line) plus optional filters. Returns matches, each with a permalink `url`.
Paramètres, retour & exemple (9)
Paramètresact· number|string|null · optionnel
Filter to a specific act number.play· string|null · optionnel
Exact or partial play title.limit· number|string|null · optionnel
Max results to return (default 25, max 100).query· string|null · optionnel
Free text — matched against character name, play title, and first line.style· string|null · optionnel
Verse or Prose.gender· string|null · optionnel
Role gender: Men, Women, or Both. Natural words like 'male'/'female' are accepted. 'Men'/'Women' also include gender-neutral ('Both') roles.context· string · requis
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."llm_model· string · requis
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.conversation_id· string · optionnel
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.
Exemple d'appel{"name": "search_monologues", "arguments": {"context": "texte", "llm_model": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_feedback≈ 812 tokens
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.
Paramètres, retour & exemple (10)
Paramètresdetails· string · optionnel
Optional 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.summary· string · requis
One 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_model· string · requis
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.sentiment· string · optionnel · positive | neutral | negative | mixed
Optional: how the experience felt overall.tool_name· string · optionnel
Optional: the existing tool this feedback is about (for 'issue' or 'praise'). Leave empty for 'missing_capability' - the point is that no tool fits.feedback_type· string · requis · missing_capability | issue | praise | other
What 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_completed· boolean · optionnel
Optional: whether you still completed the user's task despite the problem.conversation_id· string · optionnel
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.friction_points· string · optionnel
Optional: the specific moments that slowed you down, as short bullet-like sentences, quoting exact tool names, parameters, or error text.suggested_improvement· string · optionnel
Optional: the concrete change that would have helped, e.g. the tool to add, the description to reword, or the error message to improve.
Exemple d'appel{"name": "send_feedback", "arguments": {"summary": "texte", "llm_model": "texte", "feedback_type": "missing_capability"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».