by cobanov
A Model Context Protocol (MCP) server that provides access to your TeslaMate database, allowing AI assistants to query Tesla vehicle data and analytics.
# Add to your Claude Code skills
git clone https://github.com/cobanov/teslamate-mcpGuides for using ai agents skills like teslamate-mcp.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:22:44.479Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how teslamate-mcp compares with popular alternatives.
teslamate-mcp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by cobanov. A Model Context Protocol (MCP) server that provides access to your TeslaMate database, allowing AI assistants to query Tesla vehicle data and analytics. It has 141 GitHub stars.
Yes. teslamate-mcp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/cobanov/teslamate-mcp" and add it to your Claude Code skills directory (see the Installation section above).
teslamate-mcp is primarily written in Python. It is open-source under cobanov on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh teslamate-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
Connect your AI assistant to your TeslaMate data. This is a Model Context Protocol (MCP) server. It reads your TeslaMate PostgreSQL database. It gives MCP clients (Claude Desktop, Cursor, and others) 57 tools, 11 prompts, and interactive charts.
Documentation · Tool reference · Configuration · Deployment
get_unit_preferences lets the assistant answer in the units set in TeslaMate..toml file. The server validates the declarations at startup. Parameters bind as SQL placeholders, never as string concatenation.run_sql runs your SELECT inside a PostgreSQL READ ONLY transaction, with timeouts and a row cap. The transaction always rolls back.REPORT_TIMEZONE and daily, weekly, and monthly buckets follow your local midnight.teslamate-mcp stdio for local clients. Run teslamate-mcp http for remote clients, with bearer-token auth and a /health probe.Install:
git clone https://github.com/cobanov/teslamate-mcp.git
cd teslamate-mcp
cp env.example .env # set DATABASE_URL
uv sync
Add the server to your MCP client. Example for Claude Desktop or Cursor:
{
"mcpServers": {
"teslamate": {
"command": "uv",
"args": ["--directory", "/path/to/teslamate-mcp", "run", "teslamate-mcp", "stdio"]
}
}
}
cp env.example .env # set DATABASE_URL, and set AUTH_TOKEN for remote use
docker compose up -d
The MCP endpoint is http://localhost:8888/mcp. The health probe is http://localhost:8888/health. It runs a SELECT 1 against the database and returns 503 when the database is unreachable.
A multi-arch image (linux/amd64, linux/arm64) is published to GHCR on each release:
docker run --rm -e DATABASE_URL=... -p 8888:8888 ghcr.io/cobanov/teslamate-mcp:latest
You can reach this server from claude.ai, Claude Desktop, and mobile — with OAuth login and with no open ports on your home network.
The Unraid + Cloudflare deployment guide shows the full path:
The guide includes the exact dashboard fields, verification commands for each phase, and a troubleshooting table.
The portal rewrites
ui://resource URIs, so the interactive charts (show_*tools) do not render through it. To get them, connect Claude through Cloudflare Access directly. The guide's direct connection section shows how.
Each report tool accepts optional filters: car_name everywhere, plus days, limit, and thresholds where they apply. A call with no arguments returns the full report.
Tools return metric values (km, km/h, °C, bar, m) and rated range. get_unit_preferences reads the units chosen in TeslaMate's settings (km or mi, °C or °F, bar or psi, rated or ideal range) so the assistant can convert when it answers; the charts stay metric.
The server also sends MCP instructions: how to read units, time zones and costs, and which tool answers which kind of question.
| Group | Tools |
|---|---|
| Vehicle | get_basic_car_information, get_current_car_status, get_software_update_history, get_unit_preferences |
| Battery | get_battery_health_summary, get_battery_degradation_over_time, get_daily_battery_usage_patterns, get_tire_pressure_weekly_trends |
| Driving | get_monthly_driving_summary, get_daily_driving_patterns, get_longest_drives_by_distance, get_total_distance_and_efficiency, get_drive_summary_per_day, get_visited_places |
| Efficiency | get_efficiency_by_month_and_temperature, get_average_efficiency_by_temperature, get_efficiency_by_elevation, get_drive_efficiency_points, get_unusual_power_consumption |
| Charging | get_charging_by_location, get_all_charging_sessions_summary, get_most_visited_locations |
| Tool | What it returns |
|---|---|
get_battery_capacity_trend |
Usable capacity in kWh, estimated from charging sessions (energy added ÷ SOC gained), per month and car |
get_vampire_drain |
Range lost while parked between drives; gaps that contain a charge do not count |
get_charging_efficiency |
kWh added vs kWh drawn per car, split into AC and DC |
get_charging_by_geofence |
Charging totals per TeslaMate geofence, plus an "Ungeofenced" group |
get_soc_hygiene |
Share of samples above 80% and below 20% state of charge |
get_period_comparison |
The last N days vs the N days before, one row per metric |
get_activity_report |
A month by day or a year by month: drives, distance, consumption, charging, and cost per bucket, empty days included |
get_trip_energy_estimate |
"Will I make it?": energy and battery % a drive of a given distance takes, from this car's own drives at a similar temperature (optionally motorway drives only), with a conservative figure and the arrival battery % |
TeslaMate logs whether each car is online, asleep, or offline. get_current_car_status reads that log too, and reports whether the car is driving, charging, online, asleep, or offline right now.
| Tool | What it returns |
|---|---|
get_timeline |
What the car did, in order: drives, charges, the time parked between them, and software updates, with places, battery %, kWh, and cost; answers "what did my car do on Saturday?" |
get_state_history |
Per car and local day: hours online, asleep, and offline, driving and charging hours, idle awake hours (online while parked and not charging), and wake-ups |
get_idle_awake_periods |
The online periods that kept the car awake while parked, longest first, with where it was parked; answers "why isn't my car sleeping?" |
| Tool | What it returns |
|---|---|
search_drives |
Drives filtered by date range, location text, distance, and car; sortable |
search_charging_sessions |
Charging sessions filtered by date range, location, energy, and car |
get_drive_details |
Full statistics for one drive |
get_drive_route |
GPS track points for one drive, |