Video History Project
Search experimental video history, read public records, follow sources and export citations.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"research": {
"url": "https://www.videohistoryproject.org/mcp"
}
}
}Puntos de conexión remotos
https://www.videohistoryproject.org/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (6)
🟢export_citations(ids, format, target)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"format": {
"type": "string",
"default": "text"
},
"target": {
"type": "string",
"default": "publication"
}
},
"required": [
"ids"
]
}Esquema de salida
{
"type": "object",
"properties": {
"format": {
"type": "string"
},
"target": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"text": {
"type": [
"string",
"null"
]
},
"error": {
"type": [
"object",
"null"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
]
}
},
"required": [
"id",
"url",
"text",
"error"
]
}
}
},
"required": [
"format",
"target",
"results"
]
}🟢get_record(id, section, offset, limit, version)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"section": {
"type": "string",
"default": "body"
},
"offset": {
"type": "integer",
"default": 0
},
"limit": {
"type": "integer",
"default": 12000
},
"version": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string"
},
"kind": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"version": {
"type": "string"
},
"modified": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"credits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"role",
"name"
]
}
},
"authorKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"subjects": {
"type": "array",
"items": {
"type": "string"
}
},
"metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"label",
"value"
]
}
},
"citations": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"publication": {
"type": [
"string",
"null"
]
},
"risUrl": {
"type": "string"
}
},
"required": [
"page",
"publication",
"risUrl"
]
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
},
"relationship": {
"type": "string"
},
"contentType": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"label",
"url",
"relationship"
]
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"source": {
"type": "string"
},
"generated": {
"type": "boolean"
},
"characters": {
"type": "integer"
}
},
"required": [
"name",
"source",
"generated",
"characters"
]
}
},
"content": {
"type": "object",
"properties": {
"section": {
"type": "string"
},
"source": {
"type": "string"
},
"generated": {
"type": "boolean"
},
"text": {
"type": "string"
},
"offset": {
"type": "integer"
},
"nextOffset": {
"type": [
"integer",
"null"
]
},
"totalCharacters": {
"type": "integer"
},
"complete": {
"type": "boolean"
}
},
"required": [
"section",
"source",
"generated",
"text",
"offset",
"nextOffset",
"totalCharacters",
"complete"
]
},
"rightsUrl": {
"type": "string"
}
},
"required": [
"id",
"title",
"kind",
"url",
"version",
"modified",
"credits",
"authorKeys",
"subjects",
"metadata",
"citations",
"links",
"sections",
"content",
"rightsUrl"
]
}🟢list_terms(field, query, page, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"field": {
"type": "string"
},
"query": {
"type": "string",
"default": ""
},
"page": {
"type": "integer",
"default": 1
},
"limit": {
"type": "integer",
"default": 25
}
},
"required": [
"field"
]
}Esquema de salida
{
"type": "object",
"properties": {
"field": {
"type": "string"
},
"total": {
"type": "integer"
},
"page": {
"type": "integer"
},
"nextPage": {
"type": [
"integer",
"null"
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"records": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"key",
"label",
"records",
"url"
]
}
}
},
"required": [
"field",
"total",
"page",
"nextPage",
"results"
]
}🟢search_records(query, type, author, subject, from, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"default": ""
},
"type": {
"type": [
"string",
"null"
],
"default": null
},
"author": {
"type": [
"string",
"null"
],
"default": null
},
"subject": {
"type": [
"string",
"null"
],
"default": null
},
"from": {
"type": [
"integer",
"null"
],
"default": null
},
"to": {
"type": [
"integer",
"null"
],
"default": null
},
"page": {
"type": "integer",
"default": 1
},
"limit": {
"type": "integer",
"default": 10
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"page": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"nextPage": {
"type": [
"integer",
"null"
]
},
"filters": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"type": {
"type": [
"string",
"null"
]
},
"author": {
"type": [
"string",
"null"
]
},
"subject": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"integer",
"null"
]
},
"to": {
"type": [
"integer",
"null"
]
}
},
"required": [
"query",
"type",
"author",
"subject",
"from",
"to"
]
},
"searchUrl": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string"
},
"kind": {
"type": [
"string",
"null"
]
},
"path": {
"type": "string"
},
"url": {
"type": "string"
},
"year": {
"type": [
"integer",
"null"
]
},
"snippet": {
"type": "string"
},
"snippetSource": {
"type": "string"
},
"snippetContainsQueryWord": {
"type": "boolean"
}
},
"required": [
"id",
"title",
"kind",
"path",
"url",
"year",
"snippet",
"snippetSource",
"snippetContainsQueryWord"
]
}
}
},
"required": [
"total",
"page",
"limit",
"nextPage",
"filters",
"searchUrl",
"results"
]
}🟢get_related_records(id, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 6
}
},
"required": [
"id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"method": {
"type": "string"
},
"note": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string"
},
"kind": {
"type": [
"string",
"null"
]
},
"path": {
"type": "string"
},
"url": {
"type": "string"
},
"year": {
"type": [
"integer",
"null"
]
},
"snippet": {
"type": "string"
},
"snippetSource": {
"type": "string"
},
"snippetContainsQueryWord": {
"type": "boolean"
}
},
"required": [
"id",
"title",
"kind",
"path",
"url",
"year",
"snippet",
"snippetSource",
"snippetContainsQueryWord"
]
}
}
},
"required": [
"id",
"method",
"note",
"results"
]
}🟢describe_collection
Describe the Video History Project collection, searchable text, filters, citation practices and response limits. Useful when beginning research.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"records": {
"type": "integer"
},
"types": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"key",
"label"
]
}
},
"guide": {
"type": "string"
},
"guideUrl": {
"type": "string"
},
"defaultLimit": {
"type": "integer",
"default": 10
},
"maximumLimit": {
"type": "integer",
"default": 25
},
"maximumTextCharacters": {
"type": "integer",
"default": 12000
}
},
"required": [
"name",
"website",
"records",
"types",
"guide",
"guideUrl"
]
}Comunidad
Evidencia