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
- 01Sign in with tokens stored in the OS keyring
- 02Sync organizations, people, deals, and invoice proposals
- 03List and inspect deals and contacts
- 04Provide a WireCat Desktop manifest
- 05Include an MCP server and agent skill
Use cases
- 01Explore how a community CLI plugs into WireCat
- 02Test CRM sync flows with synthetic records
- 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.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEacme-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, asinvoice: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
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.