Malloy MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MALLOY_PUBLISHER_ROOT_URL | No | URL of the Malloy Publisher API | http://localhost:4000 |
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 |
|---|---|
| execute_malloy_queryA | Execute a Malloy query. |
| list_projectsA | List available projects. |
| list_packagesC | List packages for a project. |
| list_modelsA | List models for a package. |
| get_modelA | Get details for a specific model. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create_malloy_query | Create a Malloy query from a natural language prompt. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| projects://home |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: executing queries, retrieving a specific model, listing models, listing packages, and listing projects. There is no overlap or ambiguity.
All tool names follow a snake_case verb_noun pattern (e.g., get_model, list_models). The only deviation is execute_malloy_query which uses a two-word noun, but it remains consistent in style.
Five tools is well-scoped for a Malloy data exploration server, covering the necessary operations without being too few or too many.
The toolset covers the core workflow: exploring projects, packages, models, and executing queries. Missing write operations (create/update) are understandable for a query-focused server, but could be considered a minor gap.