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.
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 --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 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.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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。