crankly
v0.1.0
Published
Public MCP server for StartMyCar vehicle data
Downloads
22
Maintainers
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:
usaucagbnzzaitfrde
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 --versionInstallation 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 installThen point your MCP client to:
bun /absolute/path/to/crankly/index.ts2. Run without global installation
This is the easiest published-package flow for one-off or ephemeral use.
Bun
bunx cranklynpm
npx cranklypnpm
pnpm dlx cranklyYarn
yarn dlx cranklyThese 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 cranklynpm
npm install -g cranklypnpm
pnpm add -g cranklyYarn Classic
yarn global add cranklyAfter global installation, the executable becomes:
cranklyVerify:
command -v cranklyQuick local validation
Type-check
bun run typecheckStart from source
bun run index.tsInspect 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.tsIf you already have the executable available globally:
bunx @modelcontextprotocol/inspector cranklyUseful 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 cranklyUsing npm runner
codex mcp add crankly -- npx cranklyUsing pnpm runner
codex mcp add crankly -- pnpm dlx cranklyUsing Yarn runner
codex mcp add crankly -- yarn dlx cranklyUsing global installation
If you already installed Crankly globally:
codex mcp add crankly -- cranklyUsing local source directly
codex mcp add crankly -- bun /absolute/path/to/crankly/index.tsManual 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 = 120Bun ephemeral runner
[mcp_servers.crankly]
command = "bunx"
args = ["crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120npm ephemeral runner
[mcp_servers.crankly]
command = "npx"
args = ["crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120pnpm ephemeral runner
[mcp_servers.crankly]
command = "pnpm"
args = ["dlx", "crankly"]
startup_timeout_sec = 20
tool_timeout_sec = 120global executable
[mcp_servers.crankly]
command = "crankly"
startup_timeout_sec = 20
tool_timeout_sec = 120Verify in Codex
codex 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
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 cranklyUsing npm runner
claude mcp add --transport stdio crankly -- npx cranklyUsing pnpm runner
claude mcp add --transport stdio crankly -- pnpm dlx cranklyUsing Yarn runner
claude mcp add --transport stdio crankly -- yarn dlx cranklyUsing global installation
claude mcp add --transport stdio crankly -- cranklyUsing local source directly
claude mcp add --transport stdio crankly -- bun /absolute/path/to/crankly/index.tsManual 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:
/mcpCheck 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 makesuse crankly and list toyota modelsuse crankly and get toyota corolla reviewsuse 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.tsBest for published package without permanent global install
Use one of:
bunx crankly
npx crankly
pnpm dlx crankly
yarn dlx cranklyBest for repeat daily use
Install globally and use:
cranklyTroubleshooting
The command appears to hang
This is expected if you run the server directly.
Example:
cranklyThe 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.tsThis avoids PATH resolution issues.
crankly command is not found
Install globally with your preferred package manager:
bun add -g cranklyor:
npm install -g cranklyor:
pnpm add -g cranklyThen verify:
command -v cranklynpx 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.
