Bouncie MCP服务器
A. 模型上下文协议(MCP) 服务器 弹跳力 OBD2车辆跟踪API。让Claude、ChatGPT或任何兼容MCP的AI助手实时访问您的车辆数据——位置、行程、诊断、燃油液位等。
它的作用
将您的Bouncie GPS追踪器连接到人工智能。问以下自然语言问题:
- “我的车现在在哪里?”
- “给我看看上周的旅行”
- “我的检查引擎灯亮了吗?什么代码?”
- “我还剩多少燃料?”
- “这周我开车时间最长的是什么?”
特性
- 实时车辆跟踪 --GPS位置、速度、航向、地址
- 行程历史和分析 --距离、持续时间、平均/最大速度、油耗、急刹车和加速计数、GPS轨迹(折线或GeoJSON)
- 车辆诊断 --检查发动机指示灯(MIL)状态、OBD2故障诊断码(DTC)、蓄电池健康状况
- 车辆信息 --品牌、型号、年份、VIN、发动机、里程表、燃油液位
- 多用户OAuth --HTTP模式将Claude.ai的OAuth代理到Bouncie,因此每个用户都使用自己的Bouncie帐户进行授权
- 标准+HTTP模式 --使用预先颁发的访问令牌在本地运行,或为多个用户集中运行
- Docker就绪 --使用HTTPS部署到任何地方
快速开始
本地(stdio)模式
npm install && npm run build添加到克劳德桌面或克劳德代码MCP设置:
{
"mcpServers": {
"bouncie": {
"command": "node",
"args": ["/path/to/bouncie-mcp/dist/index.js"],
"env": {
"BOUNCIE_ACCESS_TOKEN": "your-access-token"
}
}
}
}Stdio模式使用预先获得的Bouncie访问令牌——没有OAuth流。使用HTTP模式进行多用户部署。
使用Docker的远程(HTTP)模式
cp .env.example .env # fill in your credentials
docker compose up -d服务器公开:
/mcp--MCP端点(承载令牌认证)/authorize--启动OAuth流,将用户重定向到Bouncie/callback--Bouncie的OAuth重定向目标/token--MCP客户端的令牌交换端点/register--RFC 7591动态客户端注册/.well-known/oauth-authorization-server--RFC 8414元数据/health--健康检查
Bouncie应用程序设置
- 注册于 bouncie.dev 并创建一个应用程序
- 注意你的 客户端ID 和 客户端密钥
- 设置 重定向URL 到
{PUBLIC_URL}/callback(例如。https://bouncie.example.com/callback)
这就是所有的门户工作——当用户通过Claude.ai连接时,他们通过OAuth流单独授权。
环境变量
标准模式(单用户)
| 变量 | 必填 | 描述 |
|---|---|---|
BOUNCIE_ACCESS_TOKEN | 是 | 预先获得的Bouncie访问令牌 |
HTTP模式(多用户)
| 变量 | 必填 | 描述 |
|---|---|---|
BOUNCIE_CLIENT_ID | 是 | Bouncie应用程序客户端ID |
BOUNCIE_CLIENT_SECRET | 是 | Bouncie应用程序客户端机密 |
PUBLIC_URL | 是 | 公共URL(例如。 https://bouncie.example.com);Bouncie应用程序的重定向URL必须为 {PUBLIC_URL}/callback |
TOKEN_TTL_HOURS | 否 | MCP令牌寿命(小时),默认24 |
PORT | 否 | HTTP服务器端口,默认3000 |
工具
get_vehicles
列出帐户上所有车辆的实时统计数据。
| 参数 | 类型 | 说明 |
|---|---|---|
vin | string(可选) | 按VIN筛选 |
imei | string(可选) | 按设备IMEI筛选 |
返回:车辆信息(品牌/型号/年份、VIN、IMEI、昵称)和实时统计数据(GPS位置、速度、燃油液位、里程表、发动机运行状态、电池、检查发动机灯、DTC)。
get_vehicle
通过VIN或IMEI获取一辆车。至少需要一个标识符。
get_trips
获取车辆的行程历史记录。
| 参数 | 类型 | 说明 | |
|---|---|---|---|
imei | string | 设备IMEI(必填) | |
starts_after | string(可选) | ISO日期--在此时间之后开始的行程 | |
ends_before | string(可选) | ISO日期--在此时间之前结束的行程 | |
gps_format | "polyline" | "geojson" (可选) | GPS数据格式(默认:折线) |
transaction_id | string(可选) | 按事务ID获取特定行程 |
日期窗口最长为1周。默认为持续7天。
返回值:距离、持续时间、平均/最大速度、油耗、急刹车/加速计数、里程表、GPS轨迹。
get_user
获取经过身份验证的用户的个人资料。
时间戳
Bouncie API的所有时间戳都在 协调世界时.每辆车/每次行程都包含一个时区偏移字段(localTimeZone 或 timeZone例如。 "-0500")用于本地时间转换。
发展
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm test # Run tests (21 tests)
npm run lint # Type check建筑
src/index.ts--stdio传输入口点src/http.ts--使用OAuth的HTTP/Express入口点src/server.ts--MCP工具定义src/api.ts-Bouncie REST API客户端src/oauth.ts--将Claude.ai的OAuth代理到Bouncie的OAuth的OAuth提供程序(支持PKCE)src/types.ts--车辆、行程和webhook事件的TypeScript类型
Bouncie Webhook活动
Bouncie API还支持webhook(此处记录以供参考):
| 事件 | 描述 |
|---|---|
connect / disconnect | 设备已插入/未插入 |
battery | 电池状态变化(正常/临界) |
mil | 检查发动机灯是否亮起/熄灭以及DTC代码 |
tripStart / tripEnd | 行程以里程表、油耗开始/结束 |
tripMetrics | 行程摘要——距离、速度、制动/加速 |
tripData | 旅行中的实时GPS面包屑 |
许可证
麻省理工学院
