# PoetryDB MCP Server [Health: Active]

**Category:** 🎨 Art & Culture  
**Repository:** https://github.com/lacausecrypto/mcp-poetrydb  
**GitHub Stars:** 2  
**npm Downloads (last month):** 121  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/poetrydb-mcp-server

## Description
Classic poetry search and discovery via PoetryDB.

## Tools
Capabilities this server exposes over MCP:

- **catalog_overview** — Overview of all PoetryDB MCP tools. Start here to discover categories.
- **catalog_category** — Show the tools and description for a specific category.
- **search_by_author** — Find poems by author name. Supports exact or partial author matches.
- **search_by_title** — Find a poem by title. Supports exact or partial title matches.
- **search_by_lines** — Search for poems containing specific text in their lines.
- **search_by_linecount** — Find poems with a specific number of lines.
- **search_combined** — Run a combined PoetryDB search across multiple fields.
- **list_authors** — List all available authors in PoetryDB.
- **random_poem** — Get one or more random poems.
- **get_sonnets** — Find 14-line sonnets, optionally filtered by author.
- **get_haikus** — Find 3-line poems, optionally filtered by author.
- **list_titles** — List all poem titles in PoetryDB.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "poetrydb-mcp-server": {
    "command": "npx",
    "args": ["-y","mcp-poetry"],
    "env": {
      "POETRYDB_BASE_URL": "",
      "POETRYDB_REQUEST_TIMEOUT_MS": "",
      "POETRYDB_REQUEST_RETRIES": ""
    }
  }
}
```

**Requires environment variables:** `POETRYDB_BASE_URL`, `POETRYDB_REQUEST_TIMEOUT_MS`, `POETRYDB_REQUEST_RETRIES` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What PoetryDB MCP Server MCP server does

PoetryDB MCP Server MCP server exposes PoetryDB’s classic poetry collection through the Model Context Protocol. It is intended for agents that need to find, browse, or retrieve poems using metadata and text rather than relying on manually opened web pages.

The server covers three functional areas: catalog information, search, and discovery. Catalog operations explain the available categories and tools. Search operations locate poems by author, title, words or phrases in their lines, exact line count, or several PoetryDB fields together. Discovery operations provide random poems, poems with 14 lines, poems with three lines, and lists of available titles or authors.

## How it works

The package communicates with the PoetryDB source API at `https://poetrydb.org` and presents the results as MCP tool calls. It uses stdio transport, so an MCP client starts the process locally and exchanges requests and responses through standard input and output. Authentication is not required.

Queries can be narrow or exploratory. An agent can first call the catalog tools to inspect the available operations, list authors or titles before choosing a target, or go directly to a search tool. `search_combined` supports requests that combine PoetryDB fields, such as an author with a specific line count. Search tools can also request selected fields, as shown by the example that returns only a poem’s title and line count.

## Setup and configuration

Install the published npm package globally with:

```bash
npm install -g mcp-poetry
```

A source checkout can instead install dependencies and build the project with `npm install` followed by `npm run build`. The package requires Node.js 18 or newer.

For Claude Desktop, configure an MCP server whose command is `npx` and whose argument is `-y mcp-poetry`. A local build can be launched with `node` and the absolute path to `dist/index.js`. The package is also published in the MCP Registry as `io.github.lacausecrypto/poetrydb`.

## Tools and capabilities

PoetryDB MCP Server MCP server provides these operations:

- `catalog_overview` lists categories and available tools.
- `catalog_category` shows tools within one category.
- `search_by_author` finds poems by author name.
- `search_by_title` finds a poem by title.
- `search_by_lines` searches text contained in poem lines.
- `search_by_linecount` matches an exact number of lines.
- `search_combined` queries multiple PoetryDB fields in one request.
- `list_authors` returns available authors.
- `random_poem` fetches one or more random poems.
- `get_sonnets` returns 14-line poems.
- `get_haikus` returns 3-line poems.
- `list_titles` returns poem titles.

These operations support workflows ranging from “find Ozymandias” to multi-step exploration that begins with the catalog and ends by retrieving a poem form.

## Limitations and notes

The server is an unofficial PoetryDB integration and is not affiliated with PoetryDB. Its content comes from PoetryDB, with attribution also given to the upstream PoetryDB project. No API key is needed. The implementation is designed as a compact stdio server rather than a custom integration with another poetry provider.

Three configuration variables are documented: `POETRYDB_BASE_URL`, `POETRYDB_REQUEST_TIMEOUT_MS`, and `POETRYDB_REQUEST_RETRIES`.

_Full upstream README: https://allmcps.com/mcp/poetrydb-mcp-server/readme_

