Skip to main content
Glama

get_server_info

Retrieve Gramps Web server and database metadata: versions, locale, object counts, server capabilities, and optionally all surnames. Get key info to understand your genealogy environment.

Instructions

Read Gramps Web server, database, locale and object-count metadata. Read-only.

Wraps GET /metadata/: database id/name/type, Gramps + Gramps Web API + QL versions, locale, per-type object counts, tree researcher info, search index details, and server capabilities (multi-tree, task queue, OCR, semantic search, chat, face detection, thumbnails). When surnames is true, the response additionally lists every surname in the database.

Args: surnames: If true, include the full list of surnames in the database. instance: Gramps Web base URL from get_instances; default = first.

Returns: dict: {"status", "url", "data": metadata object}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
instanceNo
surnamesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly states 'Read-only' and details the full scope of metadata returned, including the conditional behavior when `surnames` is true. It also discloses the return envelope ('status', 'url', 'data'). Since no annotations are provided, the description carries the burden and does a solid job, though it doesn't mention potential errors or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear opening sentence, a detailed but organized list of metadata categories, and a compact Args/Returns section. It is slightly long but every sentence adds value, and the key read-only nature is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only metadata tool with 2 optional parameters and no output schema, the description is quite complete: it lists the endpoint, the metadata contents, the parameter effects, and the return envelope. It lacks explicit error/edge-case behavior, but that is a minor gap for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains `surnames` ('If true, include the full list of surnames') and `instance` ('Gramps Web base URL from get_instances; default = first'), adding meaning beyond the bare schema. It could be more explicit about the format of `instance`, but it is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('Gramps Web server, database, locale and object-count metadata'), and enumerates the exact metadata categories returned. It clearly distinguishes itself from siblings like ping and get_instances by naming the wrapped endpoint (GET /metadata) and listing its contents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool returns and mentions the `instance` parameter defaulting to the first from get_instances, which implies a relationship to get_instances. However, it does not explicitly state when to use this tool versus alternatives like ping or get_instances, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.