{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "directus--directus",
    "name": "Directus",
    "tagline": "Backend and Studio over any SQL database with a built-in MCP server; source-available, free under revenue caps.",
    "shortTagline": "SQL backend with a built-in MCP",
    "description": "Directus wraps a SQL database with REST and GraphQL APIs, a visual Studio for non-technical editors, flows for automation, and policy-based access control. Since v11.12 it includes a native MCP server switched on in Settings > AI, so an agent can manage items, collections, fields, relations, files, and flows under the same permissions as a human user. Configured entirely by env vars. Licensed MSCL 1.0, free for organizations under $5M revenue and 50 staff.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "content-publishing",
    "alternativeTo": [
      "Contentful",
      "Airtable"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "hybrid",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "Node.js",
        "Vue"
      ],
      "packageManager": "pnpm",
      "database": [
        "PostgreSQL",
        "MySQL",
        "MariaDB",
        "MS SQL",
        "SQLite",
        "OracleDB",
        "CockroachDB"
      ],
      "hostingTarget": [
        "Docker",
        "Railway one-click",
        "Directus Cloud"
      ]
    },
    "modelStack": {
      "providers": [
        "OpenAI",
        "Anthropic",
        "Google Gemini (AI Assistant, optional)"
      ],
      "models": [],
      "requiredKeys": [],
      "promptLocations": [],
      "tools": []
    },
    "repos": [
      {
        "url": "https://github.com/directus/directus",
        "owner": "directus",
        "name": "directus",
        "license": "MSCL-1.0 (source-available; GitHub NOASSERTION)",
        "stars": 37684,
        "lastCommit": "2026-09-02"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://directus.com/docs/guides/ai/mcp",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create, read, update, and delete items",
        "reachable": true,
        "evidence": "MCP docs: items create, edit, manage"
      },
      {
        "job": "Build collections",
        "reachable": true,
        "evidence": "MCP docs: build and configure collections"
      },
      {
        "job": "Define fields and validation",
        "reachable": true,
        "evidence": "MCP docs: field types and validation rules"
      },
      {
        "job": "Model relations",
        "reachable": true,
        "evidence": "MCP docs: M2O, O2M, M2M, M2A relationships"
      },
      {
        "job": "Manage file metadata and folders",
        "reachable": true,
        "evidence": "MCP docs: alt text, descriptions, tags, folder organization"
      },
      {
        "job": "Create automation flows",
        "reachable": true,
        "evidence": "MCP docs: generate flows triggered by database events"
      },
      {
        "job": "Upload binary files",
        "reachable": null,
        "evidence": "metadata management documented; binary upload over MCP not stated"
      },
      {
        "job": "Manage users, roles, and policies",
        "reachable": null,
        "evidence": "MCP respects permissions; managing them is not listed"
      },
      {
        "job": "Translate content",
        "reachable": null,
        "evidence": "AI Assistant runs translations in Studio; MCP tool not listed"
      },
      {
        "job": "Build Studio dashboards and insights",
        "reachable": false,
        "evidence": "Studio UI feature; no MCP tool"
      }
    ],
    "editions": [
      {
        "name": "Core (self-hosted)",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/directus/directus"
          },
          {
            "kind": "container",
            "url": "https://directus.com/docs/self-hosting"
          },
          {
            "kind": "one-click",
            "url": "https://railway.com/deploy/directus-official"
          }
        ]
      },
      {
        "name": "Open Innovation Grant (self-hosted)",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://directus.com/oig"
          }
        ]
      },
      {
        "name": "Team",
        "price": {
          "amount": 499,
          "currency": "USD",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://directus.com/pricing"
          }
        ]
      },
      {
        "name": "Enterprise",
        "price": null,
        "open": false,
        "distributions": []
      },
      {
        "name": "Directus Cloud hosting add-on",
        "price": {
          "amount": 99,
          "currency": "USD",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://directus.cloud"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or skills install target in the repo."
    },
    "customization": {
      "summary": "The env surface (.env or CONFIG_PATH: KEY, SECRET, DB_*, PUBLIC_URL, ADMIN_*, storage, LICENSE_*) is deployment configuration; business adaptation lives in the Studio admin UI: Settings > Data Model, Flows, Access Policies and Roles, and Project Settings for branding. Custom email templates need EMAIL_TEMPLATES_PATH plus Liquid files, and anything beyond that is code in extensions/.",
      "envVars": [
        "KEY",
        "SECRET",
        "DB_CLIENT",
        "DB_CONNECTION_STRING",
        "HOST",
        "PORT",
        "PUBLIC_URL",
        "SERVE_APP",
        "ADMIN_EMAIL",
        "ADMIN_PASSWORD",
        "ADMIN_TOKEN",
        "CONFIG_PATH",
        "LICENSE_KEY",
        "LICENSE_TOKEN",
        "EMAIL_TEMPLATES_PATH"
      ],
      "configFiles": [
        ".env",
        "docker-compose.yml",
        "extensions/"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "surfaceKind": "admin-ui",
      "editCount": 18
    },
    "useWhen": [
      "I have a database already and want an admin UI and API on top that my agent can also write to",
      "I want editors in a Studio and an agent creating collections and content under the same permission rules"
    ],
    "accounts": [
      "Directus (license key for Open Innovation Grant or commercial tiers)",
      "OpenAI, Anthropic, or Gemini (optional AI Assistant)"
    ],
    "active": true,
    "lastActivity": "2026-09-02",
    "gotchas": [
      "MSCL 1.0 is source-available, not OSI open source; organizations over $5M revenue or 50 employees need a commercial license",
      "Free Core tier caps at 3 seats, 25 collections, and 5 flows unless you apply for the Open Innovation Grant",
      "Remote MCP requires v11.12+; older versions fall back to a Node.js MCP server",
      "Create a dedicated MCP user and token rather than using an admin token",
      "398 open issues; large surface, expect upgrade notes between releases"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: API layer plus visual Studio, self-host or cloud",
      "executionModel": "core is deterministic; README: embedded AI Assistant creates, translates, and takes actions with OpenAI, Anthropic, or Gemini",
      "operability": "README and directus.com/docs/guides/ai/mcp: native MCP server enabled in Settings > AI with a token, published by Directus",
      "effort": "directus.com/docs/configuration/general: env vars in .env through CONFIG_PATH; triage confirmed extensive documented env surface",
      "editions": "directus.com/pricing: Core free with caps, OIG free under thresholds, Team $499 per month annual, Enterprise custom, Cloud $99 per month add-on",
      "active": "pushedAt 2026-09-02",
      "provenance": "Monospace-built since 2004 lineage; no vibe-coded claim"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.7,
      "operability": 0.9,
      "effort": 0.85,
      "reach": 0.75,
      "editions": 0.8,
      "provenance": 0.9
    },
    "openQuestions": [
      "Full MCP tool names (docs page describes capabilities without listing tool names)",
      "Does the Core tier's 25-collection cap apply to collections created over MCP?",
      "Confirm DB_CLIENT and DB_CONNECTION_STRING names on the database configuration page (general page fetched only)"
    ],
    "sources": [
      {
        "url": "https://github.com/directus/directus",
        "foundBy": "sourcing:content-publishing:vendor"
      },
      {
        "url": "https://directus.com/docs/guides/ai/mcp",
        "foundBy": "analysis:content-publishing"
      },
      {
        "url": "https://directus.com/docs/configuration/general",
        "foundBy": "analysis:content-publishing"
      },
      {
        "url": "https://directus.com/pricing",
        "foundBy": "analysis:content-publishing"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "dispute",
      "reason": "Verified against the repo tree and env package: every named env var is deployment plumbing, while collections, fields, flows, roles and branding are set in the Studio. Repo has no .env.example at root; docker-compose.yml is there.",
      "disputed": [
        {
          "field": "customization.effort",
          "reason": "Named env vars only deploy Directus; the data model, flows, roles and branding that make it yours are configured in the Studio admin UI, not in files."
        }
      ]
    },
    "url": "apps/directus--directus.html",
    "coverage": "partial",
    "paid": true,
    "source": "research/verified/directus--directus.json"
  }
}
