Skip to main content
Glama
library-api

libraryapi-mcp

Official
by library-api

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LIBRARYAPI_KEYYesYour API key for libraryapi.dev. Get a free key at https://libraryapi.dev

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_libraries_near_addressA

Find the public library branches nearest to a US street address, sorted by distance.

Args: address: Full US street address, e.g. "350 Fifth Ave, New York, NY" radius_miles: Search radius in miles (0.1–50, default 10) limit: Maximum branches to return (1–100, default 10) include_closed: Include temporarily-closed branches (default False)

find_libraries_near_coordinatesA

Find the public library branches nearest to a latitude/longitude, sorted by distance. Use this when you already have coordinates; it skips geocoding and is faster than find_libraries_near_address.

Args: lat: Latitude (WGS84) lng: Longitude (WGS84) radius_miles: Search radius in miles (0.1–50, default 10) limit: Maximum branches to return (1–100, default 10) include_closed: Include temporarily-closed branches (default False)

get_outletA

Get the full record for one library branch (outlet) by its ID, including address, phone, coordinates, and service details.

Args: outlet_id: IMLS outlet ID

search_librariesA

Search public library systems by name, state, and/or city. A system is the administrative entity (e.g. "Chicago Public Library") that operates one or more branch outlets. Provide at least one of name, state, or city.

Args: name: Library system name (full-text search) state: Two-letter state code, e.g. "IL" city: City name (substring match) limit: Results per page (1–100, default 20) offset: Pagination offset (default 0)

get_libraryA

Get the full profile for a library system by its FSCS ID, including collections, staffing, visits, programs, and finances.

Args: fscs_id: IMLS FSCS ID for the library system, e.g. "IL0021"

get_state_summaryA

Get statewide public library totals — systems, branch outlets, collections, and usage — for one state.

Args: state_code: Two-letter state abbreviation, e.g. "IL"

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose: get_library fetches system-level data by ID, get_outlet fetches branch-level data, search_libraries finds systems by criteria, find_libraries_near_address/coordinates handle geolocation, and get_state_summary provides aggregates. No two tools overlap in a way that would confuse an agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (get_, find_, search_). The naming is predictable and clearly indicates the action and target resource.

Tool Count5/5

Six tools is well-scoped for a library data API. Each tool covers a distinct query pattern (lookup by ID, search, geospatial, summary) without unnecessary redundancy or bloat.

Completeness5/5

The tool surface covers the core domain tasks: retrieving individual records (library, outlet), searching for systems, finding nearby branches by address or coordinates, and getting statewide summaries. This is a complete set for the apparent purpose of accessing public library statistics and locations.

Maintenance

ActivitySlowing
ResponsivenessNo issues