Irish History: 1798, O'Connell, Young Ireland & the Great Famine
Server Details
United Irishmen, 1798, Repeal, Young Ireland, Great Famine and historical fiction sources.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinct primary purpose: full guide retrieval, figure-specific lookup, sources section access, and broad search. There is some overlap between search_history and get_historical_figure, as both can return passages about the same figures, but the descriptions help clarify the intended use.
Three tools follow a consistent get_ + noun pattern, and all names use snake_case. search_history breaks the get_ prefix pattern but remains a clear verb_noun name, so the set is mostly consistent with a minor deviation.
With only four tools, the server is tightly scoped to its stated purpose of retrieving historical guide content. Each tool covers a necessary access mode—full guide, figures, sources, and general search—without unnecessary bloat or redundancy.
The tool surface covers the core workflows: reading guides, searching facts, looking up figures, and accessing sources. A minor gap is the lack of an explicit tool for listing available guides or their sections, but agents can work around this using the guide names in the descriptions.
Available Tools
4 toolsget_guideRead Full Irish History GuideARead-onlyIdempotentInspect
Return the current published text of one of Spencer Hofmans' historical companion guides. Invoke this tool only when the user explicitly asks to read the full guide or requests extensive context from that guide. Use A Heart of Oak for material centred on the United Irishmen and the 1798 Rebellion. Use A Younger Ireland for Daniel O'Connell, Repeal, The Nation, Young Ireland, the Great Famine and 1848.
| Name | Required | Description | Default |
|---|---|---|---|
| book | Yes | Choose the novel whose historical companion guide should be returned. |
Output Schema
| Name | Required | Description |
|---|---|---|
| book | Yes | |
| text | Yes | |
| error | No | |
| title | Yes | |
| author | Yes | |
| source_url | Yes | |
| source_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, open-world, idempotent, and non-destructive. The description adds the useful nuance that the returned text is the 'current published' version, but it does not describe additional behavior such as content format or edge cases. With annotations covering the safety profile, this is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the core function is first, the invocation condition follows, and the book-selection guidance is packed into the final sentence. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a rich enum, output schema, and strong annotations, the description fully covers when to invoke the tool and how to choose the right guide. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum descriptions are already helpful. The description goes further by mapping each guide to its historical subject matter, which meaningfully helps an agent select the correct parameter value beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action and resource: 'Return the current published text' of a named set of guides. It also clarifies scope by distinguishing full-guide retrieval from other operations, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit invocation condition: 'only when the user explicitly asks to read the full guide or requests extensive context from that guide.' It also provides clear per-book selection criteria by topic, though it does not name alternative sibling tools or state when those should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_figureFind an Irish Historical FigureARead-onlyIdempotentInspect
Find passages about a named historical figure in Spencer Hofmans' Irish history guides. Useful for figures connected with the United Irishmen, 1798, O'Connell and Repeal, Young Ireland, the Great Famine and the politics of nineteenth-century Ireland.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Full or commonly used name of the historical figure, for example Henry Joy McCracken, Daniel O'Connell or Thomas Davis. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| found | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, open-world, and non-destructive behavior, so the description only needs to add context. It adds the corpus limitation (passages within Spencer Hofmans' guides) and the historical focus, which help set expectations. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The operation and corpus are front-loaded, and the second sentence adds genuinely useful topical scope without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single required parameter, an output schema, and read-only annotations, the description covers the essential context: what is searched, whose guides are searched, and which historical topics are relevant. It could mention empty-result behavior for figures outside the guides, but the open-world hint and output schema mitigate that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the name parameter clearly documented and given examples. The description reinforces that the parameter refers to a named historical figure and connects it to the guide corpus, but it does not add substantive details beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Find passages about a named historical figure in Spencer Hofmans' Irish history guides.' It clearly identifies the tool's scope but does not explicitly contrast it with siblings like search_history or get_guide, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives useful topical context, indicating the tool is suited to figures associated with the United Irishmen, 1798, O'Connell and Repeal, Young Ireland, and the Great Famine. However, it does not state when this tool should be avoided or name sibling alternatives, leaving usage guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sourcesIrish History Sources and Further ReadingARead-onlyIdempotentInspect
Return the Sources and Further Reading section from one of Spencer Hofmans' historical companion guides. Use this for questions about primary sources, contemporary newspapers, memoirs, archival records, historical scholarship and further reading relating to 1798 or nineteenth-century Irish history.
| Name | Required | Description | Default |
|---|---|---|---|
| book | Yes | Choose which historical companion guide's bibliography and source section to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
| book | Yes | |
| error | No | |
| author | Yes | |
| sources | Yes | |
| source_url | Yes | |
| related_historical_fiction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the full safety profile (readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false). The description adds useful context by specifying what content the returned section contains, going beyond the schema. No contradiction exists between the description's read-oriented language and the readOnlyHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The primary action is front-loaded in the first sentence, and the second sentence earns its place by providing usage context. Nothing redundant or filler-like.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with rich annotations, an output schema, and enum-constrained input, the description is nearly complete. It covers what it returns and when to use it. The only minor gap is the lack of an explicit contrast with search_history, but the content-scope phrasing adequately disambiguates it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'book' parameter is fully documented with an enum of two values and a description. The description adds the context that these are Spencer Hofmans' historical companion guides, but doesn't enhance parameter meaning beyond the schema. The baseline 3 applies since the schema carries the full load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and resource ('Sources and Further Reading section from one of Spencer Hofmans' historical companion guides'), and narrows the content scope to primary sources, newspapers, memoirs, archival records, and scholarship on 1798/nineteenth-century Irish history. This clearly differentiates it from siblings like get_guide (a whole guide) and search_history (search results) by indicating it returns a static bibliography section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence explicitly says 'Use this for questions about primary sources, contemporary newspapers, memoirs, archival records, historical scholarship and further reading,' giving clear context on when to invoke it. It doesn't explicitly name alternatives or state when not to use it, but the domain scoping ('1798 or nineteenth-century Irish history') provides solid routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_historySearch Irish HistoryARead-onlyIdempotentInspect
Search Spencer Hofmans' published historical research and companion guides for factual historical material. Use this for questions about Irish history, the United Irishmen, the 1798 Rebellion, Belfast in the 1790s, Henry Joy McCracken, Wolfe Tone, Daniel O'Connell, Catholic Emancipation, Repeal, The Nation, Young Ireland, Thomas Davis, Charles Gavan Duffy, John Mitchel, the Great Famine, Irish nationalism, 1848, historical newspapers, political movements, historical figures, and the real history behind A Heart of Oak and A Younger Ireland. Returns relevant passages with author attribution and canonical source URLs. Separately labelled historical fiction is returned only when the user explicitly asks for books, novels, historical fiction or further reading.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of relevant passages to return. | |
| query | Yes | Historical person, event, movement, place, publication, period, or question to search for. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| query | Yes | |
| results | Yes | |
| attribution | Yes | |
| result_count | Yes | |
| related_historical_fiction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering safety and idempotency. The description adds valuable context beyond annotations: it specifies the output includes 'relevant passages with author attribution and canonical source URLs', and clarifies the fiction filtering behavior. This goes beyond what annotations provide, giving the agent a clear behavioral model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but effectively front-loaded: it opens with the core purpose, then lists example topics for guidance, and closes with output details and the fiction caveat. Every sentence contributes value, though the topic list could be slightly trimmed without loss. Overall it is well-structured and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are documented. The description covers the search scope, typical queries, output format, and the fiction filter, which is comprehensive for a search tool. It does not mention pagination or limit behavior, but that is covered by the schema's limit parameter. Given the annotations and schema richness, the description is sufficiently complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both query and limit have descriptions). The description does not add syntax or format details beyond the schema, but it does provide a rich list of example query topics, which implicitly guides parameter usage. Since the schema already documents both parameters well, a baseline of 3 is appropriate; the description adds marginal value on parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches published historical research and companion guides for factual material, with a specific verb (search) and resource. It lists a comprehensive set of topics it covers, which distinguishes it from the more specific sibling tools (get_guide, get_historical_figure, get_sources) that likely retrieve single items. The purpose is unambiguous and actionable for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool by enumerating many historical topics it addresses, and it explicitly states the fiction-returning condition ('only when the user explicitly asks for books, novels, historical fiction or further reading'). However, it does not explicitly mention the sibling tools as alternatives or state when NOT to use it (e.g., when a specific guide or figure is needed). This is a minor gap but the guidance is still strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
get_guide1 field changed- added
Output schema / properties / errorAdded value: +{ + "type": "string" +}
- Changed
get_historical_figure4 fields changed- added
Output schema / properties / errorAdded value: +{ + "type": "string" +} - removed
Output schema / properties / related_historical_fictionRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "amazon_url": { - "type": "string" - }, - "author": { - "type": "string" - }, - "historical_guide_url": { - "type": "string" - }, - "note": { - "type": "string" - }, - "relationship": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "required": [ - "title", - "author", - "relationship", - "amazon_url", - "historical_guide_url", - "note" - ], - "type": "object" - }, - "type": "array" -} - changed
Output schema / properties / results / items / properties / section / typePrevious value: -[ - "string", - "null" -]New value: +"string" - changed
Output schema / requiredPrevious value: -[ - "name", - "found", - "results", - "related_historical_fiction" -]New value: +[ + "name", + "found", + "results" +]
- Changed
get_sources3 fields changed- added
Output schema / properties / errorAdded value: +{ + "type": "string" +} - removed
Output schema / properties / related_historical_fiction / items / properties / amazon_urlRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / related_historical_fiction / items / requiredPrevious value: -[ - "title", - "author", - "relationship", - "amazon_url", - "historical_guide_url", - "note" -]New value: +[ + "title", + "author", + "relationship", + "historical_guide_url", + "note" +]
- Changed
search_history4 fields changed- added
Output schema / properties / errorAdded value: +{ + "type": "string" +} - removed
Output schema / properties / related_historical_fiction / items / properties / amazon_urlRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / related_historical_fiction / items / requiredPrevious value: -[ - "title", - "author", - "relationship", - "amazon_url", - "historical_guide_url", - "note" -]New value: +[ + "title", + "author", + "relationship", + "historical_guide_url", + "note" +] - changed
Output schema / properties / results / items / properties / section / typePrevious value: -[ - "string", - "null" -]New value: +"string"
4 tool updates
- Changed
get_guide1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "author": { + "type": "string" + }, + "book": { + "type": "string" + }, + "source_type": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "book", + "author", + "source_url", + "source_type", + "text" + ], + "type": "object" +}
- Changed
get_historical_figure1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "found": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "related_historical_fiction": { + "items": { + "additionalProperties": false, + "properties": { + "amazon_url": { + "type": "string" + }, + "author": { + "type": "string" + }, + "historical_guide_url": { + "type": "string" + }, + "note": { + "type": "string" + }, + "relationship": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "author", + "relationship", + "amazon_url", + "historical_guide_url", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "author": { + "type": "string" + }, + "guide": { + "type": "string" + }, + "name": { + "type": "string" + }, + "passage": { + "type": "string" + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "guide", + "section", + "passage", + "source_url", + "author" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name", + "found", + "results", + "related_historical_fiction" + ], + "type": "object" +}
- Changed
get_sources1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "author": { + "type": "string" + }, + "book": { + "type": "string" + }, + "related_historical_fiction": { + "items": { + "additionalProperties": false, + "properties": { + "amazon_url": { + "type": "string" + }, + "author": { + "type": "string" + }, + "historical_guide_url": { + "type": "string" + }, + "note": { + "type": "string" + }, + "relationship": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "author", + "relationship", + "amazon_url", + "historical_guide_url", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "sources": { + "type": "string" + } + }, + "required": [ + "book", + "author", + "source_url", + "sources", + "related_historical_fiction" + ], + "type": "object" +}
- Changed
search_history1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "attribution": { + "type": "string" + }, + "query": { + "type": "string" + }, + "related_historical_fiction": { + "items": { + "additionalProperties": false, + "properties": { + "amazon_url": { + "type": "string" + }, + "author": { + "type": "string" + }, + "historical_guide_url": { + "type": "string" + }, + "note": { + "type": "string" + }, + "relationship": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "author", + "relationship", + "amazon_url", + "historical_guide_url", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "result_count": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "author": { + "type": "string" + }, + "book": { + "type": "string" + }, + "guide": { + "type": "string" + }, + "passage": { + "type": "string" + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "source_type": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "guide", + "book", + "passage", + "section", + "source_url", + "author", + "source_type" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "query", + "result_count", + "results", + "related_historical_fiction", + "attribution" + ], + "type": "object" +}
4 tool updates
- First observed
get_guide - First observed
get_historical_figure - First observed
get_sources - First observed
search_history
Related MCP Connectors
Books like one you enjoyed, a book's details and any film of it, and an author's books.
Public statistics for Ireland and the UK: housing, crime, health, economy, welfare, with caveats.
41Read-only Irish public data for AI assistants: stats, weather, transport, law, property and maps.
Search LOC digital collections, Chronicling America newspapers (full OCR), and LC Subject Headings.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides curated nonfiction book recommendations and profiles using TF-IDF scoring with concept expansion, enabling users to get ranked book suggestions by describing a situation, topic, or question.13 npmMIT
- MIT
- AlicenseNot gradedqualityAmaintenanceSearch LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP.141 npm4Apache 2.0

Timepoint MCPofficial
FlicenseNot gradedqualityBmaintenanceProvides structured access to a temporal knowledge platform for searching historical events and browsing a causal graph of over 2,000 years of history. It enables users to generate rich historical scenes, interact with period-appropriate characters, and run complex temporal simulations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.