CarrierVet MCP
An MCP server that provides carrier vetting services for AI agents and freight software. It returns PASS, REVIEW, or FAIL verdicts based on verified FMCSA records, including risk scores, operating authority status, insurance on file, out-of-service status, and change alerts. It supports tools for single lookups, batch processing, risk assessment, and eligibility checks against custom rules.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://carriervet.dev/mcpWhat you can do with it
- Verify carrier authority and insurance status before tendering loads
- Calculate risk scores with detailed reason codes for safety decisions
- Monitor carriers for changes in operating status or contact information
- Check load eligibility against specific business rules
Source and maintenance
Protocol and capabilities
- Server
- carriervet 1.4.0
- MCP protocol
- 2025-06-18
- Tools
- 11 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
11 advertised
lookup_carrier — Look up a motor carrier
Get a US motor carrier's FMCSA profile by USDOT number or MC/FF/MX docket number: legal name, operating authority status and age, insurance on file, out-of-service status, fleet size, address and contact. Returns an overall verdict (PASS, REVIEW or FAIL) with verdict_reasons, based on the PASS/FLAG/FAIL checks for authority, insurance, out-of-service, USDOT operating status and FMCSA safety rating: FAIL if any check is FAIL, REVIEW if any is FLAG, PASS otherwise. Pass exactly one of dot or mc. The response includes receipt_id; get_receipt returns the saved copy of this response later. Costs 1 lookup.
{
"type": "object",
"properties": {
"mc": {
"type": "string",
"description": "MC, FF or MX docket number, e.g. \"MC123456\" or \"123456\""
},
"dot": {
"type": "string",
"pattern": "^[0-9]{1,8}$",
"description": "USDOT number, 1-8 digits, e.g. \"1234567\""
}
},
"additionalProperties": false
}{
"title": "Look up a motor carrier",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_risk — Carrier risk score
Get a 0-100 risk score for a carrier by USDOT number or MC/FF/MX docket number, with reason codes (e.g. insurance_lapsed, authority_under_90_days, shared_phone, multiple_contact_changes). Levels: low 0-24, elevated 25-49, high 50-74, severe 75-100. Hard failures (revoked, inactive or missing authority, out-of-service, lapsed or missing insurance, inactive USDOT number, not allowed to operate, Unsatisfactory safety rating) are listed in gates and keep the score at 50 or more, so a carrier that fails one is never low. With mc, the authority status is that docket's own. Also returns an overall verdict (PASS, REVIEW or FAIL) with verdict_reasons, and receipt_id. Informational signal for human review, not a safety rating. Pass exactly one of dot or mc. Costs 1 lookup.
{
"type": "object",
"properties": {
"mc": {
"type": "string",
"description": "MC, FF or MX docket number, e.g. \"MC123456\" or \"123456\""
},
"dot": {
"type": "string",
"pattern": "^[0-9]{1,8}$",
"description": "USDOT number, 1-8 digits, e.g. \"1234567\""
}
},
"additionalProperties": false
}{
"title": "Carrier risk score",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}check_load_eligibility — Check a carrier against your load rules
Evaluate your own load rules against a carrier (by USDOT number or MC/FF/MX docket number) and get eligible, needs_review or ineligible, with each rule's result and reason, plus CarrierVet's unchanged verdict (PASS, REVIEW or FAIL) and risk score. All rules are optional: follow_verdict (default true: FAIL makes it ineligible, REVIEW needs_review), require_active_authority (default true), no_active_oos (default true), min_bipd_usd, require_cargo, max_risk_score (0-100; above it needs_review), min_authority_age_days (below it needs_review), block_reason_codes (present → ineligible), review_reason_codes (present → needs_review). Escalate needs_review and ineligible to a human; the decision to tender is theirs. Pass exactly one of dot or mc. Costs 1 lookup.
{
"type": "object",
"properties": {
"mc": {
"type": "string",
"description": "MC, FF or MX docket number, e.g. \"MC123456\""
},
"dot": {
"type": "string",
"pattern": "^[0-9]{1,8}$",
"description": "USDOT number, 1-8 digits, e.g. \"1234567\""
},
"rules": {
"type": "object",
"properties": {
"min_bipd_usd": {
"type": [
"number",
"null"
],
"minimum": 0
},
"no_active_oos": {
"type": "boolean"
},
"require_cargo": {
"type": "boolean"
},
"follow_verdict": {
"type": "boolean"
},
"max_risk_score": {
"type": [
"number",
"null"
],
"maximum": 100,
"minimum": 0
},
"block_reason_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"review_reason_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"min_authority_age_days": {
"type": [
"number",
"null"
],
"minimum": 0
},
"require_active_authority": {
"type": "boolean"
}
},
"description": "Your load rules; omit for defaults.",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Check load eligibility",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_receipt — Get a lookup receipt
Fetch the saved copy of an earlier lookup by its receipt_id: the time it was made, the endpoint, the identifier, and the exact response CarrierVet returned, with its SHA-256. Any API key on the account that made the lookup can read it. Receipts are saved a few seconds after the lookup. Free; does not cost a lookup.
{
"type": "object",
"required": [
"receipt_id"
],
"properties": {
"receipt_id": {
"type": "string",
"description": "receipt_id from an earlier response, e.g. rcpt_0123abcd..."
}
},
"additionalProperties": false
}{
"title": "Get a lookup receipt",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_history — Carrier change history
List changes CarrierVet detected in a carrier's FMCSA record (address, phone, email, authority, insurance, out-of-service), newest first, plus fmcsa_history: dated changes from FMCSA's daily files and census, each with the date FMCSA recorded it, the date CarrierVet saw it, and the before and after values. History starts on the date CarrierVet began recording, so older changes are not included. Recent contact changes are a common double-brokering warning sign. Costs 1 lookup.
{
"type": "object",
"required": [
"dot"
],
"properties": {
"dot": {
"type": "string",
"pattern": "^[0-9]{1,8}$",
"description": "USDOT number, 1-8 digits, e.g. \"1234567\""
}
},
"additionalProperties": false
}{
"title": "Carrier change history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}search_carriers — Search carriers by name
Find carriers already stored by CarrierVet whose legal or DBA name contains the given text (max 25). Prefer lookup_carrier when you have a USDOT or MC number. Costs 1 lookup.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 2,
"description": "Company name or part of it"
}
},
"additionalProperties": false
}{
"title": "Search carriers by name",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}batch_lookup — Batch carrier lookup
Look up to 500 USDOT or MC numbers in one call from stored snapshots (Pro and Business plans). Each found result includes the same verdict, verdict_reasons and verdict_basis as lookup_carrier. Costs 1 lookup per unique identifier.
{
"type": "object",
"required": [
"identifiers"
],
"properties": {
"identifiers": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"description": "USDOT numbers and/or MC numbers like \"MC123456\""
}
},
"additionalProperties": false
}{
"title": "Batch carrier lookup",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_usage — Quota and plan
Show this API key's plan, lookups used and remaining this UTC month, monitor count and rate limit. Free; does not cost a lookup.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Quota and plan",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_watchlist — List watchlist
List carriers on this account's watchlist (monitors) with alert email, webhook and last delivery status.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "List watchlist",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}add_to_watchlist — Add carrier to watchlist
Watch a carrier (paid plans) and get an email and/or signed webhook (Pro+) when its FMCSA record changes. The carrier must have been looked up at least once. Provide alert_email, webhook_url, or both.
{
"type": "object",
"required": [
"dot"
],
"properties": {
"dot": {
"type": "string",
"pattern": "^[0-9]{1,8}$",
"description": "USDOT number, 1-8 digits, e.g. \"1234567\""
},
"alert_email": {
"type": "string",
"format": "email"
},
"webhook_url": {
"type": "string",
"format": "uri",
"description": "HTTPS URL (Pro and Business)"
}
},
"additionalProperties": false
}{
"title": "Add carrier to watchlist",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}remove_from_watchlist — Remove carrier from watchlist
Stop watching a carrier on this account.
{
"type": "object",
"required": [
"dot"
],
"properties": {
"dot": {
"type": "string",
"pattern": "^[0-9]{1,8}$",
"description": "USDOT number, 1-8 digits, e.g. \"1234567\""
}
},
"additionalProperties": false
}{
"title": "Remove carrier from watchlist",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 457 ms
- 95th percentile latency
- 457 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 457 ms · metadata changed · 11 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http carriervet-mcp https://carriervet.dev/mcpCodex
codex mcp add carriervet-mcp --url https://carriervet.dev/mcpCursor
{
"mcpServers": {
"carriervet-mcp": {
"url": "https://carriervet.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"carriervet-mcp": {
"type": "streamableHttp",
"url": "https://carriervet.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"carriervet-mcp": {
"type": "http",
"url": "https://carriervet.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http carriervet-mcp https://carriervet.dev/mcpClaude Desktop
{
"mcpServers": {
"carriervet-mcp": {
"url": "https://carriervet.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"carriervet-mcp": {
"serverUrl": "https://carriervet.dev/mcp"
}
}
}Let your agent find its tools
Find servers like CarrierVet MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run CarrierVet MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.