Mcp Server Crm — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server Crm (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Freelancer Client Pipeline Tracker — An MCP Server that gives Claude (or any MCP-compatible LLM) tools to manage leads, track pipeline stages, log interactions, and generate reports.
┌─────────────────────────────────────────────────┐
│ Claude Desktop │
│ (or any MCP-compatible LLM) │
└─────────────────┬───────────────────────────────┘
│ MCP Protocol (stdio)
▼
┌─────────────────────────────────────────────────┐
│ mcp-server-crm │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ server.py│ │ api.py │ │
│ │ (MCP) │ │ (FastAPI)│ │
│ └────┬─────┘ └────┬─────┘ │
│ └───────┬───────┘ │
│ ▼ │
│ ┌────────────┐ │
│ │ queries.py │ (shared business logic) │
│ └──────┬─────┘ │
│ ▼ │
│ ┌────────────┐ │
│ │ db.py │ (SQLite / PostgreSQL) │
│ └────────────┘ │
└─────────────────────────────────────────────────┘Key design: Both the MCP server and FastAPI REST API share the same queries.py business logic — zero duplication, guaranteed behavioral parity.
| Tool | Description |
|---|---|
search_leads | Search leads by status, source, and budget range |
get_lead | Get full details for a single lead |
create_lead | Add a new lead at the "prospect" stage |
update_lead | Update lead information (partial updates) |
update_stage | Move a lead through the pipeline with history tracking |
get_reminders | Find leads with past-due follow-up dates |
get_pipeline_report | Win rate, revenue stats, stage breakdown |
flag_overdue | Red-flag leads overdue by 3+ days |
add_activity | Log emails, calls, meetings, proposals |
prospect → contacted → proposal_sent → qualified → negotiation → closed_won
→ closed_lostgit clone https://github.com/Aniketsingh12/mcp-server-crm.git
cd mcp-server-crm
pip install -e ".[dev]"python -m mcp_server_crm.seedAdd to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"crm": {
"command": "python",
"args": ["-m", "mcp_server_crm.server"]
}
}
}Then ask Claude things like:
python scripts/run_both.py
# Open http://127.0.0.1:8000/docs for Swagger UImcp dev src/mcp_server_crm/server.py| Method | Endpoint | Description |
|---|---|---|
| GET | /health | Health check |
| GET | /leads | Search leads (query params: status, source, min_budget, max_budget) |
| GET | /leads/{id} | Get a lead |
| POST | /leads | Create a lead |
| PATCH | /leads/{id} | Update a lead |
| PATCH | /leads/{id}/stage | Change pipeline stage |
| DELETE | /leads/{id} | Delete a lead |
| GET | /leads/{id}/activities | List lead activities |
| POST | /leads/{id}/activities | Log an activity |
| GET | /reminders | Get follow-up reminders |
| GET | /overdue | Get critical overdue leads |
| GET | /reports/pipeline | Full pipeline report |
# Run tests
pytest -v
# Run API with auto-reload
uvicorn mcp_server_crm.api:app --reloadThe SQLite database can be swapped to Supabase/PostgreSQL by:
asyncpg to dependenciesdb.py connection to use DATABASE_URL env var? → $1, $2)The queries.py function signatures stay identical — only internal SQL changes.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.