preset-mcp ยท diff

git:20260611.bdc16b2 to git:20261007.d55e493

7 added, 5 removed. Audit A to A.

---
name: preset-mcp
description: Route Superset MCP tool workflows, source-of-truth checks, and surface-boundary decisions. Use only for MCP tool workflows; do not use for direct API work.
---
# preset-mcp
Use for Superset MCP intent, MCP tool routing, and MCP/API surface-boundary decisions.
## Always
- Stay on MCP tools for MCP intent.
- - Treat `superset/superset/mcp_service` as the only source of truth for MCP tool names, schemas, tags, annotations, prompts, resources, and RBAC metadata.
- - Call tools directly with the obvious parameters; fetch a tool's schema only after a validation error. These skills are workflow guidance, not schema definitions.
+ - Name the connected surface first. A direct workspace connection's tool names, schemas, tags, annotations, prompts, resources, and RBAC metadata come from the live Superset MCP service (`superset/superset/mcp_service`). The Preset MCP gateway defines its own top-level tools (`list_workspaces`, `list_workspace_services`, `search_workspace_tools`, `call_tool`, and others); Superset defines only the workspace tools reached through them. Use `preset-mcp-gateway` on a gateway.
+ - Direct connection: call tools directly with the obvious parameters; fetch a tool's schema only after a validation error. Gateway: read the live `inputSchema` from `search_workspace_tools` before `call_tool`. These skills are workflow guidance, not schema definitions.
- Do not use direct Preset Management API, Superset REST API, Snowflake Cortex API, curl, Python requests, exports, or database calls from this package.
- If MCP cannot satisfy the request, stop and explain the missing MCP capability. Do not switch surfaces.
## Decision Rules
- MCP intent includes MCP tools, MCP clients, Superset MCP, Preset MCP, MCP resources, MCP prompts, tool discovery, and MCP tool errors.
- Direct API intent includes API credentials, REST endpoints, OpenAPI, curl/Python requests, Management API, workspace API, and Snowflake Cortex APIs.
- If the user starts with MCP intent and mentions direct API only as a fallback, keep MCP intent. Say: "No API fallback. Direct API is a different surface and requires separate explicit approval. Stop before API calls."
- When the session is connected through MCP tools and the user has not named a surface, default to MCP and proceed; ask only when the user explicitly mixes both surfaces in one request.
- - Use a domain skill after routing: discovery, data, visualization, dashboard, sqllab, datasets, or troubleshooting.
+ - Gateway tools listed (`list_workspaces`, `search_workspace_tools`) or the user wants to connect a client: use `preset-mcp-gateway` before any domain skill.
+ - Use a domain skill after routing: discovery, data, visualization, dashboard, sqllab, datasets, or troubleshooting. On a gateway, domain-skill tools are workspace tools called through `call_tool` with a `workspace_id`.
## Workflow Order
1. Identify whether the user requested MCP or direct API.
- 2. For MCP, choose the narrowest MCP domain skill.
- 3. Call the tool with the obvious parameters; consult its schema only after a validation error.
+ 2. For MCP, identify the surface (gateway or direct workspace), then choose the narrowest MCP domain skill.
+ 3. Direct: call the tool with the obvious parameters and consult its schema only after a validation error. Gateway: select the workspace, search, read the schema, then `call_tool`.
4. If MCP lacks a requested capability, explain the missing MCP capability.
5. Ask before changing surfaces and stop before API calls.
## Retrieve
+ - Gateway connection and multi-workspace flow: the `preset-mcp-gateway` skill
- Tool categories and loading strategy: [references/tool-categories.md](references/tool-categories.md)
- Surface boundary examples: [references/surface-boundary.md](references/surface-boundary.md)