Skip to main content
Glama

Analytics Legends — SAP AI & Analytics MCP Server

Read an Academy module (MCP Pass)

get_academy_module
Read-onlyIdempotent

Read one Academy training module in full — body, learning objectives and summary, EN, FR and DE — the written course corpus the Consultant web plan sells. Modules marked free on the website (M001 Datasphere Foundations included) are free to read THERE with a free account; on this endpoint they are served like every other module, with an MCP Pass or Firm Pass key. A free account's key gets only the daily taste: the fixed showcase modules that an unfiltered find_academy_modules call serves first, the same for every account. On THIS endpoint the paid tranche is opened by the MCP Pass (€29.90/month, analyticslegends.ai/mcp-server/) or the Firm Pass; the Consultant and Legend web plans do not include MCP access. Requires an API key of an MCP Pass or Firm account (Authorization: Bearer alk_…); without one this tool refuses and find_academy_modules keeps serving the catalogue. Takes the module id (M001) or its slug (datasphere-foundations), both matched case-insensitively — find_academy_modules returns both on every row, and query_knowledge_graph returns the same ids as module:M001 node ids, so a graph walk now ENDS somewhere. The module is served in one call. lang (en · fr · de) returns that language only; without it the three languages come back together — EXCEPT when the three would exceed the response ceiling (the Datasphere foundations course M001, rewritten as a full training on 2026-10-28, weighs 423 KB in three languages): the English text is then served alone and filters.lang says so — call again with lang=fr or lang=de for the other two.

Input Schema

NameRequiredDescriptionDefault
idYesModule id (`M001`) or slug (`datasphere-foundations`), verbatim from find_academy_modules.rows[].id / .slug.
langNoServe this language only. Omit it to get all three, unless they would exceed the response ceiling — then English alone is served and filters.lang says so.

Output Schema

NameRequiredDescriptionDefault
rowsYes
toolYes
_metaNo
_attributionYes
result_countYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / lang
      Added value: +{
      +  "description": "Serve this language only. Omit it to get all three, unless they would exceed the response ceiling — then English alone is served and filters.lang says so.",
      +  "enum": [
      +    "en",
      +    "fr",
      +    "de"
      +  ],
      +  "type": "string"
      +}
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses the auth scheme (Bearer alk_…), the refusal behavior without a valid pass key, the entitlement split between web plans and MCP access, and the response-ceiling fallback where English is served alone with a `filters.lang` marker for oversized modules like M001. These are operational facts an agent cannot infer from structured fields.

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

Conciseness3/5

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

The critical facts (what is read, key requirement, id/slug, lang fallback) are front-loaded, but the prose is padded with marketing and pricing asides ('the written course corpus the Consultant web plan sells', €29.90/month, 'so a graph walk now ENDS somewhere'). Several clauses could be trimmed without losing callable information.

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

Completeness5/5

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

For a two-parameter read tool with an output schema and full annotation coverage, nothing needed to call it correctly is missing: entitlement rules, auth header, id provenance, language behavior and the oversized-response fallback are all covered.

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 coverage is 100%, so the baseline is 3; the description nevertheless adds value by stating that `id` accepts an id or slug matched case-insensitively and where those values come from (`find_academy_modules.rows[]`, graph `module:M001` nodes). It also explains the `lang` omission behavior and the ceiling fallback that the schema mentions only briefly.

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?

Opens with a specific verb and resource — 'Read one Academy training module in full' — and enumerates what is returned (body, learning objectives, summary, EN/FR/DE). It is clearly distinguished from the sibling 'find_academy_modules', which is named as the catalogue-listing counterpart.

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

Usage Guidelines5/5

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

Explicitly states when this tool is needed versus the alternatives: free-account users get only the showcase modules via `find_academy_modules`, while the full paid tranche requires an MCP Pass or Firm Pass key on this endpoint. It also names the condition under which a graph walk terminates here (`query_knowledge_graph` returns `module:M001` ids).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.