Skip to main content
Glama
joelcanepa

OBD-II MCP Server

by joelcanepa

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OBD_FASTNoWhether to use fast mode (true/false).
OBD_PORTNoThe serial port for the ELM327 adapter (e.g., COM3 or /dev/rfcomm0).
OBD_TIMEOUTNoTimeout in seconds (e.g., 30).
OBD_BAUDRATENoThe baudrate to use (e.g., 38400).
OBD_MCP_HOSTNoHost for HTTP transport (e.g., 127.0.0.1).
OBD_MCP_HTTP_PORTNoPort for HTTP transport (e.g., 8000).
OBD_MCP_TRANSPORTNoTransport mode: 'stdio' or 'streamable-http'.
OBD_RECONNECT_DELAYNoDelay in seconds between reconnect attempts.
OBD_RECONNECT_ATTEMPTSNoNumber of reconnect attempts.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_connection_statusA

Check the ELM327/ECU connection, port, and OBD-II protocol.

Use this first when a vehicle may be off or disconnected.

list_supported_sensorsA

List live sensor PIDs discovered as supported by the vehicle.

Use these exact names with read_sensor.

read_sensorB

Read one or several supported sensors and return values with units.

Examples: RPM, SPEED, COOLANT_TEMP, INTAKE_PRESSURE.

read_dtcA

Read stored and pending/current-cycle diagnostic trouble codes.

Includes python-OBD technical descriptions when known and does not modify the ECU.

clear_dtcA

Clear ECU DTCs and freeze-frame only after explicit user approval.

Set confirm=true; this may reset readiness monitors and temporarily turn off the MIL.

get_vehicle_infoA

Read VIN, Check Engine/MIL state, DTC count, and OBD-II protocol.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clear and distinct purpose: connection status, supported sensor list, live sensor reads, DTC reading, DTC clearing, and vehicle info. Potential overlap between get_connection_status and get_vehicle_info regarding protocol is minimal and contextually distinct.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., get_connection_status, read_sensor, clear_dtc). The verb choices are appropriate for each action and create a predictable API surface.

Tool Count5/5

Six tools cover the core OBD-II operations without unnecessary bloat. The count is well suited to the domain and keeps the interface focused and manageable.

Completeness5/5

The set covers the essential OBD-II workflows: checking connectivity, discovering supported sensors, reading live data, retrieving DTCs, clearing DTCs, and obtaining vehicle identification. No critical operations appear missing for a read-focused OBD-II MCP server.

Maintenance

ActivityMaintained
ResponsivenessNo issues