{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "relaticle--relaticle",
    "name": "Relaticle",
    "tagline": "Self-hosted Laravel CRM with a 37-tool MCP server, REST API and 22 custom field types.",
    "shortTagline": "Self-hosted Laravel CRM",
    "description": "Companies, people, opportunities, tasks and notes with team-scoped workspaces and a customisable data model, built on Laravel and Filament. The MCP server ships in the product: mcp.relaticle.com for the cloud edition, MCP_DOMAIN for self-host, with OAuth 2.1 or personal access tokens. AGPL-3.0 with Stripe billing and feature flags in .env.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "smb-ops-crm",
    "alternativeTo": [
      "HubSpot",
      "Pipedrive"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "hybrid",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "PHP",
        "JavaScript"
      ],
      "frameworks": [
        "Laravel 13",
        "Filament 5",
        "Livewire 4",
        "Vite"
      ],
      "packageManager": "composer + npm",
      "database": [
        "PostgreSQL 17",
        "Redis (optional)"
      ],
      "hostingTarget": [
        "Docker",
        "manual"
      ]
    },
    "modelStack": {
      "providers": [
        "Anthropic",
        "OpenAI",
        "Ollama",
        "self-hosted OpenAI-compatible"
      ],
      "models": [],
      "requiredKeys": [
        "ANTHROPIC_API_KEY",
        "OPENAI_API_KEY",
        "OLLAMA_BASE_URL",
        "OLLAMA_MODEL",
        "SELF_HOSTED_AI_URL",
        "SELF_HOSTED_AI_KEY",
        "SELF_HOSTED_AI_MODELS"
      ],
      "promptLocations": [],
      "tools": [
        "search",
        "fetch",
        "get-crm-schema-tool",
        "get-crm-summary-tool",
        "aggregate-opportunities-tool",
        "list-activity-tool",
        "list-custom-fields-tool",
        "list-companies-tool",
        "create-company-tool",
        "update-company-tool",
        "list-people-tool",
        "create-people-tool",
        "list-opportunities-tool",
        "create-opportunity-tool",
        "list-tasks-tool",
        "create-task-tool",
        "attach-task-to-entities-tool",
        "list-notes-tool",
        "create-note-tool"
      ]
    },
    "repos": [
      {
        "url": "https://github.com/relaticle/relaticle",
        "owner": "relaticle",
        "name": "relaticle",
        "license": "AGPL-3.0",
        "stars": 1590,
        "lastCommit": "2026-09-02"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://relaticle.com/docs/mcp",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Manage companies",
        "reachable": true,
        "evidence": "MCP tools list/get/create/update/delete-company-tool"
      },
      {
        "job": "Manage people",
        "reachable": true,
        "evidence": "MCP tools list/get/create/update/delete-people-tool"
      },
      {
        "job": "Manage opportunities and read pipeline totals",
        "reachable": true,
        "evidence": "MCP opportunity tools plus aggregate-opportunities-tool"
      },
      {
        "job": "Tasks and notes attached to records",
        "reachable": true,
        "evidence": "MCP task and note tools with attach/detach-to-entities"
      },
      {
        "job": "Search across the workspace",
        "reachable": true,
        "evidence": "MCP tools search, fetch, get-crm-summary-tool, list-activity-tool"
      },
      {
        "job": "Read the custom data model",
        "reachable": true,
        "evidence": "MCP tools get-crm-schema-tool, list-custom-fields-tool"
      },
      {
        "job": "Add or change custom fields",
        "reachable": false,
        "evidence": "Only list-custom-fields-tool exists; schema changes are in the Filament UI"
      },
      {
        "job": "Manage teams, workspaces and members",
        "reachable": false,
        "evidence": "No team or workspace tools; who-ami-tool is read-only; one workspace per connector"
      },
      {
        "job": "Import or export data",
        "reachable": null,
        "evidence": "Not in the MCP tool list; REST API not checked for import"
      }
    ],
    "editions": [
      {
        "name": "Self-hosted",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/relaticle/relaticle"
          },
          {
            "kind": "installable",
            "url": "https://relaticle.com/docs/self-hosting",
            "command": "git clone https://github.com/Relaticle/relaticle.git && cd relaticle && composer app-install"
          }
        ]
      },
      {
        "name": "Cloud",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://relaticle.com"
          }
        ]
      },
      {
        "name": "Cloud Pro",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://relaticle.com"
          }
        ]
      }
    ],
    "skills": {
      "kind": "contributor",
      "paths": [
        ".claude/skills/*/SKILL.md"
      ],
      "install": null,
      "note": "Repo tooling for Relaticle contributors: AI SDK development, business review, browser agent checks."
    },
    "customization": {
      "summary": "Standard Laravel .env plus RELATICLE_FEATURE_* flags that turn billing, blog, docs, social auth, onboarding seed and the support menu on or off, so a self-hoster strips the SaaS chrome without touching code. MCP_DOMAIN and MCP_ALLOWED_ORIGINS place the MCP server; ANTHROPIC_API_KEY, OPENAI_API_KEY or OLLAMA_* pick the model. Translations drop in as lang/<locale>/. Custom fields and pipelines are configured in-product.",
      "envVars": [
        "APP_URL",
        "APP_KEY",
        "APP_NAME",
        "DB_CONNECTION",
        "DB_HOST",
        "DB_DATABASE",
        "DB_USERNAME",
        "DB_PASSWORD",
        "MAIL_MAILER",
        "MAIL_HOST",
        "MAIL_FROM_ADDRESS",
        "MCP_DOMAIN",
        "MCP_ALLOWED_ORIGINS",
        "API_DOMAIN",
        "RELATICLE_FEATURE_BILLING",
        "RELATICLE_FEATURE_SOCIAL_AUTH",
        "RELATICLE_FEATURE_ONBOARD_SEED",
        "RELATICLE_FEATURE_SUPPORT_MENU",
        "RELATICLE_MAX_OWNED_WORKSPACES",
        "ANTHROPIC_API_KEY",
        "OPENAI_API_KEY",
        "OLLAMA_BASE_URL",
        "OLLAMA_MODEL",
        "GOOGLE_CLIENT_ID",
        "MICROSOFT_CLIENT_ID",
        "PASSPORT_PRIVATE_KEY",
        "PASSPORT_PUBLIC_KEY"
      ],
      "configFiles": [
        ".env.example",
        "config/",
        "docs/i18n.md"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 30
    },
    "useWhen": [
      "I want a CRM our agent can read and write through MCP from day one, hosted on our own server",
      "I want to run a white-label CRM for a client with billing and marketing pages switched off"
    ],
    "accounts": [
      "SMTP provider",
      "model provider (Anthropic, OpenAI or local Ollama; optional)",
      "Stripe (only if billing is on)"
    ],
    "active": true,
    "lastActivity": "2026-09-02",
    "gotchas": [
      "PHP 8.5 and PostgreSQL 17 minimums are newer than most hosts ship",
      "MCP rate limit 120 calls per minute per user, 25 records per page",
      "One workspace per MCP connector until revoked",
      "AGPL-3.0"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: Filament 5 and Livewire 4 web app",
      "executionModel": "ANTHROPIC_API_KEY, OPENAI_API_KEY, OLLAMA_* in .env.example; CRM core is deterministic",
      "operability": "relaticle.com/docs/mcp: 37 tools, OAuth 2.1 or PAT, streamable HTTP; MCP_DOMAIN in .env.example shows it ships in-product",
      "effort": ".env.example with RELATICLE_FEATURE_* flags and MCP_DOMAIN",
      "editions": "STRIPE_PRICE_PRO_MONTHLY and STRIPE_PRICE_CREDITS_* in .env.example; README: self-hosted AGPL",
      "active": "GitHub pushedAt 2026-09-02"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.8,
      "operability": 0.9,
      "effort": 0.9,
      "reach": 0.9,
      "editions": 0.6
    },
    "openQuestions": [
      "Cloud and Pro prices",
      "Is the MCP server native (agent as primary interface) or official? Classified official because the Filament UI is primary",
      "What do the AI keys power in-product (credits suggest an AI feature)?"
    ],
    "sources": [
      {
        "url": "https://github.com/relaticle/relaticle",
        "foundBy": "sourcing:smb-ops-crm:github"
      },
      {
        "url": "https://relaticle.com/docs/mcp",
        "foundBy": "sourcing:smb-ops-crm:github"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Both capabilities. In-product MCP with near-complete CRM Reach. Adaptable 2 on AGPL; feature flags make it a clean config-only surface.",
      "disputed": []
    },
    "url": "apps/relaticle--relaticle.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/relaticle--relaticle.json"
  }
}
