Skip to main content
Glama
smeet666

mcp-libraryofcongress

Search the catalogue

search_items
Read-onlyIdempotent

Search the Library of Congress catalog across books, photos, maps, recordings, and more. Filter by subject, language, year, or location to find digitized items.

Instructions

Search the Library of Congress catalogue: books, photographs, maps, recordings, films, manuscripts, sheet music and newspaper titles. 'media_type' is required, because the Library keeps a separate catalogue for each kind of thing. This matches titles, creators and catalogue descriptions. It does not read the text inside a scan; use search_newspapers for a phrase printed on a newspaper page. Filters take the words the Library itself uses: 'subject' and 'location' as the rows here spell them, 'language' written in English, 'collection' as list_collections reports it under 'collection_filter'. A filter matching nothing is set aside and the search asked again without it; the answer names what was dropped, and the count it reports is then the unfiltered search's. By default only material with a digitised copy is returned; set 'online_only' to false to take in records the Library holds on a shelf alone. A row carries an 'identifier' get_item takes when it names a record. A row that is a collection the Library gathered names no record: 'is_collection' is true there, 'identifier' is null, and 'source_url' opens the collection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoOrder of the results.relevance
limitNo
queryYesWords to look for in titles, creators and catalogue descriptions. The catalogue index holds no word of a single letter, so at least one word has to run to two letters or more, unless it is written in a script where one character is a word.
subjectNoA subject heading, such as 'crime'.
year_toNoLatest year, inclusive.
languageNoA language, written in English: 'english'.
locationNoA place, such as 'oklahoma'.
year_fromNoEarliest year, inclusive.
collectionNoA collection, named exactly as list_collections reports it under 'collection_filter'.
media_typeYesWhich catalogue to search: books, photos, maps, audio, film-and-videos, manuscripts, notated-music or newspapers. 'newspapers' holds the papers themselves; a phrase printed on a page belongs in search_newspapers.
online_onlyNoKeep to material with a digitised copy. Set false to include shelf-only records.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYes
itemsYes
notesYes
queryYes
totalYesRecords matching across this catalogue for the search the rows come from, not the number returned. A filter that matched nothing is set aside, and this then counts the search without it, which the notes name.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite having annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint), the description delivers significant additional behavioral context: filter fallback behavior, online_only default, the distinction between records and collections, and how identifiers work. It also explicitly states what the tool does NOT do (does not read text-inside-scans), which is valuable. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place by adding unique, non-redundant behavioral detail. It is front-loaded with the core purpose and then systematically addresses caveats, alternatives, and edge cases. No fluff or repetition of schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the parameter count (12) and presence of an output schema, the description covers essential context: required media_type, exact filter terms, fallback filtering, digitized-copy default, and how to interpret collection rows. It also references sibling tools appropriately. The description is complete enough for an agent to use the tool effectively without surprise.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description enriches schema understanding with practical semantics: media_type required due to separate catalogues, filters must use exact Library vocabulary, behavior when a filter matches nothing, and the meaning of online_only. It also clarifies that rows with is_collection have null identifier and use source_url, going beyond the basic schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches the Library of Congress catalogue with a specific list of material types, and explicitly distinguishes itself from sibling search_newspapers by noting it does not read text inside scans. The verb 'search' plus resource 'Library of Congress catalogue' and scope makes the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool vs search_newspapers, explains why media_type is required, and details special behaviors like filter matching (or being dropped) and online_only default. It even instructs users on how to handle collection rows versus record rows, leaving little ambiguity about usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smeet666/mcp-libraryofcongress'

If you have feedback or need assistance with the MCP directory API, please join our Discord server