mcpField
A
Acme CRM example

Acme CRM example

Local
github.comDeveloper Tools0Updated 5d ago

About Acme CRM example

Acme CRM example is a WireCat-compatible CLI demonstrating how a third-party tool can connect to WireCat. It uses synthetic data for a fictional CRM and is intended for integration examples, not real CRM management.

Key features

  1. 01Sign in with tokens stored in the OS keyring
  2. 02Sync organizations, people, deals, and invoice proposals
  3. 03List and inspect deals and contacts
  4. 04Provide a WireCat Desktop manifest
  5. 05Include an MCP server and agent skill

Use cases

  1. 01Explore how a community CLI plugs into WireCat
  2. 02Test CRM sync flows with synthetic records
  3. 03Use agent commands to inspect deals and contacts

MCP support

The CLI provides an MCP server and a command to print its MCP configuration as JSON. Agents can use it to run sync and CRM read commands.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"leemour-acme-crm-cli": {
"command": "npx",
"args": [
"-y",
"@leemour/acme-crm-cli"
]
}
}
}
Run commandnpx -y @leemour/acme-crm-cli

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@leemour/acme-crm-cli0.3.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

acme-crm

@leemour/acme-crm-cli is an example of a WireCat-compatible CLI built outside WireCatLabs. It talks to Acme CRM, a service that does not exist: with ACME_CRM_BASE_URL unset, the CLI answers from a built-in fake that holds synthetic data only (10 organizations, 25 people, 15 deals, 8 invoices). Every name is made up and every address is on example.com. Use it to see how a third-party tool plugs into WireCat, not to manage a real CRM.

It shows the pieces a real tool needs:

  • sign-in with session start, the token kept in the OS keyring;
  • sync, which copies organizations, people and deals through cli-core's CRM port and imports invoices through the records envelope, as invoice: proposals the owner confirms in WireCat;
  • read commands with declared effects and JSON output: deals list, deals show, contacts list, contacts show;
  • contracts/wirecat.json, the manifest WireCat Desktop reads, and an MCP server and agent skill.

Install

WireCat Desktop plans to take a community tool it has not checked, such as @leemour/acme-crm-cli, once its owner turns that on; it checks the package's provenance record, which only versions published by release.yml carry. Until then, install it from a terminal:

npm install -g @leemour/acme-crm-cli

Sign a profile in. The fake takes any token that starts with acme_test_, such as acme_test_demo:

acme-crm personal session start
acme-crm personal sync
acme-crm personal deals list status:open

Every command that uses an account names its profile (personal above). The tool never picks one for you.

Agent usage

acme-crm skill install --for claude
acme-crm personal mcp config --json

An agent then runs, for example:

acme-crm personal sync --json
acme-crm personal deals list status:won --json=ref,title,amount,currency
acme-crm personal contacts show per_01 --json

Development

pnpm install
pnpm test
pnpm generate

The design is in docs/dev/DESIGN.md. bin/first-publish publishes the first version by hand; later versions go out through .github/workflows/release.yml with npm trusted publishing.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.