Shakespeare's Monologues

io.github.slshults由 GitHub 帳號 slshults 發布v0.1.2更新於 Oct 25, 2026

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

已驗證Streamable HTTP可網頁執行知識與記憶媒體與設計

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,可從 shakespeare-monologues.org 搜尋莎士比亞獨白、劇作、現代英語釋義與場景摘要。

可以做什麼
以自由文字搜尋獨白,可依性別、劇作、風格、幕次與數量篩選,或依編號、隨機取得單筆獨白,包括「每日獨白」與某角色的所有台詞。列出劇作及其喜劇/歷史劇/悲劇分類與獨白數量。取得獨白全文與現代英語逐行釋義,以及 AI 生成的場景摘要與劇作摘要。針對伺服器自身的工具送出意見回饋。
適用情境
適合助理需要尋找、引用或討論莎士比亞台詞時使用,例如試鏡選段、角色研究、教學素材,或想快速取得現代英語釋義與場景背景而不必手動瀏覽網站。
執行需求
可使用託管的遠端端點(加入 URL,無需安裝),或透過 npx 在本機執行,需要 Node.js。無需憑證或 API 金鑰。選用環境變數可指向其他索引位址或關閉分析。
安裝前請注意
除 send_feedback 外皆為唯讀;該工具會將文字傳送到伺服器,README 要求不要包含個人資訊。釋義與摘要由 AI 生成,可能尚未產生而回傳 null。README 說明意見回饋工具來自分析 SDK,僅在啟用分析時存在。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Shakespeare's Monologues,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.slshults%2Fshakespeare-monologues/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

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

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:

bash
npx shakespeare-monologues-mcp

Over HTTP, which is how the hosted instance runs:

bash
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:

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

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

json
{
  "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:

json
{
  "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]

來源:README.md,提交 71975b2

工具

10

search_monologues

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

輸入參數actplaylimitquerystylegendercontext必填llm_model必填conversation_id

get_monologue

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

輸入參數idcontext必填llm_model必填monologue_idconversation_id

random_monologue

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

輸入參數playgendercontext必填llm_model必填conversation_id

list_plays

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

輸入參數context必填llm_model必填conversation_id

list_all_monologues_for_a_character

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

輸入參數limitcontext必填characterllm_model必填conversation_id

get_monologue_of_the_day

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

輸入參數context必填llm_model必填conversation_id

get_paraphrased_monologue

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.

輸入參數idcontext必填llm_model必填monologue_idconversation_id

get_scene_summary

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

輸入參數idcontext必填llm_model必填monologue_idconversation_id

get_play_summary

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

輸入參數playcontext必填llm_model必填conversation_id

send_feedback

Send feedback

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.

輸入參數detailssummary必填llm_model必填sentimenttool_namefeedback_type必填task_completedconversation_idfriction_pointssuggested_improvement

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分