Skip to main content
Glama
lauramariel

Demo CRM MCP Server

by lauramariel

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for the Streamable HTTP entrypoint (e.g. `PORT=3000 npm run start:http`). The HTTP server listens at `http://localhost:<PORT>/mcp`.
DATA_DIRNoOverride the default data directory (default is `data/` next to the project). Data lives in `data/crm.db`, created and seeded on first run. If `DATA_DIR` isn't set and the default `data/` directory isn't writable, the server falls back to a directory under the OS temp dir.
MCP_API_KEYNoAPI key for the Streamable HTTP entrypoint. If set, `/mcp` requests need `Authorization: Bearer <key>` or they get a 401. If unset, the server logs a warning and runs unauthenticated.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_companiesB

List CRM companies, optionally filtered by name search or industry.

get_companyC

Get a company's details along with its contacts and deals.

create_companyC

Create a new company record in the CRM.

update_companyC

Update fields on an existing company. Only provided fields are changed.

list_contactsC

List CRM contacts, optionally filtered by company or a name/email search.

get_contactC

Get a contact's details along with their company, deals, and activity history.

create_contactC

Create a new contact, optionally attached to a company.

update_contactB

Update fields on an existing contact. Only provided fields are changed.

list_dealsC

List deals in the sales pipeline, optionally filtered by company or stage.

get_dealB

Get a deal's details along with its company, contact, and activity history.

create_dealC

Create a new deal for a company, optionally linked to a contact.

update_deal_stageC

Move a deal to a new pipeline stage. Valid stages: lead, qualified, proposal, negotiation, won, lost.

log_activityC

Log a note, call, email, or meeting against a company, contact, or deal.

search_crmC

Full-text-ish search across companies, contacts, and deals by name/email/title.

get_pipeline_summaryA

Get aggregate pipeline stats: deal count and total value per stage, plus open/won totals.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a clear entity (company, contact, deal) and action. The 'get_' tools may include related data, but list vs get vs create/update boundaries are well-defined.

Naming Consistency4/5

Most names follow verb_noun snake_case, but 'update_deal_stage' and 'log_activity' break the pure pattern, and 'search_crm' and 'get_pipeline_summary' deviate slightly. Still highly predictable overall.

Tool Count5/5

15 tools is within the ideal 3-15 range and covers core CRM operations without redundancy.

Completeness3/5

CRUD is complete for companies and contacts, but deals lack create/update/delete beyond stage changes, and there is no delete for any entity or explicit activity retrieval. Notable gaps may force workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues