MCPFax Vehicle Diagnostics
Server Details
A fault code, a VIN, or a recall — answered from public NHTSA and standards data.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
4 toolsdtc_lookupVehicle fault code (DTC) lookupAInspect
Look up what a vehicle fault code (OBD-II diagnostic trouble code) means. Returns a reworded definition compiled from open/public sources (with the source and licence per row) plus which makes define the code specifically. Pass 'make' for the make-specific meaning instead of the generic SAE one — the same code can mean different things on different brands. Use this when a scan tool reported a code like P0301, B1318 or U0100; we never guess a meaning (unknown codes return not_found). Descriptions are compilations, not manufacturer verbatim strings, and severity is not guaranteed. Costs $0.006 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The fault code exactly as reported, e.g. 'P0301', 'B1318', 'C1201', 'U0100'. | |
| make | No | Vehicle make for the manufacturer-specific definition, e.g. 'BMW', 'Ford', 'Toyota'. Optional; omit for the generic SAE meaning. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that definitions are reworded compilations from open/public sources, that it never guesses, that descriptions are not verbatim, and that severity is not guaranteed. It also notes the cost per call. This is highly transparent, and with no annotations, the full burden is on the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a bit longer than strictly necessary, with six sentences, but each sentence adds value: purpose, output, make-specific usage trigger, no-guess policy, output characteristics, and cost. It is well-structured and not rambling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose, the conditions for use, the output nature (reworded definition, source, licence), the no-guess policy, the make-specific distinction, and the cost. Without an output schema, this is sufficient for an agent to understand what the tool returns and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both 'code' and 'make', including the distinction between generic and make-specific meanings. The tool description reinforces this but does not add substantive new information beyond the schema, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool looks up vehicle fault codes (OBD-II DTCs), which is specific and distinct from sibling tools like recalls or VIN decoding. The verb 'look up' and the resource are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when a scan tool reported a code,' providing a clear trigger. It also gives guidance on passing 'make' for manufacturer-specific definitions. However, it does not explicitly mention alternatives (e.g., when to use vehicle_recalls instead), so it falls short of the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vehicle_recallsNHTSA safety recallsAInspect
Official NHTSA safety recalls for a vehicle. Returns campaign id, affected component, the safety consequence, and the free remedy, newest first (max 50). Query by make (optionally model and year) or by a known campaign id. Use this before buying a used vehicle or when a customer asks whether their car has open recalls. A zero count means nothing matched the ingested NHTSA subset — it does not prove the vehicle is recall-free. Costs $0.005 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Consumer make name, e.g. 'FORD', 'TOYOTA'. Required unless 'campaign' is given. | |
| year | No | Four-digit model year, e.g. '2018'. Optional. | |
| model | No | Model name, e.g. 'F-150', 'CAMRY'. Optional. | |
| campaign | No | NHTSA campaign id to fetch directly, e.g. '21V123000'. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It covers ordering (newest first), result limit (max 50), data-source limitations ('ingested NHTSA subset'), the zero-count caveat, and even cost per call. This is unusually transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence carries distinct information: purpose, return fields, query modes, use cases, a caveat, and pricing. It is front-loaded and dense without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output or annotation schema, the description explains what results will look like, how to query, when to use the tool, what a zero count means, and the cost. It is fully actionable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds useful context about query modes (by make with optional model/year, or by campaign id) but does not provide significant new parameter-level detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('NHTSA safety recalls for a vehicle') and the exact outputs returned (campaign id, affected component, safety consequence, free remedy). It also distinguishes itself from sibling tools by focusing on recalls rather than DTCs, TSBs, or VIN decoding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use cases: before buying a used vehicle or when a customer asks about open recalls. It does not explicitly say when not to use it or name alternatives, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vehicle_tsbsNHTSA technical service bulletinsAInspect
NHTSA Technical Service Bulletins (manufacturer repair guidance for known defects that are not safety recalls). Returns bulletin id, summary, and the fault codes each bulletin names (max 50). Query by make/model/year, or by fault code to find bulletins that address that specific code. Use this after dtc_lookup when you want the manufacturer's documented fix. A zero count means nothing matched the ingested subset. Costs $0.005 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Fault code to match against the bulletin's listed codes, e.g. 'P0301'. Optional. | |
| make | No | Consumer make name, e.g. 'TOYOTA'. Required unless 'code' is given. | |
| year | No | Four-digit model year, e.g. '2019'. Optional. | |
| model | No | Model name, e.g. 'CAMRY'. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds key facts: zero count means no match in the ingested subset, a max 50 result limit, and a cost of $0.005 USDC per call via x402. It does not mention authentication or rate limits, but the disclosed behaviors are useful and go beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and return contents, then adds usage context, zero-count behavior, and cost. Every sentence contributes information an agent needs; it is slightly long but not bloated. The structure is logical, with the most important facts appearing first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and four parameters, the description fully covers what an agent needs: what is returned (id, summary, fault codes), the max result count, how to query (make/model/year or code), when to use it (after dtc_lookup), and what a zero count means. The cost disclosure also helps with decision-making. Nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter's type and example. The description adds meaning by clarifying the parameter usage pattern: 'Query by make/model/year, or by fault code' and noting that 'code' is optional and 'make' is required unless code is given, which supplements the schema's flat list. This is above the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns NHTSA Technical Service Bulletins with a specific verb ('Returns') and resource, and distinguishes them from safety recalls. It also names the query methods (make/model/year or fault code), making its purpose unambiguous and distinct from the sibling tools like vehicle_recalls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this after dtc_lookup when you want the manufacturer's documented fix,' providing a clear condition and sequence. It also explains the query methods (by make/model/year or by fault code). However, it does not explicitly state when NOT to use it or contrast with vehicle_recalls or vin_decode, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vin_decodeVIN decodeAInspect
Decode a Vehicle Identification Number into make, model, model year, body class, engine and plant country using NHTSA's public vPIC database. Use this when you have a VIN and need the exact vehicle before looking up recalls or bulletins. Costs $0.005 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | Yes | The VIN, 11-17 characters, e.g. '1HGCM82633A004352'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses the external data source (NHTSA vPIC), the per-call cost of $0.005 USDC, and the payment mechanism (x402 on Base), which are important behavioral facts beyond the tool's name. It does not mention failure modes or invalid VIN handling, but the disclosed cost and external dependency are significant and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler: first sentence states the action and output, second gives the use case, third states cost and payment method. It is front-loaded with the core purpose and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only lookup tool, the description covers purpose, output fields, data source, cost, and usage context. The lack of an output schema is mitigated by the explicit list of decoded attributes, and no critical operational detail is missing for correct tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single vin parameter is already fully described in the input schema, including length constraints (11-17 characters), required status, and an example. The description adds no new parameter-level semantics, but because schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Decode'), a precise resource (a VIN), and enumerates the exact output fields (make, model, model year, body class, engine, plant country). It also positions the tool relative to siblings by mentioning it is used 'before looking up recalls or bulletins', making it easy for an agent to distinguish from dtc_lookup, vehicle_recalls, and vehicle_tsbs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: use this tool when you have a VIN and need to identify the exact vehicle before proceeding to recalls or bulletins. It does not explicitly state when not to use it or name alternative tools, but the context strongly implies the appropriate sequence among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
- Changed
dtc_lookup2 fields changed- added
Input schema / properties / code / examplesAdded value: +[ + "P0301" +] - added
Input schema / properties / make / examplesAdded value: +[ + "BMW" +]
- Changed
vehicle_recalls4 fields changed- added
Input schema / properties / campaign / examplesAdded value: +[ + "21V123000" +] - added
Input schema / properties / make / examplesAdded value: +[ + "FORD" +] - added
Input schema / properties / model / examplesAdded value: +[ + "F-150" +] - added
Input schema / properties / year / examplesAdded value: +[ + "2018" +]
- Changed
vehicle_tsbs4 fields changed- added
Input schema / properties / code / examplesAdded value: +[ + "P0301" +] - added
Input schema / properties / make / examplesAdded value: +[ + "TOYOTA" +] - added
Input schema / properties / model / examplesAdded value: +[ + "CAMRY" +] - added
Input schema / properties / year / examplesAdded value: +[ + "2019" +]
- Changed
vin_decode1 field changed- added
Input schema / properties / vin / examplesAdded value: +[ + "1HGCM82633A004352" +]
4 tool updates
- First observed
dtc_lookup - First observed
vehicle_recalls - First observed
vehicle_tsbs - First observed
vin_decode
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Decode any VIN and check open NHTSA safety recalls. Free official US government data, no auth.
Decode VINs, search recalls, complaints, crash ratings, and investigations.
Vehicle safety recalls, complaints, and crash data from NHTSA
Decodes US VINs and looks up open NHTSA safety recall campaigns for a vehicle.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying U.S. vehicle safety and specification data, including VIN decoding, recalls, complaints, investigations, and crash test ratings.3MIT
- AlicenseNot gradedqualityAmaintenanceEnables natural-language querying of NHTSA vehicle safety data, including VIN decoding, recall searches, consumer complaints, crash-test ratings, and defect investigations via MCP.1571Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables instant U.S. vehicle recall lookup by make, model, and year using official NHTSA data.MIT
- AlicenseAqualityBmaintenanceDecode VINs, look up specs, history, recalls, market value, and OBD codes. Recognize license plates and VINs from images. Access comprehensive vehicle data by year, make, and model to power automotive workflows.12MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct domain entity: DTC lookup for fault codes, recalls for safety issues, TSBs for technical bulletins, and VIN decoding for vehicle identification. There is no overlap between them, and each description clearly states its unique purpose.
All tool names use lowercase snake_case and begin with a domain-specific noun (dtc, vehicle, vehicle, vin), followed by an action or descriptor (lookup, recalls, tsbs, decode). The pattern is predictable and consistent, though not all follow a strict verb_noun structure; this is a minor deviation.
With 4 tools, the server is well-scoped for its purpose. Each tool covers a core diagnostic workflow step: decode VIN, look up DTC, check recalls, and find TSBs. The count feels neither sparse nor bloated for the domain.
The tool set provides a complete lifecycle for common vehicle diagnostics: identify the vehicle (vin_decode), interpret a fault code (dtc_lookup), and investigate known issues (vehicle_recalls, vehicle_tsbs). There are no obvious dead ends; the tools chain logically together (e.g., VIN → recalls/TSBs, DTC → TSBs).