Claude Cursor GitHub Copilot Skill

preset-mcp

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.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download preset-io-agent-skills-plugins_preset-mcp-skills_skills_preset-mcp-73d2674.zip · 2 KB
Part of preset-io/agent-skills — 28 skills

Install

skills CLI npx skills add https://github.com/preset-io/agent-skills/tree/master/plugins/preset-mcp-skills/skills/preset-mcp
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install preset-io-agent-skills@llmmart
Git git clone https://github.com/preset-io/agent-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole preset-io/agent-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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.
  • 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.

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.
  4. If MCP lacks a requested capability, explain the missing MCP capability.
  5. Ask before changing surfaces and stop before API calls.

Retrieve

Files (agent-skills)
  • references
    • surface-boundary.md 1.5 KB
      # Surface Boundary
      
      MCP skills do not provide direct API fallback.
      
      Primary requested surface wins:
      
      - "Use MCP; if MCP cannot do it, call the REST API" is MCP intent with an unapproved surface change.
      - "Use the Preset API; if the route is annoying, use MCP" is direct API intent with an unapproved surface change.
      - A fallback mention does not change the selected surface.
      
      If MCP lacks a capability:
      
      1. State that the requested operation is not available through the current MCP tool surface.
      2. Explain what MCP can do instead, if there is a close MCP workflow.
      3. Say: "No API fallback. Direct API is a different surface and requires separate explicit approval."
      4. Ask before changing surfaces.
      5. Stop before API calls.
      
      Use direct API skills only when the user explicitly starts a direct API workflow, for example:
      
      - "Use the Preset API..."
      - "Call the Superset REST endpoint..."
      - "Show me curl/Python for..."
      - "Inspect the OpenAPI..."
      
      Do not load `preset-api-skills` from an MCP workflow just because a direct endpoint exists.
      
      Use boundary wording that keeps the action on MCP: "No API fallback", "direct API is a different surface", "ask before changing surfaces", "do not switch to direct API", and "stop before API calls".
      
      Avoid phrasing the rejected path as a fallback to perform. Prefer "No API fallback. Direct API is a different surface and requires separate explicit approval. Stop before API calls." Do not say "start a direct API workflow" inside an MCP response.
      
    • tool-categories.md 1.2 KB
      # MCP Tool Categories
      
      Use the live Superset MCP server as the source of truth. Current durable categories:
      
      | Tag | Purpose | Representative Tools |
      |---|---|---|
      | `core` | Health, overview, lists, bug report | `health_check`, `get_instance_info`, `list_charts`, `list_dashboards`, `list_datasets`, `list_databases`, `generate_bug_report` |
      | `discovery` | Detailed metadata and schema discovery | `get_chart_info`, `get_dashboard_info`, `get_dataset_info`, `get_database_info`, `get_schema`, `get_chart_type_schema` |
      | `data` | Data-returning or SQL-text reads | `get_chart_data`, `get_chart_preview`, `get_chart_sql`, `query_dataset` |
      | `explore` | UI link generation | `generate_explore_link`, `open_sql_lab_with_context` |
      | `mutate` | Persistent or cached workspace changes | `generate_chart`, `update_chart`, `update_chart_preview`, `generate_dashboard`, `add_chart_to_existing_dashboard`, `execute_sql`, `save_sql_query`, `create_virtual_dataset` |
      
      Use the smallest set of calls that fulfills the request. Reach for discovery tools only when an ID, name, or schema is actually missing; go directly to data or mutation tools when the user's intent already calls for them.
      
  • SKILL.md 2.3 KB
    ---
    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.
    - 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.
    
    ## 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.
    4. If MCP lacks a requested capability, explain the missing MCP capability.
    5. Ask before changing surfaces and stop before API calls.
    
    ## Retrieve
    
    - Tool categories and loading strategy: [references/tool-categories.md](references/tool-categories.md)
    - Surface boundary examples: [references/surface-boundary.md](references/surface-boundary.md)
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related