Skip to main content
Glama

Northwestern University Libraries Digital Collections API

Server Details

Agent integration with the Northwestern University Libraries Digital Collections API

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
nulib/dc-api-v2
GitHub Stars
15

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.8/5 across 8 of 8 tools scored.

Server CoherenceA
Disambiguation4/5

Each tool has a reasonably distinct purpose: metadata retrieval (get-work), collection listing (list-collections), general search, semantic similarity search, and four different viewer tools. Some overlap exists between search and similarity-search, but their descriptions clarify the difference. The viewer tools are clearly separated by what they display.

Naming Consistency3/5

Most tool names follow a verb_noun pattern (get-work, list-collections, view-work, etc.), but 'search' is a bare verb and 'similarity-search' is a reverse compound. Additionally, view-search-results references 'search-works' while the actual tool is named 'search', causing minor inconsistency.

Tool Count5/5

With 8 tools, the server is well-scoped for a digital collections API. The mix of metadata retrieval, search, and interactive viewing tools covers the core needs without being excessive. Each tool appears necessary and earns its place.

Completeness4/5

The read-only domain is well covered with work metadata retrieval, collection listing, search, similarity search, and viewers. Notable gaps include a dedicated 'get-collection' metadata tool (only an interactive viewer exists) and a direct way to list works within a collection, though search can partially compensate via field filters.

Available Tools

8 tools
get-workGet WorkB
Read-onlyIdempotent
Inspect

Retrieve the full metadata for a work from the NUL Digital Collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesThe ID of the work to retrieve
Behavior3/5

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

Annotations already signal readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that it retrieves 'full metadata' and specifies the source (NUL Digital Collections), which is useful but does not disclose additional behavioral details like pagination or response format.

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 a single sentence that directly states the tool's purpose with no redundant information. It is front-loaded and every word contributes meaning.

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

Completeness4/5

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

For a simple one-parameter retrieval with strong annotations and no output schema, the description adequately conveys the core behavior. It does not explain the difference from 'view-work', but that concern belongs more to usage guidance; overall it is sufficiently complete for its complexity.

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

Parameters3/5

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

The input schema fully describes the single required parameter 'work_id' with a clear description, achieving 100% coverage. The tool description adds no extra detail about parameters, so the baseline of 3 applies.

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

Purpose4/5

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

The description clearly states the action 'retrieve' and the resource 'full metadata for a work', making the purpose clear. However, it does not differentiate from the sibling tool 'view-work', which likely serves a similar purpose, so it misses the top score.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like 'view-work' or 'search'. The description provides no context for selecting this tool over siblings, falling into the 'no guidance' category.

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

list-collectionsList CollectionsB
Read-onlyIdempotent
Inspect

List collection records from the NUL Digital Collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page of search results to return
max_resultsNoThe maximum number of search results to return per page
public_onlyNoOnly include publicly available works in search results

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesThe search results returned from the Digital Collections API
infoYes
explainNoThe explain output from Elasticsearch for the search query. Only included if the MCP is running in debug mode.
paginationYes
aggregationsNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond identifying the resource source; it does not mention pagination, output format, or any constraints.

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 a single sentence with no redundant words. It opens with the action verb and immediately identifies the target resource, making it highly efficient.

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

Completeness3/5

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

Given the tool's simplicity and the presence of a full output schema and annotations, the description is adequate but minimal. It does not mention that results are paginated or that public_only filtering exists, which would be useful context for an agent, but those details are available in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (page, max_results, public_only) are already documented in the schema. The description does not add any additional parameter semantics or explain how they interact.

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

Purpose4/5

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

The description uses the specific verb 'List' and identifies the resource as 'collection records from the NUL Digital Collections.' It clearly states the function but does not explicitly differentiate from sibling tools like 'view-collection' or 'search'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it returns a paginated list, nor does it reference sibling tools like 'search' or 'view-collection' for other use cases.

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

view-collectionView CollectionA
Read-onlyIdempotent
Inspect

View a collection from the NUL Digital Collections in an interactive viewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesThe ID of the collection to view
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the 'interactive viewer' detail, which hints at the mode of interaction but does not elaborate on what that entails (e.g., whether it returns a URL, HTML, or triggers a UI). With annotations doing most of the work, the description adds modest behavioral context.

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 a single, front-loaded sentence that efficiently conveys the tool's purpose and context. Every word earns its place, with no redundancy or filler.

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

Completeness4/5

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

The tool is simple with one parameter and no output schema. The description covers the essential purpose and the interactive-viewer aspect. While it doesn't detail the exact return format, the simplicity and strong annotations make the description adequate for an agent to use it correctly. A small gap is the ambiguity around 'interactive viewer', but it does not undermine usability.

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

Parameters3/5

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

The input schema has 100% coverage for collection_id, with a clear description ('The ID of the collection to view'). The tool description adds no extra meaning beyond what the schema already provides, so it meets the baseline for high schema coverage.

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 the action ('View') and resource ('a collection'), adding context ('from the NUL Digital Collections') and a distinguishing feature ('in an interactive viewer'). This differentiates it from sibling tools like view-work or list-collections, which target different resources or modes.

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

Usage Guidelines3/5

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

The description implies usage through its verb and resource, but it does not explicitly state when to use this tool versus alternatives like list-collections or view-work. There is no mention of prerequisites, exclusions, or preferred contexts, leaving the guidance at an implied level.

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

view-search-resultsView Search ResultsA
Read-onlyIdempotent
Inspect

View results from the search-works tool in an interactive viewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page of search results to return
queryNoA natural language query. Best for exploratory / conceptual searches.
fieldsNoStructured field search. Best when searching for specific known items or values, or for narrowing a search by specifying particular fields to search within.
max_resultsNoThe maximum number of search results to return per page
public_onlyNoOnly include publicly available works in search results
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the 'interactive viewer' notion but does not disclose behavioral details such as pagination behavior, statefulness (e.g., requiring prior search results), or return format, which would be valuable since there is no output schema.

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 a single, direct sentence that front-loads the core purpose without any filler or redundancy. Every word contributes meaning, and it is appropriately sized for a simple viewing tool.

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

Completeness3/5

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

The schema documents all parameters thoroughly, and annotations cover safety characteristics. However, with no output schema, the description does not explain what the interactive viewer returns or whether prior search results are required. This leaves moderate gaps for a tool with nested parameters and a dependency on another tool.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema itself includes detailed descriptions for each parameter, including the nested 'fields' object and its many subfields. The tool description adds no parameter-specific information, so it relies on the schema, which is sufficient.

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 uses a specific verb ('View results') and a clear resource ('from the search-works tool'), which distinguishes this tool from siblings like 'search', 'view-work', and 'similarity-search'. It clearly states what the tool does and its relationship to the search workflow.

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

Usage Guidelines3/5

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

The description implies that this tool should be used after the search-works tool, but it does not explicitly state when to use it vs. alternatives or provide exclusions. The schema descriptions offer guidance on query vs. field searches, but the tool description itself does not provide this context.

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

view-similar-worksView Similar WorksA
Read-onlyIdempotent
Inspect

View results from the similarity-search tool in an interactive viewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page of search results to return
work_idYesID of a work to find similar items for.
max_resultsNoThe maximum number of search results to return per page
public_onlyNoOnly include publicly available works in search results
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds minimal behavioral context ('interactive viewer'), but does not disclose pagination behavior, return format, or any other traits beyond the annotations. No contradiction 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 a single, concise sentence that front-loads the action and resource. Every word contributes to the purpose, with no unnecessary elaboration or repetition of schema details.

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

Completeness3/5

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

Given the tool's simplicity and the richness of annotations and schema, the description is minimally sufficient but not fully complete. With no output schema, it doesn't describe what the viewer returns or how to interact with results, and it offers no guidance on pagination or filtering beyond what the schema states.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already well-documented. The description does not add new semantic meaning to the parameters (work_id, page, max_results, public_only), but the schema covers them adequately, justifying the baseline score.

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

Purpose4/5

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

The description clearly identifies the tool as viewing results from the similarity-search tool, using a specific verb ('View') and resource ('results from the similarity-search tool'). It differentiates from siblings like view-search-results by referencing similarity-search, though it doesn't explicitly contrast with other viewers.

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

Usage Guidelines4/5

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

The description provides clear context: this tool is for viewing results produced by the similarity-search tool. This implies the appropriate time to use it (after running a similarity search), but it doesn't explicitly exclude alternative viewers or mention when not to use it, stopping short of full guidance.

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

view-workView WorkA
Read-onlyIdempotent
Inspect

View a work from the NUL Digital Collections in an interactive viewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesThe ID of the work to view
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'interactive viewer' behavior, but does not disclose error behavior, loading states, or any requirements. It does not contradict annotations, but adds only minimal context beyond them.

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 a single, front-loaded, purposeful sentence. Every word adds value: 'View' (action), 'work from NUL Digital Collections' (scope), 'interactive viewer' (modality). No wasted or redundant phrasing.

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

Completeness4/5

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

This is a simple tool with one required parameter, no output schema, and non-destructive annotations. The description is sufficient for an agent to understand the tool's basic function. However, it lacks details about the viewer behavior, possible errors, or what the output looks like, but given the low complexity and rich annotations, it remains mostly complete.

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

Parameters3/5

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

The input schema has one parameter (work_id) with a description ('The ID of the work to view'), giving 100% schema coverage. The tool description adds no additional meaning to the parameter. Since coverage is high, the baseline of 3 is appropriate.

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 the action ('View'), the resource ('work'), and the specific context ('NUL Digital Collections', 'interactive viewer'). This distinguishes it from sibling tools like 'get-work' which likely retrieves metadata, and 'view-collection' which handles collections. It is a specific verb+resource statement.

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

Usage Guidelines3/5

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

Usage context is implied by the phrase 'interactive viewer' — this is for viewing works in a UI rather than retrieving raw data. However, there are no explicit 'when to use' or 'when not to use' instructions, and no comparison to alternatives like 'get-work' or 'view-search-results'. It is implied but not explicitly guided.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.