← Files Anomaly AIARCHIVED FILE

plugin.json

7.21 KB · Nov 3, 2026 · 19:23 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "anomaly-ai",
  "version": "1.0.0",
  "description": "Ask Anomaly AI's data analyst about your data and get answers, charts, dashboard links and files back.",
  "author": {
    "name": "Anomaly AI",
    "url": "https://www.findanomaly.ai"
  },
  "homepage": "https://www.findanomaly.ai/mcp",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Anomaly AI",
        "shortDescription": "AI data analyst for your data",
        "longDescription": "Anomaly AI turns your spreadsheet, GA4, database and warehouse data into insights and dashboards you can verify. This plugin hands a data question to Anomaly's analyst without leaving the chat.\n\nAnomaly analyzes large datasets and spreadsheets, including Excel and CSV files, Google Sheets, GA4, BigQuery and databases that you have connected to a project in your Anomaly account.\n\nWith this plugin you can:\n- List your Anomaly projects.\n- List the conversations in a project, including ones started in the Anomaly app, and continue one with its context.\n- Ask a question about a project's data. Anomaly does the analysis itself and can produce queries, charts, dashboards, spreadsheets and reports.\n- Collect the answer to a longer analysis once it has finished.\n\nEach answer comes back as plain text, with a link to open every dashboard or insight in Anomaly, a download link for every file it generated, and pictures of the charts.\n\nSign-in uses OAuth: you sign in to Anomaly in your browser and approve the connection. You never paste an API key or token.\n\nRequirements: an Anomaly account with data connected in at least one project. Each question uses your account's existing Anomaly credits and is saved as a chat in the project.\n\nSetup guide: https://www.findanomaly.ai/mcp",
        "developerName": "Anomaly AI",
        "category": "Data & Analytics",
        "capabilities": [
          "List your Anomaly projects and the conversations in each project",
          "Ask Anomaly's analyst a question about a project's data",
          "Get charts, dashboards, spreadsheets and reports built from your connected data",
          "Open each dashboard or insight in Anomaly from a link in the answer",
          "Download each file Anomaly generated from a link in the answer",
          "Continue an earlier Anomaly conversation with its context"
        ],
        "websiteURL": "https://www.findanomaly.ai",
        "supportURL": "https://www.findanomaly.ai/contact",
        "privacyPolicyURL": "https://www.findanomaly.ai/privacy",
        "termsOfServiceURL": "https://www.findanomaly.ai/terms",
        "defaultPrompt": [
          "List my Anomaly projects",
          "Ask Anomaly which product category had the highest total profit in my sales project",
          "Have Anomaly build a dashboard of monthly sales by region in my sales project"
        ],
        "brandColor": "#2dc295",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "List the signed-in user's Anomaly projects.",
              "prompt": "List my Anomaly projects.",
              "tools_triggered": "list_projects",
              "expected_behavior": "Calls list_projects with no arguments and lists each project with its name, id and last-activity date. The list includes Sample Sales."
            },
            {
              "description": "Answer a direct question about a project's data.",
              "prompt": "In my Anomaly project Sample Sales, which product category had the highest total profit, and how much was it?",
              "tools_triggered": "list_projects, ask_anomaly, get_answer",
              "expected_behavior": "Finds the Sample Sales project id with list_projects, then calls ask_anomaly with project_id and the question. If the status is working, calls get_answer with the conversation id until complete. Answers Technology, about $11,939 total profit (then Furniture about $10,774 and Office Supplies about $5,297), with an Open in Anomaly link."
            },
            {
              "description": "Build a dashboard and return its link.",
              "prompt": "Ask Anomaly to build a dashboard of monthly sales by region in Sample Sales and give me the link.",
              "tools_triggered": "ask_anomaly, get_answer",
              "expected_behavior": "Calls ask_anomaly; usually returns working, then get_answer until complete. Replies with a short summary, the dashboard listed under Created or updated in Anomaly, and an Open in Anomaly link that opens it."
            },
            {
              "description": "Create a spreadsheet and return a download link.",
              "prompt": "Have Anomaly create an Excel workbook of sales and profit by category from Sample Sales, and give me the download link.",
              "tools_triggered": "ask_anomaly, get_answer",
              "expected_behavior": "Calls ask_anomaly, then get_answer if needed. Replies with a summary and the workbook with an Open in Anomaly link and a download link that stays valid for 60 minutes."
            },
            {
              "description": "Continue an earlier conversation with its context.",
              "prompt": "Show my recent Anomaly conversations in Sample Sales, then continue the latest one and break its answer down by region.",
              "tools_triggered": "list_projects, list_conversations, ask_anomaly",
              "expected_behavior": "Calls list_conversations with the project id, then ask_anomaly with the newest conversation_id and the follow-up. Lists the conversations, then answers in the same conversation broken down by region."
            }
          ],
          "negative": [
            {
              "description": "General coding help that does not involve the user's Anomaly data. No Anomaly tool should be called.",
              "prompt": "Write a Python function that removes duplicate rows from a pandas DataFrame."
            },
            {
              "description": "A general statistics question with no dataset. Calling ask_anomaly would use the user's credits for nothing.",
              "prompt": "Explain the difference between a mean and a median, with an example."
            },
            {
              "description": "A purchase or upgrade request. The plugin cannot make purchases; plans and credits are managed in the Anomaly app.",
              "prompt": "Buy more Anomaly credits for me and upgrade my plan."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/idvnI0akNR8",
        "commerce": false
      },
      "publication": {
        "countries": [],
        "release_notes": "Initial submission. Anomaly AI connects ChatGPT to the user's own Anomaly account through a remote MCP server (https://mcp.findanomaly.ai/mcp, Streamable HTTP, OAuth with dynamic client registration and PKCE). Four tools: list_projects and list_conversations (read-only), ask_anomaly (starts or continues an analysis in the user's project and uses the account's Anomaly credits), and get_answer (read-only; collects the result of a long-running analysis). No custom UI."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 62bade7e09e05a1ff85ad7bf571207d46a84bff1fe84da1a5bd4725fbd7ae5ea