About PoetryDB MCP Server
PoetryDB MCP Server connects MCP clients to PoetryDB for browsing and searching classic poetry. Its tools cover authors, titles, line text, poem length, and selected forms.
Key features
- 01Search by author, title, or lines
- 02Combine PoetryDB search fields
- 03Browse authors and titles
- 04Fetch random poems
- 05Find sonnets and haikus
Use cases
- 01Find poems by a known author or title
- 02Search poems for a word or phrase
- 03Discover poems by line count or form
MCP support
An stdio MCP server exposing 12 tools that query PoetryDB’s classic poetry catalog. No API key is required.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y mcp-poetryPOETRYDB_BASE_URLOverride the PoetryDB API base URL.POETRYDB_REQUEST_TIMEOUT_MSPer-request timeout in milliseconds.POETRYDB_REQUEST_RETRIESRetry count for retryable PoetryDB failures.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
12Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEPoetryDB MCP Server
Unofficial MCP server for exploring classic poetry through PoetryDB.
At a glance
| Metric | Value |
|---|---|
| Tools | 12 |
| Categories | 3 |
| Transport | stdio |
| Auth | none |
| MCP Registry name | io.github.lacausecrypto/poetrydb |
| npm package | mcp-poetry |
| Source API | https://poetrydb.org |
| Content | classic poetry by author, title, line text, and form |
Install
npm install -g mcp-poetry
Or from source:
npm install
npm run build
MCP Registry
This server is published to the MCP Registry under:
io.github.lacausecrypto/poetrydb
Claude Desktop
{
"mcpServers": {
"poetrydb": {
"command": "npx",
"args": ["-y", "mcp-poetry"]
}
}
}
For a local checkout, replace the command with:
{
"mcpServers": {
"poetrydb": {
"command": "node",
"args": ["/absolute/path/to/mcp-poetrydb/dist/index.js"]
}
}
}
Tools
Catalog
catalog_overview: list categories and available toolscatalog_category: show tools for a specific category
Search
search_by_author: find poems by author namesearch_by_title: find a poem by titlesearch_by_lines: search text inside poem linessearch_by_linecount: find poems by exact line countsearch_combined: query multiple PoetryDB fields in one requestlist_authors: list all available authors
Discovery
random_poem: fetch one or more random poemsget_sonnets: fetch 14-line poemsget_haikus: fetch 3-line poemslist_titles: list poem titles
Example requests
Simple
Random poem please.
Expected tool:
random_poem({ "count": 1 })
Browse
Show me the available poets.
Expected tool:
list_authors({})
Targeted search
Find Ozymandias.
Expected tool:
search_by_title({ "title": "Ozymandias" })
Text search
Show me poems containing the word "love".
Expected tool:
search_by_lines({ "text": "love" })
Form-based discovery
Give me 14-line poems by Shakespeare.
Expected tool:
search_combined({ "fields": "author,linecount", "values": "Shakespeare;14" })
More advanced
List Shakespeare results, but only return title and linecount.
Expected tool:
search_by_author({ "author": "Shakespeare", "fields": "title,linecount" })
Multi-step exploration
Start with the catalog, then show me the discovery tools, then give me a sonnet.
Typical tool sequence:
catalog_overview({})
catalog_category({ "category_id": "discovery" })
get_sonnets({})
Development
npm run build
npm run test:ci
npm test
npm pack --dry-run
Environment variables:
POETRYDB_BASE_URLPOETRYDB_REQUEST_TIMEOUT_MSPOETRYDB_REQUEST_RETRIES
Notes
- No API key is required.
- This package is not affiliated with PoetryDB.
- Built for MCP clients that prefer a compact stdio server over a custom PoetryDB integration.
- MCP Registry identity:
io.github.lacausecrypto/poetrydb
Attribution
- PoetryDB: poetrydb.org
- Upstream project: thundercomb/poetrydb
Additional implementation notes are in documentation.md.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.