worldcat-mcp-server
by SMABoundless
README.md
# WorldCat MCP Server
An MCP (Model Context Protocol) server for searching [WorldCat](https://www.worldcat.org/), the world's largest library catalog — 500M+ records from 100,000+ libraries worldwide.
Built with [FastMCP](https://github.com/modelcontextprotocol/python-sdk) and the WorldCat Discovery API v2.
## Tools
| Tool | Description |
|------|-------------|
| `worldcat_search` | Search by keyword, title, author, subject, ISBN, ISSN, OCLC number, or advanced CQL |
| `worldcat_get_record` | Get full bibliographic record with LCSH, LC/Dewey classification, physical description |
| `worldcat_get_editions` | Find other editions and formats of a work (hardcover, ebook, translations) |
| `worldcat_get_citations` | Get formatted citations in APA, Chicago, Harvard, MLA, and Turabian |
| `worldcat_search_by_subject` | Search specifically by Library of Congress Subject Headings |
| `worldcat_export_ris` | Export results as RIS (for Zotero, EndNote, etc.) |
| `worldcat_export_bibtex` | Export results as BibTeX |
## Rich metadata
Records include:
- Library of Congress Subject Headings (LCSH)
- LC Classification and Dewey Decimal numbers
- Physical descriptions, edition statements
- Publisher, place, and date
- ISBN, ISSN, LCCN, OCLC numbers
- Summaries/abstracts and table of contents
- Online access URLs
- Edition counts across libraries
## Setup
### 1. Get WorldCat API credentials
You need a WSKey with `wcapi` scope from the [OCLC Developer Network](https://platform.worldcat.org/wskey/). Institutional access through a library is typically required.
### 2. Install
```bash
cd worldcat-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
### 3. Add to Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"worldcat": {
"command": "/path/to/worldcat-mcp-server/venv/bin/python",
"args": ["/path/to/worldcat-mcp-server/server.py"],
"env": {
"WORLDCAT_API_KEY": "your-wskey",
"WORLDCAT_API_SECRET": "your-wskey-secret"
}
}
}
}
```
Or if using Claude Code CLI:
```bash
claude mcp add worldcat \
/path/to/worldcat-mcp-server/venv/bin/python \
/path/to/worldcat-mcp-server/server.py \
-e WORLDCAT_API_KEY=your-wskey \
-e WORLDCAT_API_SECRET=your-wskey-secret
```
## Usage examples
- "Search WorldCat for books on the history of jazz"
- "Find the full record for OCLC number 1234567890"
- "What other editions exist for this book?"
- "Get an APA citation for this WorldCat record"
- "Search by LCSH subject heading 'African Americans -- History'"
- "Export these results as RIS for Zotero"
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues