Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server (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.
Fully self-contained MCP server for AllPets Clinic & Beyond analytics. All business logic lives inside this repo — no dependency on any sibling folder at runtime.
cd C:\Users\sathv\Desktop\allpets_mcp
# Create venv
python -m venv venv
# Install dependencies
.\venv\Scripts\pip.exe install -r requirements.txt
# Fill in credentials (already populated for local dev)
notepad .env# Dev inspector — opens browser UI to call tools manually
.\venv\Scripts\python.exe -m mcp dev server.py
# Or run directly (exits immediately in stdio mode — expected)
.\venv\Scripts\python.exe server.py%APPDATA%\Claude\claude_desktop_config.jsonallpets entry inside "mcpServers":{
"mcpServers": {
"allpets": {
"command": "C:\\Users\\sathv\\Desktop\\allpets_mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\Users\\sathv\\Desktop\\allpets_mcp\\server.py"]
}
}
}| Tool | What it does |
|---|---|
get_current_week_dates | Returns this ISO week's Monday/Sunday |
get_weekly_dashboard | Full KPI dashboard for a date range |
ask_analytics | Freeform NL2SQL question |
generate_excel_report | Weekly dashboard as .xlsx (base64) |
allpets_mcp/
├── server.py ← Entry point (stdio MCP server)
├── config.py ← DB engine + env loading (self-contained)
├── dashboard_queries.py ← Pre-computed weekly KPI engine
├── nl2sql_agent.py ← 5-step LangGraph NL2SQL pipeline
├── sql_dynamic_agent.py ← SQL generation + retry (~1970 lines)
├── excel_export.py ← openpyxl report generator
├── etc/secrets/
│ └── schema_all.txt ← Full DB schema DDL (used by SQL agent)
├── adapters/
│ ├── dashboard.py ← Wraps DashboardService.run_weekly()
│ ├── analytics.py ← Wraps nl2sql_agent.run_agent()
│ └── excel.py ← Wraps generate_excel() → base64
├── tools/
│ ├── dashboard.py ← get_weekly_dashboard, get_current_week_dates
│ ├── analytics.py ← ask_analytics
│ └── reports.py ← generate_excel_report
├── .env ← All credentials (DB + OpenAI)
└── requirements.txtWhen dashboard_queries.py, nl2sql_agent.py, sql_dynamic_agent.py, or excel_export.py change in allpets_new_schema, copy the updated file here:
Copy-Item ..\allpets_new_schema\dashboard_queries.py .\dashboard_queries.py -Force
Copy-Item ..\allpets_new_schema\nl2sql_agent.py .\nl2sql_agent.py -Force
Copy-Item ..\allpets_new_schema\sql_dynamic_agent.py .\sql_dynamic_agent.py -Force
Copy-Item ..\allpets_new_schema\excel_export.py .\excel_export.py -Force
Copy-Item ..\allpets_new_schema\etc\secrets\schema_all.txt .\etc\secrets\schema_all.txt -Force~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.