Crankly is a Model Context Protocol (MCP) server for structured public vehicle data from StartMyCar.
Crankly exposes the following read-only tools:
| Tool | Description |
|---|---|
listMakes |
Lists available vehicle makes |
listModels |
Lists models for a given make |
getProblems |
Returns reported owner problems |
getReviews |
Returns owner reviews |
getFuseBox |
Returns fuse box entries and circuit references |
getManuals |
Returns owner and service manual links |
getGuides |
Returns guide listings or guide content |
compareModels |
Returns comparison data for two models |
Supported country prefixes:
usaucagbnzzaitfrde
Default country: us
Crankly runs on Bun.
However, the package itself can be installed or executed using different JavaScript package managers and runners:
- Bun
- npm
- pnpm
- Yarn
Even if you install Crankly through npm, pnpm, or yarn, the executable still expects Bun to be available on the machine because the server runtime is Bun-based.
In practice this means:
- package manager choice is flexible
- runtime requirement is still Bun
Check Bun:
bun --versionUse this when developing or testing the repository directly.
git clone https://github.com/Queaxtra/crankly.git
cd crankly
bun installThen point your MCP client to:
bun /absolute/path/to/crankly/index.tsThis is the easiest published-package flow for one-off or ephemeral use.
bunx cranklynpx cranklypnpm dlx cranklyyarn dlx cranklyThese commands still require Bun to be installed because the Crankly executable uses Bun at runtime.
This is the cleanest option for repeated use across multiple MCP clients.
bun add -g cranklynpm install -g cranklypnpm add -g cranklyyarn global add cranklyAfter global installation, the executable becomes:
cranklyVerify:
command -v cranklybun run typecheckbun run index.tsIf you want to test tools one by one before connecting a client:
bunx @modelcontextprotocol/inspector bun /absolute/path/to/crankly/index.tsIf you already have the executable available globally:
bunx @modelcontextprotocol/inspector cranklyUseful smoke-test inputs:
{}{
"make": "toyota"
}{
"make": "toyota",
"model": "corolla",
"page": 1
}{
"make": "toyota",
"model": "corolla"
}{
"make": "toyota",
"model": "corolla",
"year": 2024
}{
"make": "toyota",
"model": "corolla",
"year": 2022
}{
"make": "toyota",
"model": "corolla"
}{
"make": "toyota",
"model": "corolla",
"guide": "tire-pressure"
}{
"make1": "toyota",
"model1": "corolla",
"make2": "honda",
"model2": "civic"
}Codex supports stdio MCP servers and can register them directly from the CLI.
codex mcp add crankly -- bunx cranklycodex mcp add crankly -- npx cranklycodex mcp add crankly -- pnpm dlx cranklycodex mcp add crankly -- yarn dlx cranklyIf you already installed Crankly globally:
codex mcp add crankly -- cranklycodex mcp add crankly -- bun /absolute/path/to/crankly/index.tsCodex commonly uses a TOML config similar to:
[mcp_servers.crankly]
command = "bun"
args = ["/absolute/path/to/crankly/index.ts"]
startup_timeout_sec = 20
tool_timeout_sec = 120[mcp_servers.crankly]
command = "bunx"
args = ["crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120[mcp_servers.crankly]
command = "npx"
args = ["crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120[mcp_servers.crankly]
command = "pnpm"
args = ["dlx", "crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120[mcp_servers.crankly]
command = "crankly"
startup_timeout_sec = 20
tool_timeout_sec = 120codex mcp listThen try prompts such as:
Use crankly to list the first 10 makes.Use crankly to list Toyota models.Use crankly to get Toyota Corolla reviews.Use crankly to compare Toyota Corolla and Honda Civic.
Claude Code supports stdio MCP servers and can register them from the CLI.
claude mcp add --transport stdio crankly -- bunx cranklyclaude mcp add --transport stdio crankly -- npx cranklyclaude mcp add --transport stdio crankly -- pnpm dlx cranklyclaude mcp add --transport stdio crankly -- yarn dlx cranklyclaude mcp add --transport stdio crankly -- cranklyclaude mcp add --transport stdio crankly -- bun /absolute/path/to/crankly/index.tsProject-level .mcp.json example:
{
"mcpServers": {
"crankly": {
"type": "stdio",
"command": "bun",
"args": ["/absolute/path/to/crankly/index.ts"]
}
}
}{
"mcpServers": {
"crankly": {
"type": "stdio",
"command": "bunx",
"args": ["crankly"]
}
}
}{
"mcpServers": {
"crankly": {
"type": "stdio",
"command": "npx",
"args": ["crankly"]
}
}
}{
"mcpServers": {
"crankly": {
"type": "stdio",
"command": "pnpm",
"args": ["dlx", "crankly"]
}
}
}{
"mcpServers": {
"crankly": {
"type": "stdio",
"command": "crankly"
}
}
}Inside Claude Code:
/mcp
Check that crankly is connected and tools are visible.
Suggested prompts:
Use crankly to list makes.Use crankly to get Toyota Corolla problems page 1.Use crankly to get Toyota Corolla manuals for 2022.Use crankly to get the latest Corolla fuse box data.
OpenCode supports MCP servers through its JSON configuration.
~/.config/opencode/opencode.json- project-local
opencode.json
{
"mcp": {
"crankly": {
"type": "local",
"enabled": true,
"command": ["bunx", "crankly"]
}
}
}{
"mcp": {
"crankly": {
"type": "local",
"enabled": true,
"command": ["npx", "crankly"]
}
}
}{
"mcp": {
"crankly": {
"type": "local",
"enabled": true,
"command": ["pnpm", "dlx", "crankly"]
}
}
}{
"mcp": {
"crankly": {
"type": "local",
"enabled": true,
"command": ["yarn", "dlx", "crankly"]
}
}
}{
"mcp": {
"crankly": {
"type": "local",
"enabled": true,
"command": ["crankly"]
}
}
}{
"mcp": {
"crankly": {
"type": "local",
"enabled": true,
"command": [
"bun",
"/absolute/path/to/crankly/index.ts"
]
}
}
}Restart OpenCode after updating config.
Suggested prompts:
use crankly and list makesuse crankly and list toyota modelsuse crankly and get toyota corolla reviewsuse crankly and compare corolla with civic
Use direct source execution:
bun /absolute/path/to/crankly/index.tsUse one of:
bunx crankly
npx crankly
pnpm dlx crankly
yarn dlx cranklyInstall globally and use:
cranklyThis is expected if you run the server directly.
Example:
cranklyThe server is waiting for MCP input. Use an MCP client or MCP Inspector.
Use an absolute path first:
bun /absolute/path/to/crankly/index.tsThis avoids PATH resolution issues.
Install globally with your preferred package manager:
bun add -g cranklyor:
npm install -g cranklyor:
pnpm add -g cranklyThen verify:
command -v cranklyMake sure Bun is installed and available in your PATH.
Restart the MCP client after updating configuration.
This project is licensed under the MIT License. See LICENSE.