Skip to main content
Glama
tobbaz

kb-newspapers-mcp

by tobbaz

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_newspapersA
Search digitized Swedish historical newspapers (17th century to circa 1908–1910).
Performs OCR full-text search and returns page-level hits with highlighted snippets and image links.

Historical Search & OCR Strategies:
- Fraktur / Gothic Print: 17th to late 19th-century newspapers were mostly printed in Fraktur/blackletter.
  OCR engines frequently confuse similar glyphs (e.g. long 's' [ſ] misread as 'f', 'S', or 'l'; 'c' for 'e'; 'rn' for 'm').
- Historical Spelling & Wildcards: Use wildcard '*' or Boolean 'OR' to catch spelling variations
  (e.g. 'Carlscrona OR Karlskrona', 'Gustaf OR Gustav', 'Linné OR Linnaeus', or stem wildcards like 'Söder*').
- Two-Stage Workflow:
    1. Use this tool ('search_newspapers') for initial discovery of dates, issues, and page numbers.
    2. If snippets are cut off or you need surrounding sentences (e.g. destinations, causes of death, full names),
       call 'search_in_issue(package_id=..., query=...)' on the matched issue to retrieve complete verbatim quotes.
    3. Always present the 'images.preview_width' link so users can visually verify the scanned page if OCR is unclear.

Args:
    query: Search term or phrase in Swedish/English (e.g. 'ångfartyg', 'Carl von Linné', 'brand i Karlskrona').
    from_date: Start date in 'YYYY-MM-DD' format or simply year 'YYYY' (e.g. '1850').
    to_date: End date in 'YYYY-MM-DD' format or simply year 'YYYY' (e.g. '1899').
    newspaper: Filter by specific newspaper title (e.g. 'Aftonbladet', 'Dagens Nyheter', 'Post- och inrikes tidningar', 'Göteborgsposten').
    sort_by: Sort order: 'relevance' (most relevant), 'date_asc' (oldest first), or 'date_desc' (newest first).
    limit: Number of results to return per page (1-100, default 20).
    offset: Zero-based starting index for pagination (default 0).
    max_snippets: Maximum number of text snippets to include per newspaper page (default 5).
get_newspaper_timelineA
Get the temporal or newspaper distribution statistics for a search term.
Useful to discover when an event was reported most frequently or which newspapers covered it.

Args:
    query: Search term (e.g. 'kolera', 'ångbåt', 'Sveriges riksdag').
    field: Aggregation target: 'datePublished' (distribution by year) or 'isPartOf' (distribution by newspaper title).
search_in_issueA
Search inside a specific newspaper issue to locate all occurrences of a word or phrase
with exact text lines and coordinates for image highlighting (IIIF Content Search).

Two-Stage Workflow Usage:
Use this tool as Stage 2 after 'search_newspapers' whenever a snippet is cut off or you need
the complete surrounding sentence (e.g. to uncover full names, occupations, causes of death,
travel origins/destinations, or accompanying persons).

Args:
    package_id: The package ID of the newspaper issue (e.g. 'dark-37858').
    query: Search word or phrase to locate within the issue.
get_newspaper_page_imageA
Generate direct image URLs and IIIF links for a specific newspaper page.

Args:
    image_service_id: IIIF image service URL returned from search_newspapers (e.g. 'https://data.kb.se/iiif/3/dark-30466%2Fbib4345612_18620716_0_s_0003.jp2').
    package_id: Package ID of the newspaper issue (e.g. 'dark-30466' or 'dark-37858').
    page_number: Page number within the issue (e.g. 1, 3, 4).
    part_number: Part/section number (default 1).
    width: Desired pixel width for the preview image (e.g. 1200 for readable size, 300 for thumbnail).
lookup_newspaper_idA
Convert bidirectionally between the National Library's internal package ID (e.g. 'dark-37858')
and the public web URL on tidningar.kb.se (e.g. 'https://tidningar.kb.se/dxqth86q2n2zwg9').

Args:
    id_or_url: A data.kb.se package ID, or a URL/ID from tidningar.kb.se.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a separate step in the newspaper research workflow: corpus search, temporal/title aggregation, issue-level search, page image retrieval, and ID resolution. Although search_newspapers and search_in_issue both search, their scope is explicitly distinct, and the two-stage workflow clarifies when each should be used.

Naming Consistency4/5

All tool names use snake_case and mostly follow a clear verb + newspaper-related object pattern, such as search_newspapers, get_newspaper_timeline, and get_newspaper_page_image. The prepositional form search_in_issue and the use of lookup in lookup_newspaper_id are minor deviations, but they remain predictable and readable.

Tool Count5/5

Five tools form a tight, well-scoped set for a read-only historical newspaper search and display service. Each tool addresses a necessary part of the workflow without unnecessary duplication.

Completeness4/5

The set covers the core research loop: search, aggregate over time/title, drill into an issue, retrieve page images, and resolve identifiers. It lacks an explicit issue or page metadata browsing tool, but the search-first workflow makes this a minor gap rather than a dead end.

Maintenance

ActivityMaintained
ResponsivenessNo issues