MCPサーバー

Video History Project

org.videohistoryproject/research

このMCPでできること

Searches and reads public experimental video-history records, follows related sources, and exports publication or page citations.

describe_collection
Describe the Video History Project collection, searchable text, filters, citation practices and response limits. Useful when beginning research.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['name', 'website', 'records', 'types', 'guide', 'guideUrl'], 'properties': {'name': {'type': 'string'}, 'guide': {'type': 'string'}, 'types': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'records': {'type': 'integer'}, 'website': {'type': 'string'}, 'guideUrl': {'type': 'string'}, 'defaultLimit': {'type': 'integer', 'default': 10}, 'maximumLimit': {'type': 'integer', 'default': 25}, 'maximumTextCharacters': {'type': 'integer', 'default': 12000}}}
export_citations
Export citations for 1–25 VHP IDs or URLs. format is text or ris; target is publication (the cataloged work) or page (the VHP web page). Missing publication metadata returns a per-item error; choose page to cite a biography or history page.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}}, 'format': {'type': 'string', 'default': 'text'}, 'target': {'type': 'string', 'default': 'publication'}}}
出力スキーマ
{'type': 'object', 'required': ['format', 'target', 'results'], 'properties': {'format': {'type': 'string'}, 'target': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'url', 'text', 'error'], 'properties': {'id': {'type': 'string'}, 'url': {'type': ['string', 'null']}, 'text': {'type': ['string', 'null']}, 'error': {'type': ['object', 'null'], 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}}}}}}}}
get_record
Read a public VHP record by ID or VHP URL, resolving old addresses locally. Returns metadata, source links, citations and a section of existing text. Default section is body; choose other section names from sections. Follow content.nextOffset with the same section and version for complete text. Linked scans are not read.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 12000}, 'offset': {'type': 'integer', 'default': 0}, 'section': {'type': 'string', 'default': 'body'}, 'version': {'type': ['string', 'null'], 'default': None}}}
出力スキーマ
{'type': 'object', 'required': ['id', 'title', 'kind', 'url', 'version', 'modified', 'credits', 'authorKeys', 'subjects', 'metadata', 'citations', 'links', 'sections', 'content', 'rightsUrl'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'kind': {'type': ['string', 'null']}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url', 'relationship'], 'properties': {'url': {'type': 'string'}, 'label': {'type': 'string'}, 'contentType': {'type': ['string', 'null'], 'default': None}, 'relationship': {'type': 'string'}}}}, 'title': {'type': 'string'}, 'content': {'type': 'object', 'required': ['section', 'source', 'generated', 'text', 'offset', 'nextOffset', 'totalCharacters', 'complete'], 'properties': {'text': {'type': 'string'}, 'offset': {'type': 'integer'}, 'source': {'type': 'string'}, 'section': {'type': 'string'}, 'complete': {'type': 'boolean'}, 'generated': {'type': 'boolean'}, 'nextOffset': {'type': ['integer', 'null']}, 'totalCharacters': {'type': 'integer'}}}, 'credits': {'type': 'array', 'items': {'type': 'object', 'required': ['role', 'name'], 'properties': {'name': {'type': 'string'}, 'role': {'type': 'string'}}}}, 'version': {'type': 'string'}, 'metadata': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'value'], 'properties': {'url': {'type': ['string', 'null'], 'default': None}, 'label': {'type': 'string'}, 'value': {'type': 'string'}}}}, 'modified': {'type': ['string', 'null'], 'format': 'date-time'}, 'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'source', 'generated', 'characters'], 'properties': {'name': {'type': 'string'}, 'source': {'type': 'string'}, 'generated': {'type': 'boolean'}, 'characters': {'type': 'integer'}}}}, 'subjects': {'type': 'array', 'items': {'type': 'string'}}, 'citations': {'type': 'object', 'required': ['page', 'publication', 'risUrl'], 'properties': {'page': {'type': 'string'}, 'risUrl': {'type': 'string'}, 'publication': {'type': ['string', 'null']}}}, 'rightsUrl': {'type': 'string'}, 'authorKeys': {'type': 'array', 'items': {'type': 'string'}}}}
get_related_records
Get the site's existing similarity suggestions for a public record. These are research leads, not evidence of a historical relationship. May return no suggestions when the index has none or the editor has disabled them.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 6}}}
出力スキーマ
{'type': 'object', 'required': ['id', 'method', 'note', 'results'], 'properties': {'id': {'type': 'integer'}, 'note': {'type': 'string'}, 'method': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'kind', 'path', 'url', 'year', 'snippet', 'snippetSource', 'snippetContainsQueryWord'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'kind': {'type': ['string', 'null']}, 'path': {'type': 'string'}, 'year': {'type': ['integer', 'null']}, 'title': {'type': 'string'}, 'snippet': {'type': 'string'}, 'snippetSource': {'type': 'string'}, 'snippetContainsQueryWord': {'type': 'boolean'}}}}}}
list_terms
Find catalog author or subject filter keys by part of a name. Returns exact keys, display labels and counts of discoverable records. field is author or subject. Follow nextPage; use a returned key in search_records.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['field'], 'properties': {'page': {'type': 'integer', 'default': 1}, 'field': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25}, 'query': {'type': 'string', 'default': ''}}}
出力スキーマ
{'type': 'object', 'required': ['field', 'total', 'page', 'nextPage', 'results'], 'properties': {'page': {'type': 'integer'}, 'field': {'type': 'string'}, 'total': {'type': 'integer'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label', 'records', 'url'], 'properties': {'key': {'type': 'string'}, 'url': {'type': 'string'}, 'label': {'type': 'string'}, 'records': {'type': 'integer'}}}}, 'nextPage': {'type': ['integer', 'null']}}}
search_records
Search public VHP records by words or quoted phrases. Empty query browses. Combine exact author/subject keys from list_terms, recorded years and a type from describe_collection. Follow nextPage. Excerpts label their source; read get_record before quoting.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {'to': {'type': ['integer', 'null'], 'default': None}, 'from': {'type': ['integer', 'null'], 'default': None}, 'page': {'type': 'integer', 'default': 1}, 'type': {'type': ['string', 'null'], 'default': None}, 'limit': {'type': 'integer', 'default': 10}, 'query': {'type': 'string', 'default': ''}, 'author': {'type': ['string', 'null'], 'default': None}, 'subject': {'type': ['string', 'null'], 'default': None}}}
出力スキーマ
{'type': 'object', 'required': ['total', 'page', 'limit', 'nextPage', 'filters', 'searchUrl', 'results'], 'properties': {'page': {'type': 'integer'}, 'limit': {'type': 'integer'}, 'total': {'type': 'integer'}, 'filters': {'type': 'object', 'required': ['query', 'type', 'author', 'subject', 'from', 'to'], 'properties': {'to': {'type': ['integer', 'null']}, 'from': {'type': ['integer', 'null']}, 'type': {'type': ['string', 'null']}, 'query': {'type': 'string'}, 'author': {'type': ['string', 'null']}, 'subject': {'type': ['string', 'null']}}}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'kind', 'path', 'url', 'year', 'snippet', 'snippetSource', 'snippetContainsQueryWord'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'kind': {'type': ['string', 'null']}, 'path': {'type': 'string'}, 'year': {'type': ['integer', 'null']}, 'title': {'type': 'string'}, 'snippet': {'type': 'string'}, 'snippetSource': {'type': 'string'}, 'snippetContainsQueryWord': {'type': 'boolean'}}}}, 'nextPage': {'type': ['integer', 'null']}, 'searchUrl': {'type': 'string'}}}
追加
describe_collection
2026年9月19日2:40
追加
get_related_records
2026年9月19日2:40
追加
search_records
2026年9月19日2:40
追加
list_terms
2026年9月19日2:40
追加
get_record
2026年9月19日2:40
追加
export_citations
2026年9月19日2:40