Customermates

io.github.benjiwagnerPublished by GitHub account benjiwagnerv1.1.0Updated Nov 13, 2026

Open-source CRM: Claude, ChatGPT or any MCP client works with records, inbox and company knowledge.

Overview

AI-generated overview

Connects an AI assistant to the Customermates open-source CRM so it can work with records, the client inbox and company knowledge.

What you can do
  • Work with CRM records: contacts, organizations, deals, services and tasks
  • Read and act on the unified client inbox across email, LinkedIn and other channels
  • Draft replies and next steps for client conversations for a human to review and send
  • Use company knowledge and workspace data alongside the records
  • Access the same workspace from Claude, ChatGPT or any MCP client
When to use it
Useful for small teams that already run Customermates (cloud or self-hosted) and want an assistant to look up client records, follow up on conversations and draft replies without switching apps.
Requirements
A remote MCP endpoint at customermates.com. Authentication is OAuth (required) or an API key sent in the x-api-key header. A Customermates account and workspace are needed; each workspace has its own API keys and MCP connections.
Before you install
The API key in the x-api-key header grants access to CRM data, so treat it as a secret. The assistant can draft and act on client conversations and records, so review outgoing replies before sending. Cloud plans are billed monthly per seat, and some inbox channels require the Pro plan. Data lives in the Customermates workspace, hosted by the vendor on Cloud.

Installation

In SourceWeft

  1. Open Customermates in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.benjiwagner%2Fcustomermates/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "customermates": {
      "type": "http",
      "url": "https://customermates.com/api/v1/mcp"
    }
  }
}

README

[Customermates]

Follow up on every client conversation. The open-source CRM with LinkedIn and email beside every client, replies drafted by Mate or your own AI agent through MCP, and self-hosting under the AGPL.

Website | Demo | Documentation | GitHub | Film

[As seen on Open Source Alternatives]

[Customermates: every client conversation in one place. Follow up on every one.]

Customermates helps small teams follow up on every client conversation. LinkedIn and email sit beside each client (on Cloud from Pro also WhatsApp, Instagram and Telegram), and Mate or your own AI agent through MCP drafts each reply and the next step for you to review and send. Underneath is a full CRM for contacts, organizations, deals, services and tasks, with API access, webhooks, n8n automation and MCP.

You can use the managed cloud version or run Customermates yourself in your own infrastructure with Docker Compose.

Product film

The 70 second product film shows the workspace: client conversations from email, LinkedIn and WhatsApp in one inbox, Mate drafting the reply and the next step, and the same records open to Claude, ChatGPT or any agent that speaks MCP.

Watch the film or find it in this repository at public/customermates-film.mp4.

🚀 Getting Started

There are two ways to start using Customermates:

OptionDescription
CloudFastest way to get started. Managed by Customermates.
Self-HostingRun Customermates on your own server with Docker Compose and PostgreSQL.

Docs entry points:

⭐ Key Features

  • CRM for contacts, organizations, deals, services, and tasks
  • API access with OpenAPI documentation
  • Webhooks and event-driven integrations
  • n8n workflows and automation support
  • MCP support for agent tooling and structured tool calling
  • Unified inbox for email, LinkedIn, WhatsApp, Instagram, and Telegram (Cloud, from the Pro plan)
  • Audit logging
  • Single Sign-On and Whitelabeling on the Enterprise plan (self-hosted Enterprise deployments by agreement)
  • Role-based access control for teams
  • Several isolated workspaces per login, each with its own data model, members, billing, API keys and MCP connections
  • Self-hosted deployment with Docker Compose and PostgreSQL
  • Cloud uses monthly per-seat pricing; see the current plans

📊 Comparison

Customermates supports both cloud and self-hosted deployment models.

CriterionCloudSelf-Hosted
Pricingmonthly per-seat plansfree core + infra costs
Setup Time2 minutes~15 minutes
Maintenance RequiredNoneDocker, Postgres, proxy, TLS, backups
UpdatesAutomaticdocker compose pull && docker compose up -d
EU-hosted✅wherever you put it
BackupsAutomatic dailyYou configure
API and integrations✅✅
Unlimited Users✅✅
Unlimited Records✅✅
Several workspaces per login✅ (each with its own plan)✅
n8n and automation workflows✅✅
Unified inbox and calendar syncfrom the Pro plan❌ (Cloud feature)
Audit logIncludedIncluded
Enterprise (SSO, Whitelabeling)Enterprise planBy agreement

If you want the full decision guide, see the Self-hosting docs.

🐳 Self-Hosting

Self-hosting is two files (docker-compose.yml and .env) plus docker compose up -d. No git clone, no build step. The published image at ghcr.io/customermates/customermates:latest applies pending migrations every time it starts.

Prerequisites

  • Docker and Docker Compose v2.
  • A domain name if you want TLS (optional for local).
  • ~2 GB RAM and a couple of GB of disk per thousand records.

Setup

bash
mkdir customermates && cd customermatescurl -fsSL https://raw.githubusercontent.com/customermates/customermates/main/docker-compose.yml -o docker-compose.ymlcurl -fsSL https://raw.githubusercontent.com/customermates/customermates/main/.env.selfhost.template -o .env# edit .env with real valuesdocker compose up -d

Required .env values:

  • BETTER_AUTH_SECRET: long random string (openssl rand -hex 32).
  • POSTGRES_PASSWORD: change the default.
  • BASE_URL: your public URL (e.g. https://crm.example.com).
  • RESEND_API_KEY and RESEND_OPERATOR_EMAIL: for signup verification, password reset, and invitation emails.

Optional: uncomment GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET, or AZURE_AD_CLIENT_ID and AZURE_AD_CLIENT_SECRET, to offer sign-in with Google or Microsoft. See Can users sign in with Google or Microsoft?.

Set CRON_SECRET (openssl rand -hex 32) and call /api/cron/lifecycle daily with it, or Trash is never emptied after 30 days. See Which scheduled jobs must I run?.

First boot takes ~1 minute while Prisma applies migrations. Watch with docker compose logs -f app, then open <BASE_URL>/auth/signup.

Day-to-day

bash
docker compose pull && docker compose up -d   # updatedocker compose up -d                           # apply .env changesdocker compose logs -f app                     # logs

Front the app with a reverse proxy (Caddy, nginx, Traefik) for TLS and set BASE_URL to the public https:// address. Customermates takes the scheme and host for its links from BASE_URL and sets secure cookies when it uses https://, so X-Forwarded-Proto is not required. The proxy must pass on the original Host header, because the app rejects form submissions whose origin does not match it, including sign-in and sign-up.

More docs:

🛠️ Development

Create an isolated worktree and run Customermates locally:

bash
git fetch origin maingit worktree add ../customermates-my-change -b feat/my-change origin/maincd ../customermates-my-changenvm useyarn db:provisioncp .env.cloud.template .env# Paste the printed DATABASE_URL and DIRECT_URL into .env.yarn install --frozen-lockfileyarn db:resetyarn dev

yarn db:provision creates a PostgreSQL 17 container and named volume owned by the current worktree. Re-running it is idempotent. yarn db:reset applies the migrations, seeds the database, and prepares the workflow schemas. Replacing the database volume is destructive and only happens with yarn db:provision --recreate; use yarn db:provision --destroy to remove the worktree's owned database when the worktree is retired.

Useful scripts:

  • yarn dev
  • yarn build
  • yarn lint
  • yarn openapi:generate
  • yarn db:provision
  • yarn db:reset

For configurable CRM architecture review, isolated databases, production-build browser journeys and SSH verification, see the browser verification guide.

📚 Documentation

The docs cover:

  • product overview and CRM comparison
  • self-hosting and operations
  • API integrations and OpenAPI
  • MCP and n8n
  • architecture and security

Start here: customermates.com/docs

📄 License

Customermates uses an open-core licensing model, described in LICENSING.md.

The Community Edition (all first-party code outside ee/) is licensed under AGPL-3.0-only.

Other first-party files in ee/ are source-available under the Customermates Commercial License, subject to its AGPL client-material exception. Production use of Commercial Software outside the limited Community Build permission, including any Enterprise Feature, requires a Commercial Agreement.

The official Community image at ghcr.io/customermates/customermates is built from the shared codebase and contains compiled Commercial Software. The limited Community Build permission allows anyone to run its unmodified commercial support components where documented APP_MODE=self-hosted operation necessarily executes them; it does not license Enterprise Feature use.

Contributor terms are available in .github/CLA.md.

Third-party data keeps its own license: the address formats from Google libaddressinput that ship with Customermates and the postal codes it downloads from GeoNames are licensed under CC BY 4.0, see THIRD_PARTY_NOTICES.md.

Source: README.md at commit 175cf27

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v1.1.0LatestNov 13, 2026
  2. v0.1.0Oct 1, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts