mcpField
P
PoetryDB MCP Server

PoetryDB MCP Server

Local
github.comGames & Entertainment2Updated 28w ago

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

  1. 01Search by author, title, or lines
  2. 02Combine PoetryDB search fields
  3. 03Browse authors and titles
  4. 04Fetch random poems
  5. 05Find sonnets and haikus

Use cases

  1. 01Find poems by a known author or title
  2. 02Search poems for a word or phrase
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"lacausecrypto-poetrydb": {
"command": "npx",
"args": [
"-y",
"mcp-poetry"
],
"env": {
"POETRYDB_BASE_URL": "<POETRYDB_BASE_URL>",
"POETRYDB_REQUEST_TIMEOUT_MS": "<POETRYDB_REQUEST_TIMEOUT_MS>",
"POETRYDB_REQUEST_RETRIES": "<POETRYDB_REQUEST_RETRIES>"
}
}
}
}
Run commandnpx -y mcp-poetry
Environment variables to set
POETRYDB_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.

Packages
npmmcp-poetry1.0.1

Tools

12

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

PoetryDB MCP Server

npm version CI npm total downloads Node.js License: MIT

Unofficial MCP server for exploring classic poetry through PoetryDB.

At a glance

MetricValue
Tools12
Categories3
Transportstdio
Authnone
MCP Registry nameio.github.lacausecrypto/poetrydb
npm packagemcp-poetry
Source APIhttps://poetrydb.org
Contentclassic 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 tools
  • catalog_category: show tools for a specific category
Search
  • search_by_author: find poems by author name
  • search_by_title: find a poem by title
  • search_by_lines: search text inside poem lines
  • search_by_linecount: find poems by exact line count
  • search_combined: query multiple PoetryDB fields in one request
  • list_authors: list all available authors
Discovery
  • random_poem: fetch one or more random poems
  • get_sonnets: fetch 14-line poems
  • get_haikus: fetch 3-line poems
  • list_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_URL
  • POETRYDB_REQUEST_TIMEOUT_MS
  • POETRYDB_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

Additional implementation notes are in documentation.md.

Comments

Markdown supported

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.