Crankly

Crankly

MCP server for structured public vehicle data from StartMyCar, providing tools to list makes, models, problems, reviews, fuse box data, manuals, guides, and compare models.

Category
Visit Server

README

Crankly

Crankly is a Model Context Protocol (MCP) server for structured public vehicle data from StartMyCar.

What Crankly provides

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:

  • us
  • au
  • ca
  • gb
  • nz
  • za
  • it
  • fr
  • de

Default country: us


Runtime and package manager support

Crankly runs on Bun.

However, the package itself can be installed or executed using different JavaScript package managers and runners:

  • Bun
  • npm
  • pnpm
  • Yarn

Important note

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 --version

Installation options

1. Run from local source

Use this when developing or testing the repository directly.

git clone https://github.com/Queaxtra/crankly.git
cd crankly
bun install

Then point your MCP client to:

bun /absolute/path/to/crankly/index.ts

2. Run without global installation

This is the easiest published-package flow for one-off or ephemeral use.

Bun

bunx crankly

npm

npx crankly

pnpm

pnpm dlx crankly

Yarn

yarn dlx crankly

These commands still require Bun to be installed because the Crankly executable uses Bun at runtime.

3. Global installation

This is the cleanest option for repeated use across multiple MCP clients.

Bun

bun add -g crankly

npm

npm install -g crankly

pnpm

pnpm add -g crankly

Yarn Classic

yarn global add crankly

After global installation, the executable becomes:

crankly

Verify:

command -v crankly

Quick local validation

Type-check

bun run typecheck

Start from source

bun run index.ts

Inspect with MCP Inspector

If you want to test tools one by one before connecting a client:

bunx @modelcontextprotocol/inspector bun /absolute/path/to/crankly/index.ts

If you already have the executable available globally:

bunx @modelcontextprotocol/inspector crankly

Useful smoke-test inputs:

listMakes

{}

listModels

{
  "make": "toyota"
}

getProblems

{
  "make": "toyota",
  "model": "corolla",
  "page": 1
}

getReviews

{
  "make": "toyota",
  "model": "corolla"
}

getFuseBox

{
  "make": "toyota",
  "model": "corolla",
  "year": 2024
}

getManuals

{
  "make": "toyota",
  "model": "corolla",
  "year": 2022
}

getGuides

{
  "make": "toyota",
  "model": "corolla"
}

getGuides detail

{
  "make": "toyota",
  "model": "corolla",
  "guide": "tire-pressure"
}

compareModels

{
  "make1": "toyota",
  "model1": "corolla",
  "make2": "honda",
  "model2": "civic"
}

MCP client setup

Codex

Codex supports stdio MCP servers and can register them directly from the CLI.

Fastest setup commands

Using Bun runner

codex mcp add crankly -- bunx crankly

Using npm runner

codex mcp add crankly -- npx crankly

Using pnpm runner

codex mcp add crankly -- pnpm dlx crankly

Using Yarn runner

codex mcp add crankly -- yarn dlx crankly

Using global installation

If you already installed Crankly globally:

codex mcp add crankly -- crankly

Using local source directly

codex mcp add crankly -- bun /absolute/path/to/crankly/index.ts

Manual Codex config

Codex commonly uses a TOML config similar to:

Local source

[mcp_servers.crankly]
command = "bun"
args = ["/absolute/path/to/crankly/index.ts"]
startup_timeout_sec = 20
tool_timeout_sec = 120

Bun ephemeral runner

[mcp_servers.crankly]
command = "bunx"
args = ["crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120

npm ephemeral runner

[mcp_servers.crankly]
command = "npx"
args = ["crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120

pnpm ephemeral runner

[mcp_servers.crankly]
command = "pnpm"
args = ["dlx", "crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120

global executable

[mcp_servers.crankly]
command = "crankly"
startup_timeout_sec = 20
tool_timeout_sec = 120

Verify in Codex

codex mcp list

Then 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

Claude Code supports stdio MCP servers and can register them from the CLI.

Fastest setup commands

Using Bun runner

claude mcp add --transport stdio crankly -- bunx crankly

Using npm runner

claude mcp add --transport stdio crankly -- npx crankly

Using pnpm runner

claude mcp add --transport stdio crankly -- pnpm dlx crankly

Using Yarn runner

claude mcp add --transport stdio crankly -- yarn dlx crankly

Using global installation

claude mcp add --transport stdio crankly -- crankly

Using local source directly

claude mcp add --transport stdio crankly -- bun /absolute/path/to/crankly/index.ts

Manual Claude Code config

Project-level .mcp.json example:

Local source

{
  "mcpServers": {
    "crankly": {
      "type": "stdio",
      "command": "bun",
      "args": ["/absolute/path/to/crankly/index.ts"]
    }
  }
}

Bun runner

{
  "mcpServers": {
    "crankly": {
      "type": "stdio",
      "command": "bunx",
      "args": ["crankly"]
    }
  }
}

npm runner

{
  "mcpServers": {
    "crankly": {
      "type": "stdio",
      "command": "npx",
      "args": ["crankly"]
    }
  }
}

pnpm runner

{
  "mcpServers": {
    "crankly": {
      "type": "stdio",
      "command": "pnpm",
      "args": ["dlx", "crankly"]
    }
  }
}

global executable

{
  "mcpServers": {
    "crankly": {
      "type": "stdio",
      "command": "crankly"
    }
  }
}

Verify in Claude Code

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

OpenCode supports MCP servers through its JSON configuration.

Recommended config locations

  • ~/.config/opencode/opencode.json
  • project-local opencode.json

Config examples

Using Bun runner

{
  "mcp": {
    "crankly": {
      "type": "local",
      "enabled": true,
      "command": ["bunx", "crankly"]
    }
  }
}

Using npm runner

{
  "mcp": {
    "crankly": {
      "type": "local",
      "enabled": true,
      "command": ["npx", "crankly"]
    }
  }
}

Using pnpm runner

{
  "mcp": {
    "crankly": {
      "type": "local",
      "enabled": true,
      "command": ["pnpm", "dlx", "crankly"]
    }
  }
}

Using Yarn runner

{
  "mcp": {
    "crankly": {
      "type": "local",
      "enabled": true,
      "command": ["yarn", "dlx", "crankly"]
    }
  }
}

Using global installation

{
  "mcp": {
    "crankly": {
      "type": "local",
      "enabled": true,
      "command": ["crankly"]
    }
  }
}

Using local source

{
  "mcp": {
    "crankly": {
      "type": "local",
      "enabled": true,
      "command": [
        "bun",
        "/absolute/path/to/crankly/index.ts"
      ]
    }
  }
}

Verify in OpenCode

Restart OpenCode after updating config.

Suggested prompts:

  • use crankly and list makes
  • use crankly and list toyota models
  • use crankly and get toyota corolla reviews
  • use crankly and compare corolla with civic

Which setup should you choose?

Best for local development

Use direct source execution:

bun /absolute/path/to/crankly/index.ts

Best for published package without permanent global install

Use one of:

bunx crankly
npx crankly
pnpm dlx crankly
yarn dlx crankly

Best for repeat daily use

Install globally and use:

crankly

Troubleshooting

The command appears to hang

This is expected if you run the server directly.

Example:

crankly

The server is waiting for MCP input. Use an MCP client or MCP Inspector.

The client says the server did not start

Use an absolute path first:

bun /absolute/path/to/crankly/index.ts

This avoids PATH resolution issues.

crankly command is not found

Install globally with your preferred package manager:

bun add -g crankly

or:

npm install -g crankly

or:

pnpm add -g crankly

Then verify:

command -v crankly

npx crankly or pnpm dlx crankly resolves but fails at runtime

Make sure Bun is installed and available in your PATH.

A client does not pick up changes

Restart the MCP client after updating configuration.


License

This project is licensed under the MIT License. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured