Video History Project

Search experimental video history, read public records, follow sources and export citations.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
70%
Calidad de los nombres
97%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,943Tokens (definiciones de herramientas)
~3.0 KBTamaño de respuesta típico
Impacto moderado en la atención (1.52% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas