Agent integration with the Northwestern University Libraries Digital Collections API
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Retrieve the full metadata for a work from the NUL Digital Collections.
The ID of the work to retrieve
Retrieve the full metadata for a work from the NUL Digital Collections.
| Argument | Type | Description |
|---|---|---|
| work_id* | string | The ID of the work to retrieve |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"work_id"
],
"properties": {
"work_id": {
"type": "string",
"description": "The ID of the work to retrieve"
}
}
}List collection records from the NUL Digital Collections.
| Argument | Type | Description |
|---|---|---|
| page | number | The page of search results to return |
| max_results | number | The maximum number of search results to return per page |
| public_only | boolean | Only include publicly available works in search results |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "The page of search results to return"
},
"max_results": {
"type": "number",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "The maximum number of search results to return per page"
},
"public_only": {
"type": "boolean",
"default": true,
"description": "Only include publicly available works in search results"
}
}
}Search for works in the Digital Collections using field-based and/or natural language queries. If both a natural language query and specific field values are provided, the natural language query will take priority, using the specified field values as additional constraints. The result will also include a list of aggregations that show how many results match different values for certain fields. For example, you could see how many results match each collection, work type, or visibility and use that information to refine your search. Perform an empty search to retrieve all works and their aggregations. NOTE: Structured field values enclosed in double quotes will be treated as exact, case-sensitive matches, while unquoted values will be treated as full-text searches.
| Argument | Type | Description |
|---|---|---|
| page | number | The page of search results to return |
| query | string | A natural language query. Best for exploratory / conceptual searches. |
| fields | object | Structured field search. Best when searching for specific known items or values, or for narrowing a search by specifying particular fields to search within. |
| max_results | number | The maximum number of search results to return per page |
| public_only | boolean | Only include publicly available works in search results |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "The page of search results to return"
},
"query": {
"type": "string",
"description": "A natural language query. Best for exploratory / conceptual searches."
},
"fields": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Full text associated with the work"
},
"genre": {
"type": "string",
"description": "Describes what the original object is, not what it is about"
},
"notes": {
"type": "string",
"description": "Notes associated with the work"
},
"title": {
"type": "string",
"description": "The title of the work"
},
"caption": {
"type": "string",
"description": "The caption for a work"
},
"creator": {
"type": "string",
"description": "An entity primarily responsible for making the work"
},
"license": {
"enum": [
"All rights reserved",
"Attribution 3.0 United States",
"Attribution 4.0 International",
"Attribution-NoDerivatives 4.0 International",
"Attribution-NoDerivs 3.0 United States",
"Attribution-NonCommercial 3.0 United States",
"Attribution-NonCommercial 4.0 International",
"Attribution-NonCommercial-NoDerivatives 4.0 International",
"Attribution-NonCommercial-NoDerivs 3.0 United States",
"Attribution-NonCommercial-ShareAlike 3.0 United States",
"Attribution-NonCommercial-ShareAlike 4.0 International",
"Attribution-ShareAlike 3.0 United States",
"Attribution-ShareAlike 4.0 International",
"CC0 1.0 Universal",
"Public Domain Mark 1.0"
],
"type": "string",
"description": "The Creative Commons license for the work"
},
"subject": {
"type": "string",
"description": "The subject of the work"
},
"abstract": {
"type": "string",
"description": "A summary of the work"
},
"keywords": {
"type": "string",
"description": "Keywords or tags used to describe this content"
},
"language": {
"type": "string",
"description": "A language of the work"
},
"location": {
"type": "string",
"description": "Place of publication"
},
"publisher": {
"type": "string",
"description": "An entity responsible for making the work available"
},
"technique": {
"type": "string",
"description": "The technique used in the creation of the work"
},
"work_type": {
"enum": [
"Audio",
"Image",
"Video"
],
"type": "string",
"description": "The type of the work"
},
"collection": {
"type": "string",
"description": "The parent collection of the work"
},
"contributor": {
"type": "string",
"description": "An entity responsible for making contributions to the work"
},
"description": {
"type": "string",
"description": "An account of the work"
},
"library_unit": {
"enum": [
"Special Collections",
"Faculty Collections",
"Government and Geographic Information Collection",
"Herskovits Library",
"Music Library",
"Transportation Library",
"University Archives",
"University Main Library"
],
"type": "string",
"description": "The library unit responsible for the work"
},
"style_period": {
"type": "string",
"description": "A defined style, historical period, group, school, dynasty, movement, etc. whose characteristics are represented in the work."
},
"alternate_title": {
"type": "string",
"description": "Alternate titles for the work"
},
"controlled_terms": {
"type": "string",
"description": "All controlled terms associated with the work, across all fields. Useful for searching across all controlled fields simultaneously without specifying which field."
},
"rights_statement": {
"enum": [
"Copyright Not Evaluated",
"Copyright Undetermined",
"In Copyright",
"In Copyright - Educational Use Permitted",
"In Copyright - EU Orphan Work",
"In Copyright - Non-Commercial Use Permitted",
"In Copyright - Rights-holder(s) Unlocatable or Unidentifiable",
"No Copyright - Contractual Restrictions",
"No Copyright - Non-Commercial Use Only ",
"No Copyright - Other Known Legal Restrictions",
"No Copyright - United States",
"No Known Copyright"
],
"type": "string",
"description": "The rights statement of the work"
},
"table_of_contents": {
"type": "string",
"description": "Used to provide the titles of separate works or parts of a resource. Information provided may also contain statements of responsibility or other sequential designations."
}
},
"description": "Structured field search. Best when searching for specific known items or values, or for narrowing a search by specifying particular fields to search within."
},
"max_results": {
"type": "number",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "The maximum number of search results to return per page"
},
"public_only": {
"type": "boolean",
"default": true,
"description": "Only include publicly available works in search results"
}
},
"description": "Search for items in the Digital Collections using either a natural language query or specific field values. If both a natural language query and specific field values are provided, the search will return items that match the natural language query and have the specified field values."
}Find works that are similar to a given work. Uses semantic similarity based on work embeddings.
| Argument | Type | Description |
|---|---|---|
| page | number | The page of search results to return |
| work_id* | string | ID of a work to find similar items for. |
| max_results | number | The maximum number of search results to return per page |
| public_only | boolean | Only include publicly available works in search results |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"work_id"
],
"properties": {
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "The page of search results to return"
},
"work_id": {
"type": "string",
"description": "ID of a work to find similar items for."
},
"max_results": {
"type": "number",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "The maximum number of search results to return per page"
},
"public_only": {
"type": "boolean",
"default": true,
"description": "Only include publicly available works in search results"
}
}
}View a collection from the NUL Digital Collections in an interactive viewer.
| Argument | Type | Description |
|---|---|---|
| collection_id* | string | The ID of the collection to view |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"collection_id"
],
"properties": {
"collection_id": {
"type": "string",
"description": "The ID of the collection to view"
}
}
}View results from the search-works tool in an interactive viewer.
| Argument | Type | Description |
|---|---|---|
| page | number | The page of search results to return |
| query | string | A natural language query. Best for exploratory / conceptual searches. |
| fields | object | Structured field search. Best when searching for specific known items or values, or for narrowing a search by specifying particular fields to search within. |
| max_results | number | The maximum number of search results to return per page |
| public_only | boolean | Only include publicly available works in search results |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "The page of search results to return"
},
"query": {
"type": "string",
"description": "A natural language query. Best for exploratory / conceptual searches."
},
"fields": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Full text associated with the work"
},
"genre": {
"type": "string",
"description": "Describes what the original object is, not what it is about"
},
"notes": {
"type": "string",
"description": "Notes associated with the work"
},
"title": {
"type": "string",
"description": "The title of the work"
},
"caption": {
"type": "string",
"description": "The caption for a work"
},
"creator": {
"type": "string",
"description": "An entity primarily responsible for making the work"
},
"license": {
"enum": [
"All rights reserved",
"Attribution 3.0 United States",
"Attribution 4.0 International",
"Attribution-NoDerivatives 4.0 International",
"Attribution-NoDerivs 3.0 United States",
"Attribution-NonCommercial 3.0 United States",
"Attribution-NonCommercial 4.0 International",
"Attribution-NonCommercial-NoDerivatives 4.0 International",
"Attribution-NonCommercial-NoDerivs 3.0 United States",
"Attribution-NonCommercial-ShareAlike 3.0 United States",
"Attribution-NonCommercial-ShareAlike 4.0 International",
"Attribution-ShareAlike 3.0 United States",
"Attribution-ShareAlike 4.0 International",
"CC0 1.0 Universal",
"Public Domain Mark 1.0"
],
"type": "string",
"description": "The Creative Commons license for the work"
},
"subject": {
"type": "string",
"description": "The subject of the work"
},
"abstract": {
"type": "string",
"description": "A summary of the work"
},
"keywords": {
"type": "string",
"description": "Keywords or tags used to describe this content"
},
"language": {
"type": "string",
"description": "A language of the work"
},
"location": {
"type": "string",
"description": "Place of publication"
},
"publisher": {
"type": "string",
"description": "An entity responsible for making the work available"
},
"technique": {
"type": "string",
"description": "The technique used in the creation of the work"
},
"work_type": {
"enum": [
"Audio",
"Image",
"Video"
],
"type": "string",
"description": "The type of the work"
},
"collection": {
"type": "string",
"description": "The parent collection of the work"
},
"contributor": {
"type": "string",
"description": "An entity responsible for making contributions to the work"
},
"description": {
"type": "string",
"description": "An account of the work"
},
"library_unit": {
"enum": [
"Special Collections",
"Faculty Collections",
"Government and Geographic Information Collection",
"Herskovits Library",
"Music Library",
"Transportation Library",
"University Archives",
"University Main Library"
],
"type": "string",
"description": "The library unit responsible for the work"
},
"style_period": {
"type": "string",
"description": "A defined style, historical period, group, school, dynasty, movement, etc. whose characteristics are represented in the work."
},
"alternate_title": {
"type": "string",
"description": "Alternate titles for the work"
},
"controlled_terms": {
"type": "string",
"description": "All controlled terms associated with the work, across all fields. Useful for searching across all controlled fields simultaneously without specifying which field."
},
"rights_statement": {
"enum": [
"Copyright Not Evaluated",
"Copyright Undetermined",
"In Copyright",
"In Copyright - Educational Use Permitted",
"In Copyright - EU Orphan Work",
"In Copyright - Non-Commercial Use Permitted",
"In Copyright - Rights-holder(s) Unlocatable or Unidentifiable",
"No Copyright - Contractual Restrictions",
"No Copyright - Non-Commercial Use Only ",
"No Copyright - Other Known Legal Restrictions",
"No Copyright - United States",
"No Known Copyright"
],
"type": "string",
"description": "The rights statement of the work"
},
"table_of_contents": {
"type": "string",
"description": "Used to provide the titles of separate works or parts of a resource. Information provided may also contain statements of responsibility or other sequential designations."
}
},
"description": "Structured field search. Best when searching for specific known items or values, or for narrowing a search by specifying particular fields to search within."
},
"max_results": {
"type": "number",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "The maximum number of search results to return per page"
},
"public_only": {
"type": "boolean",
"default": true,
"description": "Only include publicly available works in search results"
}
},
"description": "Search for items in the Digital Collections using either a natural language query or specific field values. If both a natural language query and specific field values are provided, the search will return items that match the natural language query and have the specified field values."
}View results from the similarity-search tool in an interactive viewer.
| Argument | Type | Description |
|---|---|---|
| page | number | The page of search results to return |
| work_id* | string | ID of a work to find similar items for. |
| max_results | number | The maximum number of search results to return per page |
| public_only | boolean | Only include publicly available works in search results |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"work_id"
],
"properties": {
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "The page of search results to return"
},
"work_id": {
"type": "string",
"description": "ID of a work to find similar items for."
},
"max_results": {
"type": "number",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "The maximum number of search results to return per page"
},
"public_only": {
"type": "boolean",
"default": true,
"description": "Only include publicly available works in search results"
}
}
}View a work from the NUL Digital Collections in an interactive viewer.
| Argument | Type | Description |
|---|---|---|
| work_id* | string | The ID of the work to view |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"work_id"
],
"properties": {
"work_id": {
"type": "string",
"description": "The ID of the work to view"
}
}
}