OpenHeritage MCP
An anonymous, read-only MCP server for the OpenHeritage platform that enables agents to search public genealogy and cultural heritage records, including memorials, graves, cemeteries, archival documents, and historical places focused on Ukraine and Central Europe.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://openheritage.online/mcpWhat its tools do
13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for memorials and grave sites
- Retrieve archival documents and transcriptions
- Find cemetery records and photographs
- Search historical places and maps
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- online.openheritage/public-search 3.1.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 13 advertised
- Resources
- 2 advertised
- Resource templates
- 31 advertised
- Prompts
- Not advertised
{
"tools": {},
"logging": {},
"resources": {}
}Tools
13 advertised
search_collections
Search public OpenHeritage collections by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}search_memorials
Search public memorial records by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}find_places_nearby
Find active canonical places near coordinates, optionally resolving historical context for a date.
{
"type": "object",
"required": [
"latitude",
"longitude"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional historical date in yyyy-MM-dd format; names and context are resolved as known on that date."
},
"take": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Optional number of places to return, nearest first, from 1 through 20. Defaults to 20."
},
"latitude": {
"type": "number",
"description": "Required latitude in decimal degrees, from -90 through 90."
},
"radiusKm": {
"type": [
"number",
"null"
],
"default": null,
"description": "Optional positive search radius in kilometres. Defaults to 50."
},
"typeCode": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional canonical place type code (see the place-type-catalog resource)."
},
"longitude": {
"type": "number",
"description": "Required longitude in decimal degrees, from -180 through 180."
}
}
}search_sources
Search public sources by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}search_records
Search public OpenHeritage records across supported entity types.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
},
"entityTypes": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null,
"description": "Optional public entity type filters."
}
}
}search_documents
Search public source documents by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}get_place
Read a canonical place by stable ID, optionally resolving its historical context for a date.
{
"type": "object",
"required": [
"placeId"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional historical date in yyyy-MM-dd format; the place's name and containing places are resolved as known on that date."
},
"placeId": {
"type": "string",
"description": "Required stable canonical place ID (GUID), as returned by the place tools."
}
}
}search_cemeteries
Search public cemeteries by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}search_authors
Search public person and organization author authority records by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}search_repositories
Search public source repositories by text.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for."
}
}
}search_places
Search active canonical places by text and optional geographic or type filters.
{
"type": "object",
"required": [
"query"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional historical date in yyyy-MM-dd format."
},
"query": {
"type": "string",
"description": "Required place name or text to search for."
},
"latitude": {
"type": [
"number",
"null"
],
"default": null,
"description": "Optional latitude in decimal degrees; longitude is required when supplied."
},
"radiusKm": {
"type": [
"number",
"null"
],
"default": null,
"description": "Optional positive search radius in kilometres; coordinates are required when supplied."
},
"typeCode": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional canonical place type code (see the place-type-catalog resource)."
},
"longitude": {
"type": [
"number",
"null"
],
"default": null,
"description": "Optional longitude in decimal degrees; latitude is required when supplied."
},
"hasCoordinates": {
"type": [
"boolean",
"null"
],
"default": null,
"description": "Optionally require places to have or not have coordinates."
}
}
}autocomplete_places
Autocomplete active canonical places by prefix, optionally resolving historical context for a date.
{
"type": "object",
"required": [
"query"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional historical date in yyyy-MM-dd format; names and context are resolved as known on that date."
},
"take": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Optional number of suggestions to return, from 1 through 20. Defaults to 10."
},
"query": {
"type": "string",
"description": "Required beginning of a place name, as typed so far."
},
"typeCode": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional canonical place type code (see the place-type-catalog resource)."
}
}
}search_page_text
Search the transcribed text of public document pages, by keyword and meaning; each hit links to its page.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Required text to search for: words, a name or a phrase from the page."
},
"semantic": {
"type": [
"boolean",
"null"
],
"default": null,
"description": "Whether to include meaning-based matches as well as keyword matches. Defaults to true."
},
"sourceId": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional source ID (GUID) to search within the documents of one source."
},
"documentId": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional document ID (GUID) to search within one document."
}
}
}Prompts
Not advertised
Resources
2 advertised
source-classification-tags — Source classification tags
Read the active Source classification taxonomy. Resolve a stable code to this environment's id before assigning classificationTagIds.
https://openheritage.online/api/tags?entityType=sourceplace-type-catalog — Canonical place type catalog
Read the active canonical place type catalog used by place search and place records.
https://openheritage.online/api/place-typescemetery — Cemetery
Read one public cemetery, including its names, location, and descriptive metadata.
https://openheritage.online/api/cemeteries/{cemeteryId}cemetery-photo-gallery — Cemetery photo gallery
Read the ordered public photo gallery and cover-photo identifier for one cemetery.
https://openheritage.online/api/cemeteries/{cemeteryId}/photosplace-revisions — Canonical place revisions
Read one page of the public revision history for a canonical place.
https://openheritage.online/api/canonical-places/{placeId}/revisions?skip={skip}&take={take}memorial-preview — Memorial preview
Read the privacy-safe WebP preview for one visible memorial's primary image.
https://openheritage.online/api/memorials/{memorialId}/previewsource — Source
Read one public source after discovering its identifier with a search tool.
https://openheritage.online/api/sources/{sourceId}place-type — Canonical place type
Read one active canonical place type definition by code.
https://openheritage.online/api/place-types/{code}source-document-page-image — Source document page image
Read the current public original image for a source document page.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/pages/{pageKey}/imageplace-by-external-identity — Canonical places by external identity
Find canonical places matching an external provider identifier.
https://openheritage.online/api/canonical-places/by-external-identity?provider={provider}&externalId={externalId}memorial-transcription-statistics — Memorial transcription statistics
Read public transcription progress and statistics for one visible memorial.
https://openheritage.online/api/memorials/{memorialId}/transcription/statsmemorial — Memorial
Read one public memorial, its commemorated people, location, images, and provenance.
https://openheritage.online/api/memorials/{memorialId}place-revision-compare — Canonical place revision comparison
Compare one canonical place revision with its previous revision or the current place state.
https://openheritage.online/api/canonical-places/{placeId}/revisions/{revisionId}/compare?mode={mode}memorial-image — Memorial image
Read a privacy-safe public memorial image as either the thumb or processed original WebP variant.
https://openheritage.online/api/images/{imageId}?variant={variant}source-document-file — Source document file
Read one current public original asset attached to a source document.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/files/{assetId}source-document — Source document
Read metadata for one public document belonging to a source.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}place-children — Canonical place children
Read one page of active canonical places related as children of a place.
https://openheritage.online/api/canonical-places/{placeId}/children?skip={skip}&take={take}repository — Repository
Read one public source repository after discovering its identifier with a search tool.
https://openheritage.online/api/repositories/{repositoryId}place — Canonical place
Read one canonical place, including names, types, hierarchy relations, dates, geography, references, and provenance.
https://openheritage.online/api/canonical-places/{placeId}source-document-page — Source document page
Read metadata for one current public page in a source document.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/pages/{pageKey}source-document-page-xml — Source document page XML
Read the current public XML transcription or structured data for a source document page.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/pages/{pageKey}/xmlsource-document-page-preview — Source document page preview
Read a compact WebP preview of one public source document page.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/pages/{pageKey}/previewcemetery-photo-thumbnail — Cemetery photo thumbnail
Read the public WebP thumbnail for a photo belonging to one cemetery.
https://openheritage.online/api/cemeteries/{cemeteryId}/photos/{photoId}/thumbnailcemetery-photo-display — Cemetery photo display image
Read the public WebP display image for a photo belonging to one cemetery.
https://openheritage.online/api/cemeteries/{cemeteryId}/photos/{photoId}/displaycollection — Collection
Read one public OpenHeritage collection and its hierarchy metadata.
https://openheritage.online/api/collections/{collectionId}author — Author
Read one public person or organization author authority record.
https://openheritage.online/api/authors/{authorId}source-document-pages — Source document pages
Read the ordered public page metadata for one source document.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/pagesmemorial-external-references — Memorial external references
Read the public external references attached to one visible memorial.
https://openheritage.online/api/memorials/{memorialId}/external-referencescemetery-surname-statistics — Cemetery surname statistics
Read public surname counts and gender breakdowns for one cemetery.
https://openheritage.online/api/cemeteries/{cemeteryId}/surname-statisticssource-document-page-display — Source document page display image
Read the current JPEG display derivative for an eligible public source document page.
https://openheritage.online/api/sources/{sourceId}/documents/{documentId}/pages/{pageKey}/displayplace-at-date — Canonical place at date
Read one canonical place and resolve its historical name, type, hierarchy, and location for an ISO yyyy-MM-dd date.
https://openheritage.online/api/canonical-places/{placeId}?date={date}cemetery-statistics — Cemetery statistics
Read public memorial and person statistics for one cemetery.
https://openheritage.online/api/cemeteries/{cemeteryId}/statisticsmemorial-image-rendition — Memorial image rendition
Read a privacy-safe public memorial image by rendition name: thumb, display, or original.
https://openheritage.online/api/memorials/{memorialId}/images/{imageId}/{variant}90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2095 ms
- 95th percentile latency
- 2095 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2095 ms · metadata changed · 13 tool(s), 2 resource(s), 31 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http openheritage-mcp https://openheritage.online/mcpCodex
codex mcp add openheritage-mcp --url https://openheritage.online/mcpCursor
{
"mcpServers": {
"openheritage-mcp": {
"url": "https://openheritage.online/mcp"
}
}
}Cline
{
"mcpServers": {
"openheritage-mcp": {
"type": "streamableHttp",
"url": "https://openheritage.online/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"openheritage-mcp": {
"type": "http",
"url": "https://openheritage.online/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http openheritage-mcp https://openheritage.online/mcpClaude Desktop
https://openheritage.online/mcpWindsurf
{
"mcpServers": {
"openheritage-mcp": {
"serverUrl": "https://openheritage.online/mcp"
}
}
}Let your agent find its tools
Find servers like OpenHeritage MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.