{
  "markdown": "# PoetryDB MCP Server\n\n[![npm version](https://img.shields.io/npm/v/mcp-poetry.svg)](https://www.npmjs.com/package/mcp-poetry)\n[![CI](https://github.com/lacausecrypto/mcp-poetrydb/actions/workflows/ci.yml/badge.svg)](https://github.com/lacausecrypto/mcp-poetrydb/actions/workflows/ci.yml)\n[![npm total downloads](https://img.shields.io/npm/dt/mcp-poetry.svg)](https://www.npmjs.com/package/mcp-poetry)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-339933.svg)](https://nodejs.org/)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\nUnofficial MCP server for exploring classic poetry through [PoetryDB](https://poetrydb.org).\n\n## At a glance\n\n| Metric | Value |\n| --- | --- |\n| Tools | 12 |\n| Categories | 3 |\n| Transport | stdio |\n| Auth | none |\n| MCP Registry name | `io.github.lacausecrypto/poetrydb` |\n| npm package | `mcp-poetry` |\n| Source API | `https://poetrydb.org` |\n| Content | classic poetry by author, title, line text, and form |\n\n## Install\n\n```bash\nnpm install -g mcp-poetry\n```\n\nOr from source:\n\n```bash\nnpm install\nnpm run build\n```\n\n## MCP Registry\n\nThis server is published to the MCP Registry under:\n\n```text\nio.github.lacausecrypto/poetrydb\n```\n\n## Claude Desktop\n\n```json\n{\n  \"mcpServers\": {\n    \"poetrydb\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-poetry\"]\n    }\n  }\n}\n```\n\nFor a local checkout, replace the command with:\n\n```json\n{\n  \"mcpServers\": {\n    \"poetrydb\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/mcp-poetrydb/dist/index.js\"]\n    }\n  }\n}\n```\n\n## Tools\n\n### Catalog\n\n- `catalog_overview`: list categories and available tools\n- `catalog_category`: show tools for a specific category\n\n### Search\n\n- `search_by_author`: find poems by author name\n- `search_by_title`: find a poem by title\n- `search_by_lines`: search text inside poem lines\n- `search_by_linecount`: find poems by exact line count\n- `search_combined`: query multiple PoetryDB fields in one request\n- `list_authors`: list all available authors\n\n### Discovery\n\n- `random_poem`: fetch one or more random poems\n- `get_sonnets`: fetch 14-line poems\n- `get_haikus`: fetch 3-line poems\n- `list_titles`: list poem titles\n\n## Example requests\n\n### Simple\n\n```text\nRandom poem please.\n```\n\nExpected tool:\n\n```text\nrandom_poem({ \"count\": 1 })\n```\n\n### Browse\n\n```text\nShow me the available poets.\n```\n\nExpected tool:\n\n```text\nlist_authors({})\n```\n\n### Targeted search\n\n```text\nFind Ozymandias.\n```\n\nExpected tool:\n\n```text\nsearch_by_title({ \"title\": \"Ozymandias\" })\n```\n\n### Text search\n\n```text\nShow me poems containing the word \"love\".\n```\n\nExpected tool:\n\n```text\nsearch_by_lines({ \"text\": \"love\" })\n```\n\n### Form-based discovery\n\n```text\nGive me 14-line poems by Shakespeare.\n```\n\nExpected tool:\n\n```text\nsearch_combined({ \"fields\": \"author,linecount\", \"values\": \"Shakespeare;14\" })\n```\n\n### More advanced\n\n```text\nList Shakespeare results, but only return title and linecount.\n```\n\nExpected tool:\n\n```text\nsearch_by_author({ \"author\": \"Shakespeare\", \"fields\": \"title,linecount\" })\n```\n\n### Multi-step exploration\n\n```text\nStart with the catalog, then show me the discovery tools, then give me a sonnet.\n```\n\nTypical tool sequence:\n\n```text\ncatalog_overview({})\ncatalog_category({ \"category_id\": \"discovery\" })\nget_sonnets({})\n```\n\n## Development\n\n```bash\nnpm run build\nnpm run test:ci\nnpm test\nnpm pack --dry-run\n```\n\nEnvironment variables:\n\n- `POETRYDB_BASE_URL`\n- `POETRYDB_REQUEST_TIMEOUT_MS`\n- `POETRYDB_REQUEST_RETRIES`\n\n## Notes\n\n- No API key is required.\n- This package is not affiliated with PoetryDB.\n- Built for MCP clients that prefer a compact stdio server over a custom PoetryDB integration.\n- MCP Registry identity: `io.github.lacausecrypto/poetrydb`\n\n## Attribution\n\n- PoetryDB: [poetrydb.org](https://poetrydb.org)\n- Upstream project: [thundercomb/poetrydb](https://github.com/thundercomb/poetrydb)\n\nAdditional implementation notes are in [documentation.md](./documentation.md).\n",
  "bytes": 3955,
  "sha": "4f891e3bc90fc908148e3f5b5d782cdd0d0f501ec9aeab6568d2e594a5da7338",
  "repo_slug": "lacausecrypto/mcp-poetrydb",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_lacausecrypto_poetrydb_631605e5/readme"
}