Skip to main content
Glama
PureGit90
by PureGit90

MCP Server: CRM Agent Tools — Working Demo

What This Does

A minimal, working MCP server (built with the official mcp Python SDK, stdio transport) that gives a Claude agent three tools: look up a CRM contact, log an action taken on that contact, and audit any prompt for token waste and API cost before it ships. A Streamlit app sits on top so the exact same tool definitions and functions can be browsed and called without a Claude Desktop or Claude Code MCP connection.

Related MCP server: suitecrm-mcp

How It Works

Claude agent (or this Streamlit form) calls a tool → mcp_server.py routes it to the matching function in tools.py → the function hits sample data or a live API if configured → a structured JSON result comes back → the caller (agent or UI) verifies it against the returned fields.

The Three Tools

  • lookup_crm_contact(email) — data lookup. Returns name, company, deal owner, deal stage, and days since last contact. Reads sample_data/crm_contacts.json first, falls back to a deterministic mock record if the email isn't in the sample file.

  • log_crm_action(contact_email, action, notes) — action tool. Writes a real, timestamped entry to sample_data/action_log.jsonl (not simulated, this is a genuine disk write standing in for a CRM write endpoint).

  • audit_prompt_cost(prompt_text, model) — structured status tool. Estimates token count and per-call cost, flags prompts that are long enough or repetitive enough to be worth rewriting as code instead of a bigger system prompt. Uses the live Anthropic token-counting endpoint if ANTHROPIC_API_KEY is set, otherwise a ~4 chars/token offline estimate.

Quick Start (Streamlit UI, zero config)

pip install -r requirements.txt
streamlit run app.py

Opens with sample CRM contacts pre-loaded. Click through the three tabs to call each tool directly, no API keys required.

Quick Start (real MCP server, connect to Claude)

pip install -r requirements.txt
python mcp_server.py          # runs over stdio, waits for an MCP client

Register it with Claude Code:

claude mcp add crm-agent-tools -- python /absolute/path/to/mcp_server.py

Or add it to claude_desktop_config.json under mcpServers (see the header comment in mcp_server.py for the exact block).

Smoke Test (no server, no UI)

python -c "from tools import lookup_crm_contact, log_crm_action, audit_prompt_cost; \
print(lookup_crm_contact('jordan@northwindtraders.com')); \
print(log_crm_action('jordan@northwindtraders.com', 'called', 'left voicemail')); \
print(audit_prompt_cost('Always remember to never forget to double check.'))"

Configuration

  • ANTHROPIC_API_KEY (optional) — enables live token counting in audit_prompt_cost via anthropic.messages.count_tokens. Without it, a chars/4 heuristic estimate is used instead.

  • CRM_API_KEY (optional, not wired to a live CRM in this demo) — if set, lookup_crm_contact notes that a real integration isn't connected yet rather than silently pretending it is.

Demo Limitations

  • This is an MVP demo — lookup_crm_contact reads a local JSON file instead of a live HubSpot/Airtable/Sheets API. Swapping in a real API call only touches the one function.

  • log_crm_action writes to a local JSONL file instead of a live CRM write endpoint, same swap-in-one-place design.

  • audit_prompt_cost uses a fixed per-model pricing table rather than a live pricing API, and assumes a flat 300-token output for the cost projection.

  • No auth/session management on the MCP server since this is a local stdio demo, not a hosted multi-tenant server.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with SQLite databases, filesystem, AWS IAM, and Gmail through a master MCP server with a Streamlit UI optimized for Claude.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Open-source MCP gateway connecting AI agents like Claude Desktop and Claude Code to SuiteCRM. 24 CRM tools over SSE with OAuth2/OIDC auth, multi-entity support, ACL enforcement, and Prometheus/Grafana observability.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Exposes simulated Salesforce CRM data as MCP tools for Claude Desktop, enabling customer success managers to prioritize at-risk accounts, review opportunities, cases, and Gong notes via natural language.
    -