semantic-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONPATH | Yes | Set to 'src' to allow Python to find the semantic_mcp package when running from the repository. | src |
| ANTHROPIC_API_KEY | No | API key for LLM mode. Optional; not needed for the default deterministic mode. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_metricsA | Lista todas as métricas do contrato semântico, com rótulo, descrição de negócio e dimensões aplicáveis. Comece por aqui: é o vocabulário completo que você pode usar. |
| describe_metricA | Definição completa de uma métrica: expressão, grão, dimensões e filtros permitidos, e as notas de quando usar e quando NÃO usar. Consulte antes de montar um recorte incomum. |
| query_metricA | Executa uma métrica com recortes e filtros opcionais. NÃO aceita SQL: informe apenas nomes declarados no contrato. Devolve as linhas, a definição da métrica e o SQL compilado, para auditoria. |
| explain_lineageA | Cadeia de modelos dbt que produz a métrica, do source ao mart. Use para responder de onde vem o número. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: list_metrics enumerates the vocabulary, describe_metric gives the full contract for one metric, query_metric executes it, and explain_lineage traces its dbt provenance. The list-vs-describe overlap is mitigated by the descriptions specifying different granularity and by explicit guidance to start with list_metrics.
All four tools follow a uniform verb_noun snake_case pattern (list_metrics, describe_metric, query_metric, explain_lineage). The convention is predictable and readable throughout, with no mixing of styles.
Four tools is well-scoped for a semantic-layer contract server: discovery, definition, execution, and lineage each earn their place. There is no redundant or filler tool.
The surface covers the full read lifecycle of a metric (discover, inspect, query, trace lineage), which is appropriate for a read-only semantic contract. A minor gap is the lack of a way to enumerate valid dimension/filter values (e.g. distinct dimension members) to help build recortes.