← Files AltertableARCHIVED FILE
plugin.json
6.72 KB · Nov 6, 2026 · 07:12 UTC
{
"name": "altertable",
"version": "1.10.0",
"description": "Give ChatGPT and Codex governed access to Altertable for querying, ingestion, product analytics, insights, data apps, automation, and findings.",
"author": {
"name": "Altertable SAS",
"url": "https://github.com/altertable-ai"
},
"homepage": "https://altertable.ai",
"repository": "https://github.com/altertable-ai/skills",
"license": "MIT",
"keywords": [
"altertable",
"analytics",
"catalogs",
"chatgpt-data",
"data-agent",
"lakehouse",
"data-warehouse",
"semantic-layer",
"ingestion",
"automation",
"product-analytics",
"findings",
"sql"
],
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"extensions": {
"com.openai": {
"interface": {
"displayName": "Altertable",
"shortDescription": "Governed data and analytics",
"longDescription": "Connect ChatGPT and Codex to Altertable. Agents get skills plus MCP access to explore catalogs, run SQL, ingest data, and work with insights, dashboards, data apps, product analytics, automation, and findings on the same governed data your team uses.",
"developerName": "Altertable SAS",
"category": "Data & Analytics",
"websiteURL": "https://altertable.ai",
"privacyPolicyURL": "https://altertable.ai/privacy-policy",
"termsOfServiceURL": "https://altertable.ai/terms-of-service",
"capabilities": [
"Read"
],
"defaultPrompt": [
"Use Altertable to list available catalogs, tables, and semantic definitions.",
"Use Altertable to explain this month's metrics with read-only DuckDB SQL.",
"Use Altertable as the data source for an adoption and retention dashboard."
],
"composerIcon": "./assets/composer-icon.png",
"composerIconDark": "./assets/composer-icon-dark.png",
"logo": "./assets/logo.png",
"supportURL": "https://github.com/altertable-ai/skills/issues"
},
"review": {
"commerce": false,
"test_cases": {
"positive": [
{
"description": "Setup: connect the submitted MCP server to a dedicated demo environment with read-only access. Call initialize before other tools. Discover governed catalogs without changing data.",
"prompt": "Show the available data catalogs in my current Altertable environment, including whether each is read-only.",
"tools_triggered": "initialize, list_catalogs",
"expected_behavior": "Call list_catalogs with no arguments. Report only returned catalog names, engines and read_only values. If empty, explicitly report no available catalogs. Do not create or alter any resource."
},
{
"description": "Setup: connect the submitted MCP server to a dedicated demo environment with read-only access. Call initialize before other tools. Run a deterministic read-only query without fixture tables.",
"prompt": "Run this SQL in Altertable and show the raw result: SELECT 1 AS value;",
"tools_triggered": "initialize, query_lakehouse",
"expected_behavior": "Call query_lakehouse with statement SELECT 1 AS value;. Return one row with value 1 based on the actual result. Do not use execute_lakehouse or modify data."
},
{
"description": "Setup: connect the submitted MCP server to a dedicated demo environment with read-only access. Call initialize before other tools. Validate invalid SQL without executing it.",
"prompt": "Check whether this is valid DuckDB SQL without running it: SELECT FROM;",
"tools_triggered": "initialize, validate_sql",
"expected_behavior": "Call validate_sql with statement SELECT FROM;. Report valid=false and explain the returned syntax error. Do not call query_lakehouse or execute_lakehouse."
},
{
"description": "Setup: connect the submitted MCP server to a dedicated demo environment with read-only access. Call initialize before other tools. Delegate catalog orientation to the Altertable Agent.",
"prompt": "Ask the Altertable Agent what data is available to analyze in this environment. Do not create or change anything.",
"tools_triggered": "initialize, ask",
"expected_behavior": "Call ask with the complete question and read-only constraint; omit chat_id for this new investigation. Summarize the returned answer and limitations without inventing tables or repeating the investigation through direct catalog tools."
},
{
"description": "Setup: connect the submitted MCP server to a dedicated demo environment with read-only access. Call initialize before other tools. Inspect recurring work without scheduling or updating it.",
"prompt": "Show up to 10 existing recurring tasks in this Altertable environment. Do not change their schedules or status.",
"tools_triggered": "initialize, list_tasks",
"expected_behavior": "Call list_tasks with limit=10. Report the returned tasks and available states/schedules, or explicitly report an empty result. Do not call create_task, update_task or delete_task."
}
],
"negative": [
{
"description": "Outside capability: travel booking. Explain that Altertable cannot book flights. Do not invoke any Altertable tool or claim a booking.",
"prompt": "Book me a flight from Paris to Tokyo next Friday and pay for it."
},
{
"description": "Outside capability: payment processing. Explain that Altertable does not process refunds. Do not invoke any Altertable tool or claim a refund.",
"prompt": "Refund a customer's credit-card purchase directly through Altertable."
},
{
"description": "Outside capability: transactional messaging. Explain that this plugin has no email-delivery tool. Do not invoke Altertable tools or claim an email was sent.",
"prompt": "Send a password-reset email to alice@example.com using Altertable."
}
]
},
"demo_recording_url": "https://assets.altertable.ai/plugins/chatgpt/walkthrough.mov"
},
"publication": {
"countries": [],
"release_notes": "Centralizes hosted data-app authoring in build-data-app, including Finding documents and metric illustrations. Adds consistent readable skill display names and improves installation guidance. Includes all 14 current skills, light/dark composer icons, the hosted MCP connection, and the existing review walkthrough."
},
"apps": "./.app.json"
}
}
}
SHA-256: 7a7cdef16fb7db5656b370134a7bd54445776cc36cdc51e08b53a63d6b225a58