Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port (HTTP mode only)3000
WLO_POOL_SIZENoCandidate pool per search variant (enhancedSearch) for reranking25
WLO_REPOSITORY_URLNoURL of the Edu-Sharing frontend host (e.g. https://redaktion.openeduhub.net/edu-sharing or https://repository.staging.openeduhub.net/edu-sharing)https://redaktion.openeduhub.net/edu-sharing
WLO_ROOT_COLLECTION_IDNoRoot node UUID of the collection hierarchy5e40e372-735c-4b17-bbf7-e827a5702b57

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_wlo_collectionsA

Search WirLernenOnline (WLO) for Sammlungen (= Themenseiten). In WLO, a "Sammlung" is the same as a "Themenseite": a curated thematic page that bundles educational content items in swimlanes (Schwimmlinien/Karussells) grouped by topic, subject or level. Users may ask for "Themenseite Algebra", "Sammlung Klimawandel" or "Portal Mathematik" – these all refer to collections. Use the returned nodeId with get_collection_contents to retrieve the actual content items. Filters accept both German labels (e.g. "Mathematik", "Grundschule", "Lehrer/in") and full URIs.

search_wlo_contentA

Search WirLernenOnline (WLO) for individual educational content items (Inhalte/Materialien). Content items are files such as worksheets, videos, interactive media, lesson plans, etc. Supports full-text search with multi-query expansion and quality-based reranking. Filters accept both German labels and full URIs.

get_collection_contentsA

Retrieve content items and/or sub-collections from a WLO Sammlung (Themenseite) by its nodeId. In WLO, Sammlungen are displayed as Themenseiten: thematic pages that bundle content in swimlanes. This tool fetches what is inside those swimlanes. The nodeId is returned by search_wlo_collections. Use contentFilter="files" (default) for learning materials, "folders" for sub-collections (Unter-Themenseiten), or "both" for everything. Set includeSubcollections=true to traverse the full sub-tree recursively.

get_node_detailsA

Retrieve detailed metadata, stored full-text content, and/or parent collections for a specific WLO node.

Returns the SAME field structure as search tools (formatNode): title, description, keywords, disciplines (labels), educationalContexts (labels), userRoles (labels), learningResourceTypes (labels), license (label), publisher, url, previewUrl, topicPageUrl, nodeType.

Plus optional:

  • textContent: the crawled/stored full text of the linked web page or document

  • parents: the collection(s) this node belongs to (useful to find which Sammlung a content item is in)

  • raw: the original ccm:* / cclom:* property URIs (for debugging / advanced use)

search_wlo_allA

Kombinierte WLO-Suche: Einzel-Inhalte (Materialien), Sammlungen UND Themenseiten in EINEM parallelen Aufruf. Nutze dies statt mehrere Suchtools nacheinander zu rufen. Liefert ein strukturiertes Objekt mit getrennten Töpfen { content, collections, topicPages }. Filter akzeptieren deutsche Labels (z.B. "Mathematik", "Sekundarstufe I", "Video") oder URIs.

lookup_wlo_vocabularyA

Look up available values for WLO filter parameters. Use this to discover valid labels and URIs for Bildungsstufe (educational context), Schulfach/Disziplin, Zielgruppe (user role), or Lernressourcentyp (learning resource type). Useful before calling search tools to find the correct filter values.

search_wlo_topic_pagesA

Search for Themenseiten (topic pages) on WirLernenOnline. Themenseiten are curated page layouts with swimlanes, tailored to different target groups (Lehrkräfte, Lernende, Allgemein). They are linked to Sammlungen (collections).

Three search modes:

  1. By collectionId: Direct check whether a specific collection has a Themenseite.

  2. By topic (query): Searches collections first, then checks which ones have a Themenseite.

  3. By filters only (no query): Lists Themenseiten, optionally filtered by target group or educational context.

Output:

  • Each result is titled by its OWNING COLLECTION; if that can't be resolved, the page variant's own title (cm:title) is used, never a cryptic "PAGE_VARIANT_xxx" id.

  • Multiple variants of the same Themenseite (different target groups) are merged into one entry.

  • Target groups are returned as readable labels ("Lehrkräfte"), not slugs.

Order: deterministic. By default sorted alphabetically by collection name with nodeId as tie-breaker.

get_subject_portalsA

Lists the WLO Fachportale — the first-level Sammlungen directly under the WLO root collection. Fachportale are the top-level subject hubs (Mathematik, Informatik, Deutsch, …) that anchor the content tree. Each portal has an associated Themenseite when ccm:page_config_ref is set.

Use this when the user wants an overview of what subjects/topics are covered, or as the natural entry point for guided drill-downs ("Zeig mir Mathe" → portal → sub-Sammlungen → Inhalte).

Returns deterministic alphabetical ordering, with portal nodeId, name, description, optional Themenseiten-URL, and the disciplines/educational contexts associated with the portal.

browse_collection_treeA

Drill into the sub-collection tree below a given collection. Returns the direct sub-Sammlungen at depth=1 (default) or two levels at depth=2. Optionally enriches each node with the count of files (Lernmaterialien) it contains.

Use this for guided exploration: pick a Fachportal or Themenseite, then let the user choose a sub-area before fetching individual content items. Output is deterministic (alphabetical by name, nodeId tie-breaker).

wlo_health_checkA

Probe whether the WLO repository API is reachable and responding. Returns latency in ms, the resolved root collection nodeId, and a status flag. Useful for callers (e.g. chatbots) to quickly tell "WLO is down" from "your query produced no hits".

get_nodes_detailsA

Bulk-fetch metadata for multiple node IDs in parallel. Saves N round-trips when callers need details for many nodes (e.g. resolve cards from a search). Returns the same FormattedNode shape as get_node_details (json mode), keyed by nodeId.

Failed lookups (deleted node, network error) are returned in the failed array, not as overall errors — so a single bad nodeId doesn't ruin the whole batch.

get_topic_page_contentA

Get the CONTENT STRUCTURE of a Themenseite (topic page): its sections (swimlanes) — each with a heading and the nodeIds of the materials/collections embedded in it. Use this AFTER search_wlo_topic_pages to see what is actually ON a topic page (search_wlo_topic_pages only returns its URL). Resolve the returned nodeIds to human titles with get_nodes_details.

Provide EITHER variantId (a "Variante-ID" from search_wlo_topic_pages — fastest) OR collectionId (a "Sammlung-nodeId"). At least one is required.

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/janschachtschabel/wlo-mcp-server'

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