Northwestern University Libraries Digital Collections API

Agent integration with the Northwestern University Libraries Digital Collections API

我該用這個嗎

品質與安全性

A
說明品質
90%
結構描述完整度
96%
命名品質
61%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(9)

  • LOWTool 'view-work' description lacks action verb在 view-work 中
  • LOWTool 'view-collection' description lacks action verb在 view-collection 中
  • LOWTool 'get-work' doesn't follow camelCase/snake_case在 get-work 中
  • LOWTool 'list-collections' doesn't follow camelCase/snake_case在 list-collections 中
  • LOWTool 'similarity-search' doesn't follow camelCase/snake_case在 similarity-search 中
  • LOWTool 'view-work' doesn't follow camelCase/snake_case在 view-work 中
  • LOWTool 'view-collection' doesn't follow camelCase/snake_case在 view-collection 中
  • LOWTool 'view-search-results' doesn't follow camelCase/snake_case在 view-search-results 中
  • LOWTool 'view-similar-works' doesn't follow camelCase/snake_case在 view-similar-works 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,583Token(工具定義)
~7.0 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.58%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "dc-api": {
      "command": "npx",
      "args": [
        "@nulib/dc-api-mcp"
      ]
    }
  }
}

可執行的套件

npm@nulib/dc-api-mcp2.11.15stdio

遠端端點

https://api.dc.library.northwestern.edu/api/v2/mcpstreamable-http

它能做什麼

工具清單

工具(8)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search(query, fields, public_only, max_results, page)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "A natural language query. Best for exploratory / conceptual searches.",
      "type": "string"
    },
    "fields": {
      "type": "object",
      "properties": {
        "abstract": {
          "description": "A summary of the work",
          "type": "string"
        },
        "alternate_title": {
          "description": "Alternate titles for the work",
          "type": "string"
        },
        "caption": {
          "description": "The caption for a work",
          "type": "string"
        },
        "collection": {
          "description": "The parent collection of the work",
          "type": "string"
        },
        "contributor": {
          "description": "An entity responsible for making contributions to the work",
          "type": "string"
        },
        "creator": {
          "description": "An entity primarily responsible for making the work",
          "type": "string"
        },
        "description": {
          "description": "An account of the work",
          "type": "string"
        },
        "genre": {
          "description": "Describes what the original object is, not what it is about",
          "type": "string"
        },
        "keywords": {
          "description": "Keywords or tags used to describe this content",
          "type": "string"
        },
        "language": {
          "description": "A language of the work",
          "type": "string"
        },
        "library_unit": {
          "description": "The library unit responsible for the work",
          "type": "string",
          "enum": [
            "Special Collections",
            "Faculty Collections",
            "Government and Geographic Information Collection",
            "Herskovits Library",
            "Music Library",
            "Transportation Library",
            "University Archives",
            "University Main Library"
          ]
        },
        "license": {
          "description": "The Creative Commons license for the work",
          "type": "string",
          "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"
          ]
        },
        "location": {
          "description": "Place of publication",
          "type": "string"
        },
        "notes": {
          "description": "Notes associated with the work",
          "type": "string"
        },
        "publisher": {
          "description": "An entity responsible for making the work available",
          "type": "string"
        },
        "rights_statement": {
          "description": "The rights statement of the work",
          "type": "string",
          "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"
          ]
        },
        "style_period": {
          "description": "A defined style, historical period, group, school, dynasty, movement, etc. whose characteristics are represented in the work.",
          "type": "string"
        },
        "subject": {
          "description": "The subject of the work",
          "type": "string"
        },
        "table_of_contents": {
          "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.",
          "type": "string"
        },
        "technique": {
          "description": "The technique used in the creation of the work",
          "type": "string"
        },
        "title": {
          "description": "The title of the work",
          "type": "string"
        },
        "work_type": {
          "description": "The type of the work",
          "type": "string",
          "enum": [
            "Audio",
            "Image",
            "Video"
          ]
        },
        "text": {
          "description": "Full text associated with the work",
          "type": "string"
        },
        "controlled_terms": {
          "description": "All controlled terms associated with the work, across all fields. Useful for searching across all controlled fields simultaneously without specifying which field.",
          "type": "string"
        }
      },
      "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."
    },
    "public_only": {
      "default": true,
      "type": "boolean",
      "description": "Only include publicly available works in search results"
    },
    "max_results": {
      "default": 10,
      "description": "The maximum number of search results to return per page",
      "type": "number",
      "minimum": 1,
      "maximum": 20
    },
    "page": {
      "default": 1,
      "description": "The page of search results to return",
      "type": "number",
      "minimum": 1
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "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."
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the search result item"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The title of the search result item"
          },
          "description": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A brief description of the search result item"
          },
          "thumbnail": {
            "type": "string",
            "format": "uri",
            "description": "A URL to a thumbnail image representing the search result item"
          },
          "collection": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "The title of the collection the search result item belongs to"
              }
            },
            "required": [
              "title"
            ],
            "additionalProperties": false
          },
          "iiif_manifest": {
            "type": "string",
            "format": "uri",
            "description": "A URL to the IIIF manifest for the search result item"
          },
          "visibility": {
            "type": "string",
            "enum": [
              "Public",
              "Private",
              "Institution"
            ],
            "description": "Whether the item is publicly accessible"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "thumbnail",
          "collection",
          "iiif_manifest",
          "visibility"
        ],
        "additionalProperties": false
      },
      "description": "The search results returned from the Digital Collections API"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "current_page": {
          "type": "number",
          "description": "The current page of search results"
        },
        "limit": {
          "type": "number",
          "description": "The maximum number of search results returned per page"
        },
        "total_hits": {
          "type": "number",
          "description": "The total number of search results"
        },
        "total_pages": {
          "type": "number",
          "description": "The total number of pages of search results"
        }
      },
      "required": [
        "current_page",
        "limit",
        "total_hits",
        "total_pages"
      ],
      "additionalProperties": false
    },
    "info": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the API endpoint"
        },
        "description": {
          "type": "string",
          "description": "A description of the API endpoint"
        },
        "version": {
          "type": "string",
          "description": "The version of the API endpoint"
        }
      },
      "required": [
        "name",
        "description",
        "version"
      ],
      "additionalProperties": false
    },
    "aggregations": {},
    "explain": {
      "description": "The explain output from Elasticsearch for the search query. Only included if the MCP is running in debug mode."
    }
  },
  "required": [
    "data",
    "pagination",
    "info"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get-work(work_id)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "work_id": {
      "type": "string",
      "description": "The ID of the work to retrieve"
    }
  },
  "required": [
    "work_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list-collections(public_only, max_results, page)

List collection records from the NUL Digital Collections.

輸入結構描述

{
  "type": "object",
  "properties": {
    "public_only": {
      "default": true,
      "type": "boolean",
      "description": "Only include publicly available works in search results"
    },
    "max_results": {
      "default": 10,
      "description": "The maximum number of search results to return per page",
      "type": "number",
      "minimum": 1,
      "maximum": 20
    },
    "page": {
      "default": 1,
      "description": "The page of search results to return",
      "type": "number",
      "minimum": 1
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the search result item"
          },
          "title": {
            "type": "string",
            "description": "The title of the search result item"
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "A brief description of the search result item"
              },
              {
                "type": "null"
              }
            ]
          },
          "thumbnail": {
            "type": "string",
            "format": "uri",
            "description": "A URL to a thumbnail image representing the search result item"
          },
          "iiif_collection": {
            "type": "string",
            "format": "uri",
            "description": "A URL to the IIIF collection for the search result item"
          },
          "visibility": {
            "type": "string",
            "enum": [
              "Public",
              "Private",
              "Institution"
            ],
            "description": "Whether the item is publicly accessible"
          }
        },
        "required": [
          "id",
          "title",
          "thumbnail",
          "iiif_collection",
          "visibility"
        ],
        "additionalProperties": false
      },
      "description": "The search results returned from the Digital Collections API"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "current_page": {
          "type": "number",
          "description": "The current page of search results"
        },
        "limit": {
          "type": "number",
          "description": "The maximum number of search results returned per page"
        },
        "total_hits": {
          "type": "number",
          "description": "The total number of search results"
        },
        "total_pages": {
          "type": "number",
          "description": "The total number of pages of search results"
        }
      },
      "required": [
        "current_page",
        "limit",
        "total_hits",
        "total_pages"
      ],
      "additionalProperties": false
    },
    "info": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the API endpoint"
        },
        "description": {
          "type": "string",
          "description": "A description of the API endpoint"
        },
        "version": {
          "type": "string",
          "description": "The version of the API endpoint"
        }
      },
      "required": [
        "name",
        "description",
        "version"
      ],
      "additionalProperties": false
    },
    "aggregations": {},
    "explain": {
      "description": "The explain output from Elasticsearch for the search query. Only included if the MCP is running in debug mode."
    }
  },
  "required": [
    "data",
    "pagination",
    "info"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢similarity-search(work_id, public_only, max_results, page)

Find works that are similar to a given work. Uses semantic similarity based on work embeddings.

輸入結構描述

{
  "type": "object",
  "properties": {
    "work_id": {
      "type": "string",
      "description": "ID of a work to find similar items for."
    },
    "public_only": {
      "default": true,
      "type": "boolean",
      "description": "Only include publicly available works in search results"
    },
    "max_results": {
      "default": 10,
      "description": "The maximum number of search results to return per page",
      "type": "number",
      "minimum": 1,
      "maximum": 20
    },
    "page": {
      "default": 1,
      "description": "The page of search results to return",
      "type": "number",
      "minimum": 1
    }
  },
  "required": [
    "work_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the search result item"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The title of the search result item"
          },
          "description": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A brief description of the search result item"
          },
          "thumbnail": {
            "type": "string",
            "format": "uri",
            "description": "A URL to a thumbnail image representing the search result item"
          },
          "collection": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "The title of the collection the search result item belongs to"
              }
            },
            "required": [
              "title"
            ],
            "additionalProperties": false
          },
          "iiif_manifest": {
            "type": "string",
            "format": "uri",
            "description": "A URL to the IIIF manifest for the search result item"
          },
          "visibility": {
            "type": "string",
            "enum": [
              "Public",
              "Private",
              "Institution"
            ],
            "description": "Whether the item is publicly accessible"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "thumbnail",
          "collection",
          "iiif_manifest",
          "visibility"
        ],
        "additionalProperties": false
      },
      "description": "The search results returned from the Digital Collections API"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "current_page": {
          "type": "number",
          "description": "The current page of search results"
        },
        "limit": {
          "type": "number",
          "description": "The maximum number of search results returned per page"
        },
        "total_hits": {
          "type": "number",
          "description": "The total number of search results"
        },
        "total_pages": {
          "type": "number",
          "description": "The total number of pages of search results"
        }
      },
      "required": [
        "current_page",
        "limit",
        "total_hits",
        "total_pages"
      ],
      "additionalProperties": false
    },
    "info": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the API endpoint"
        },
        "description": {
          "type": "string",
          "description": "A description of the API endpoint"
        },
        "version": {
          "type": "string",
          "description": "The version of the API endpoint"
        }
      },
      "required": [
        "name",
        "description",
        "version"
      ],
      "additionalProperties": false
    },
    "aggregations": {},
    "explain": {
      "description": "The explain output from Elasticsearch for the search query. Only included if the MCP is running in debug mode."
    }
  },
  "required": [
    "data",
    "pagination",
    "info"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢view-work(work_id)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "work_id": {
      "type": "string",
      "description": "The ID of the work to view"
    }
  },
  "required": [
    "work_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "iiifContentUrl": {
      "type": "string",
      "format": "uri",
      "description": "A URL to a IIIF manifest or collection"
    }
  },
  "required": [
    "iiifContentUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢view-collection(collection_id)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "collection_id": {
      "type": "string",
      "description": "The ID of the collection to view"
    }
  },
  "required": [
    "collection_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "iiifContentUrl": {
      "type": "string",
      "format": "uri",
      "description": "A URL to a IIIF manifest or collection"
    }
  },
  "required": [
    "iiifContentUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢view-search-results(query, fields, public_only, max_results, page)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "A natural language query. Best for exploratory / conceptual searches.",
      "type": "string"
    },
    "fields": {
      "type": "object",
      "properties": {
        "abstract": {
          "description": "A summary of the work",
          "type": "string"
        },
        "alternate_title": {
          "description": "Alternate titles for the work",
          "type": "string"
        },
        "caption": {
          "description": "The caption for a work",
          "type": "string"
        },
        "collection": {
          "description": "The parent collection of the work",
          "type": "string"
        },
        "contributor": {
          "description": "An entity responsible for making contributions to the work",
          "type": "string"
        },
        "creator": {
          "description": "An entity primarily responsible for making the work",
          "type": "string"
        },
        "description": {
          "description": "An account of the work",
          "type": "string"
        },
        "genre": {
          "description": "Describes what the original object is, not what it is about",
          "type": "string"
        },
        "keywords": {
          "description": "Keywords or tags used to describe this content",
          "type": "string"
        },
        "language": {
          "description": "A language of the work",
          "type": "string"
        },
        "library_unit": {
          "description": "The library unit responsible for the work",
          "type": "string",
          "enum": [
            "Special Collections",
            "Faculty Collections",
            "Government and Geographic Information Collection",
            "Herskovits Library",
            "Music Library",
            "Transportation Library",
            "University Archives",
            "University Main Library"
          ]
        },
        "license": {
          "description": "The Creative Commons license for the work",
          "type": "string",
          "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"
          ]
        },
        "location": {
          "description": "Place of publication",
          "type": "string"
        },
        "notes": {
          "description": "Notes associated with the work",
          "type": "string"
        },
        "publisher": {
          "description": "An entity responsible for making the work available",
          "type": "string"
        },
        "rights_statement": {
          "description": "The rights statement of the work",
          "type": "string",
          "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"
          ]
        },
        "style_period": {
          "description": "A defined style, historical period, group, school, dynasty, movement, etc. whose characteristics are represented in the work.",
          "type": "string"
        },
        "subject": {
          "description": "The subject of the work",
          "type": "string"
        },
        "table_of_contents": {
          "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.",
          "type": "string"
        },
        "technique": {
          "description": "The technique used in the creation of the work",
          "type": "string"
        },
        "title": {
          "description": "The title of the work",
          "type": "string"
        },
        "work_type": {
          "description": "The type of the work",
          "type": "string",
          "enum": [
            "Audio",
            "Image",
            "Video"
          ]
        },
        "text": {
          "description": "Full text associated with the work",
          "type": "string"
        },
        "controlled_terms": {
          "description": "All controlled terms associated with the work, across all fields. Useful for searching across all controlled fields simultaneously without specifying which field.",
          "type": "string"
        }
      },
      "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."
    },
    "public_only": {
      "default": true,
      "type": "boolean",
      "description": "Only include publicly available works in search results"
    },
    "max_results": {
      "default": 10,
      "description": "The maximum number of search results to return per page",
      "type": "number",
      "minimum": 1,
      "maximum": 20
    },
    "page": {
      "default": 1,
      "description": "The page of search results to return",
      "type": "number",
      "minimum": 1
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "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."
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "iiifContentUrl": {
      "type": "string",
      "format": "uri",
      "description": "A URL to a IIIF manifest or collection"
    }
  },
  "required": [
    "iiifContentUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢view-similar-works(work_id, public_only, max_results, page)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "work_id": {
      "type": "string",
      "description": "ID of a work to find similar items for."
    },
    "public_only": {
      "default": true,
      "type": "boolean",
      "description": "Only include publicly available works in search results"
    },
    "max_results": {
      "default": 10,
      "description": "The maximum number of search results to return per page",
      "type": "number",
      "minimum": 1,
      "maximum": 20
    },
    "page": {
      "default": 1,
      "description": "The page of search results to return",
      "type": "number",
      "minimum": 1
    }
  },
  "required": [
    "work_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "iiifContentUrl": {
      "type": "string",
      "format": "uri",
      "description": "A URL to a IIIF manifest or collection"
    }
  },
  "required": [
    "iiifContentUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本8 個工具
已驗證未記錄版本8 個工具