Mini CRM MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mini CRM MCPshow me the pipeline summary"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mini CRM MCP
A complete, end-to-end Model Context Protocol server over crm/leads.db (40 sales leads). An
MCP client or LLM can ask "give me the funnel by stage", "what's in Priya's pipeline", or "what's
our weighted forecast" and get structured answers without ever writing SQL.
This is a practical server (like the sibling Mcp_venki is a teaching one). It replaced an
earlier StudentAnalytics prototype — same architecture, pointed at real CRM data.
Pipeline stages: New → Contacted → Qualified → Proposal → Won / Lost.
What it exposes
Tools (model-callable)
Tool | Purpose |
| The funnel: count + total value per stage |
| Every rep with lead count and total pipeline value |
| Filtered lead list (all filters ANDed) |
| Free-text search across name / company / email |
| One full lead record + close probability |
| Per-rep won / open / weighted-forecast value |
| Weighted revenue forecast; streams progress via |
Resources (loadable read-only data)
crm://schema— the table schema + stage ordercrm://lead/{lead_id}— a single lead as a readable card (URI template)
Prompt
pipeline_review(owner?)— template that asks the model to write a pipeline review
The weighted forecast
Each stage has a close probability (New 10%, Contacted 25%, Qualified 50%, Proposal 70%, Won 100%,
Lost 0%). forecast() and owner_leaderboard() multiply each lead's value by its stage probability
and sum — a standard sales-forecasting method. On the current data this yields ≈ $396,755
weighted against a $942,310 raw pipeline.
Related MCP server: Sales Tools MCP Server
Safety
The SQLite connection is opened with mode=ro, so the server physically cannot write to the
DB — the engine rejects any mutation. Every query is a parameterized SELECT; tool arguments are
bound, never string-formatted, so they can't inject SQL. A test asserts the read-only guarantee.
Run it
Use any Python (3.10+) that has the mcp SDK installed:
pip install -r requirements.txt
# 1. Drive it end-to-end with a hand-written client (no Claude, no config):
python client_demo.py
# 2. Run the protocol tests (launch the real server over stdio):
python -m pytest test_server.py -qA demo database ships in data/leads.db, so the server runs out of the box.
CRM_DB (env var) overrides the database path to point at your own leads table.
Registered in Claude
Added to the project .mcp.json as MiniCRM, pointing at the hermes-venv Python and the repo's
crm/leads.db. Restart the app / reconnect MCP servers to pick it up, then the tools appear as
mcp__MiniCRM__* and the prompt as /mcp__MiniCRM__pipeline_review.
Files
server.py— the MCP server (7 tools, 2 resources, 1 prompt)client_demo.py— hand-written stdio client that exercises every primitivetest_server.py— 8 protocol-level tests (all passing)data/leads.db— bundled demo database (40 synthetic leads)requirements.txt/pytest.inidocs/— the illustrated deep-dive PDF and its HTML source
Gotchas (carried over from building the sibling servers)
FastMCP returns a
listas one content-block per item, and puts the whole value inresult.structuredContent(list/scalar wrapped as{"result": ...}, dict returns as-is). ReadstructuredContent, notcontent[0].text, or you only see the first element.session.read_resource(uri)returns a result with.contents, not a 2-tuple.Don't hold the MCP session in a
pytest_asyncioasync-generator fixture — anyio's cancel scope is finalized in a different task and every test errors in teardown. Useasync withinside the test body (seetest_server.py).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bvenkatesulu909/mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server