Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoHost to bind when using SSE or streamable-http transport. Defaults to 127.0.0.1; set to 0.0.0.0 to expose externally.127.0.0.1
PORTNoPort to bind when using SSE or streamable-http transport.
LOG_LEVELNoLog level for the JSON stderr logs.
ALLOWED_ORIGINSNoComma-separated list of browser origins allowed for HTTP deployments. Unset means no browser client is permitted.
LINDAS_MCP_TRANSPORTNoTransport mode. Accepts 'stdio' (default), 'sse' or 'streamable-http'.stdio

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_cubesA

Find statistical data cubes in LINDAS by topic.

The entry point. Returns cube URIs you then pass to get_cube_structure. By default only the newest published version of each cube is returned; set latest_only=False to see every version.

Args: query: Topic term, e.g. "Wald", "Abfluss", "Energie". Matched against cube names and descriptions in the chosen language. language: Language for names and descriptions. creator_uri: Restrict to one publishing body (from list_publishers). limit: Maximum cubes to return (1-100). latest_only: Collapse versions to the newest per cube.

get_cube_structureA

Read a cube's dimensions and measures — always call this before data.

This is phase 1 of the two-phase access pattern. It tells you which dimensions you can filter on (KeyDimension), which values are measured (MeasureDimension), and which dimensions carry code lists. It also returns the licence, which is frequently a Fedlex URI you can resolve with fedlex-mcp.

Args: cube_uri: A cube URI from search_cubes. language: Language for dimension names and description.

query_cube_observationsA

Read the actual data points of a cube, with codes resolved to labels.

This is phase 2. Values are returned keyed by human-readable dimension names, and coded dimension values (e.g. region "1805") are replaced by their labels (e.g. "Alpennordhang") unless you turn that off.

For large cubes this reads only the first limit observations. LINDAS has no cheap way to filter observations server-side by arbitrary dimension value, so heavy analytical slicing belongs in run_sparql.

Args: cube_uri: A cube URI from search_cubes. language: Language for labels. limit: Maximum observations to return (1-500). resolve_labels: Replace coded values with human labels.

list_publishersA

List the federal bodies that publish cubes, with cube counts.

Returns creator URIs you can pass to search_cubes to restrict a search to one authority.

resolve_municipalityA

Resolve a Swiss municipality to its LINDAS URI and BFS number.

The BFS commune number is the join key across the whole portfolio: the same number identifies the municipality in swiss-statistics-mcp, zurich-opendata-mcp and any cube that references a place. In LINDAS the URI is literally ld.admin.ch/municipality/.

Args: name_or_bfs: A municipality name ("Zürich") or a BFS number ("261"). language: Language for the name.

run_sparqlA

Run a raw SPARQL SELECT query. Advanced escape hatch — use sparingly.

Prefer the structured tools. This exists for analytical queries the guarded tools cannot express (cross-cube joins, aggregations, custom filters).

Guardrails, learned from probing: LINDAS times out on unanchored scans, so always anchor on a known class such as ?x a <https://cube.link/Cube>. A bare SELECT * WHERE { ?s ?p ?o } will time out. This tool caps the result at 500 rows and the runtime at 30 seconds.

Args: query: A complete SPARQL SELECT query, including its own PREFIX lines.

api_statusA

Check whether the LINDAS SPARQL endpoint is reachable.

Returns an evaluable status even on failure, so an agent can tell "no data matched" apart from "the endpoint is down".

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/malkreide/lindas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server