Search the Wake County Public Library catalog for books, media, and other materials using keywords, titles, or authors.
Search library catalogs: Query for books, DVDs, audiobooks, and other materials using keywords, titles, or author names
Flexible search scope: Choose between searching only Wake County libraries or all NC Cardinal libraries across North Carolina
Detailed results: Get comprehensive information including title, author, format, publication year, availability status, direct catalog links, and cover images
Configurable results: Control the number of results returned (default: 10)
MCP integration: Works with Claude Desktop and other MCP-compatible applications, providing structured JSON output for easy integration
Wake County Public Library MCP Server
A Model Context Protocol (MCP) server that provides search capabilities for the Wake County Public Library catalog.
Built with Python using the official MCP Python SDK and uv for dependency management.
Features
Search the Wake County Public Library catalog
Search local Wake County catalog or all NC Cardinal libraries
Returns detailed information including:
Title
Author
Format (book, DVD, audiobook, etc.)
Publication year
Availability status
Direct links to catalog entries
Cover images
Prerequisites
Python 3.12 or higher
uv - Fast Python package manager
Installing uv
Installation
Usage
With Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Replace /absolute/path/to/mcp-wcpl with the actual path to this project directory.
Running Directly
You can also run the server directly for testing:
Available Tools
search_library
Search the Wake County Public Library catalog.
Parameters:
query(string, required): The search term (book title, author, keyword, etc.)searchSource(string, optional):"local"(default) - Search only Wake County catalog"all"- Search all NC Cardinal libraries
limit(number, optional): Maximum number of results to return (default: 10)
Example:
Response:
Returns an array of search results with the following structure:
Development
Testing
Run the test suite:
The test suite will include:
Unit tests for HTML parsing logic
Integration tests for search functionality with mocked HTTP requests
Tests for MCP server tool interface
Error handling tests
Adding Dependencies
Project Structure
How It Works
The server will:
Construct search URLs for the Wake County library catalog
Fetch search results using httpx with appropriate HTTP headers
Parse the HTML response using BeautifulSoup4
Extract relevant book information from the results
Return structured JSON data via the MCP protocol
License
MIT