# LibraryAPI [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/library-api/libraryapi-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/libraryapi

## Description
US public libraries and branches near any address, with collections from the IMLS survey

## Tools
Capabilities this server exposes over MCP:

- **find_libraries_near_address** — Find the nearest branches to a US street address
- **find_libraries_near_coordinates** — Same, but from a lat/lng (skips geocoding)
- **get_outlet** — Full record for one branch outlet by ID
- **search_libraries** — Search library *systems* by name, state, or city
- **get_library** — Full system profile by FSCS ID
- **get_state_summary** — Statewide library totals

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

```json
"mcpServers": {
  "libraryapi": {
    "command": "uvx",
    "args": ["libraryapi-mcp"],
    "env": {
      "LIBRARYAPI_KEY": ""
    }
  }
}
```

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

## Documentation

## What the LibraryAPI MCP server does

The LibraryAPI MCP server connects MCP-compatible AI assistants to US public library data provided through libraryapi.dev. Its data is based on the federal Institute of Museum and Library Services (IMLS) Public Libraries Survey, which is public domain and commercially usable.

The service distinguishes between library systems and outlets. A system is the administrative organization, such as a citywide public library organization. An outlet is an individual branch. Nearby searches return outlets, while name, state, and city searches operate on systems.

Use the LibraryAPI MCP server to answer location and reference questions such as which branches are closest to an address, how many libraries a state has, or what collection information is recorded for a library system. It can also support applications that need branch records returned as structured data.

## How it works

The server exposes libraryapi.dev operations as MCP tools for an AI assistant. Nearby searches accept either a US street address or latitude and longitude. The coordinate-based option avoids geocoding, while the address-based option resolves a street address before finding nearby branches.

System searches can filter library organizations by name, state, or city. Once a system or outlet identifier is known, separate tools return its full available record. State summaries provide statewide library totals.

The underlying survey includes locations, collections, staffing, visits, programs, and finances. It records total hours open annually and per week, but it does not provide daily schedules. Therefore, the LibraryAPI MCP server may report that a branch is open about 45 hours per week, but it cannot establish that the branch opens at 9 a.m. on a particular day.

## Setup and configuration

Install the package from PyPI with pip, or run it without a persistent installation through uvx:

- `pip install libraryapi-mcp`
- `uvx libraryapi-mcp`

Configure the MCP client to start `uvx` with `libraryapi-mcp` as its argument. Add the `LIBRARYAPI_KEY` environment variable to that configuration. The key is available from libraryapi.dev; the documented free tier allows 500 requests per month and does not require a credit card.

The README provides configuration examples for Claude Desktop and Cursor, and the server is intended for MCP-compatible assistants generally. Its standard command-based setup lets the client launch the process locally.

## Tools and capabilities

The LibraryAPI MCP server exposes six tools:

- `find_libraries_near_address` finds nearby branch outlets from a US street address.
- `find_libraries_near_coordinates` finds nearby branch outlets from latitude and longitude without geocoding.
- `get_outlet` retrieves the complete record for one branch outlet by ID.
- `search_libraries` searches library systems by name, state, or city.
- `get_library` retrieves a complete library-system profile by FSCS ID.
- `get_state_summary` returns statewide library totals.

Together, these tools cover proximity lookup, system discovery, record retrieval, and state-level aggregation. They are suitable for conversational questions, structured lookups, and civic applications that need US public library data.

## Limitations and notes

Coverage and fields come from the IMLS Public Libraries Survey, so results reflect that survey rather than live branch operations. In particular, daily opening and closing times are not available through the documented data. The API key is required for the configured service, and the free plan has a stated monthly limit of 500 requests.

The data model also matters when interpreting results: a nearby result identifies an outlet, whereas a system profile describes the administrative library organization. Use the outlet tool for branch-level details and the library tool for system-level details.

_Full upstream README: https://allmcps.com/mcp/libraryapi/readme_

