Skip to main content
Glama
biztory

Tableau Knowledge MCP

Find semantic contexts

search_semantic_contexts
Read-only

Retrieves the business definitions, rules, and caveats attached to a knowledge graph or a specific node, including editable user-managed and read-only Tableau-managed contexts.

Instructions

List semantic contexts: the business statements (definitions, rules, caveats) attached to the graph. Includes user-managed (SEMANTIC_CONTEXT, editable) and Tableau-managed (SEMANTIC_CONTEXT_EXTERNAL, read-only) contexts.

- With `node` (an id or a description): only the contexts attached to that node.
- Without `node`: every context on the graph; `is_global` true = only graph-wide contexts,
  false = only node-attached ones, omitted = both.

The API doesn't filter by text yet; to find statements by meaning, use search_nodes.

Input Schema

NameRequiredDescriptionDefault
nodeNo
graph_idNo
is_globalNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), and the description adds real context on top: it distinguishes editable user-managed contexts from read-only Tableau-managed ones, and discloses an API limitation ('doesn't filter by text yet'). It stops short of describing result ordering or volume, but with an output schema present that is a minor omission.

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

Conciseness5/5

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

Front-loaded definition, then two scannable bullets for the two filtering modes, then the alternative-tool note. No filler sentences; every clause conveys a distinct rule the agent needs.

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 three-optional-parameter list tool with annotations and an output schema, this is nearly complete — filtering behavior and result mutability are both covered. The only gap is the unexplained `graph_id` parameter, which matters for an agent operating across multiple graphs.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden. It fully explains `node` (accepts an id or a description) and `is_global` (true/false/omitted semantics), but `graph_id` is never mentioned in the description or the schema, leaving one of three parameters undocumented.

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?

States a specific verb and resource ('List semantic contexts') and immediately defines what a semantic context actually is (definitions, rules, caveats attached to the graph). The closing line explicitly routes text-meaning lookups to the sibling search_nodes, so an agent can separate it from the other search tools without opening a schema.

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?

Gives explicit when-to-use branches: with `node` scopes to that node's contexts, without `node` returns everything with `is_global` narrowing to graph-wide vs node-attached. It also names the alternative (search_nodes) for the case this tool cannot serve, which is exactly the exclusion guidance the dimension asks for.

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