内容
# 考克斯汽车MCP
首个针对汽车经销商行业的MCP服务器。让Claude、Cursor或任何MCP客户端读取经销商账户、查找制造商激励措施,并通过考克斯汽车/经销商开发者门户API管理库存列表。
考克斯汽车是汽车经销商生态系统的 umbrella — 包括Dealer.com(网站 + 数字营销)、vAuto(库存 + 定价)、Dealertrack(DMS + 融资)、VinSolutions(CRM)等。本MCP涵盖了公开记录的经销商开发者门户API表面(账户、激励措施、库存)。其他考克斯品牌暴露了额外的合作伙伴门控API,这些API将在其表面公开记录后添加。
## 为什么存在
美国17,000多家汽车经销商依赖考克斯汽车进行日常运营。该行业没有MCP。现有的AI工具针对的是经销商不运行的通用CRM(HubSpot、Salesforce)。这是第一个。
## 12种工具
| 工具 | 功能 |
|---|---|
| `health_check` | 验证`COX_AUTO_API_KEY`是否有效。 |
| `list_accounts` | API密钥可以访问的经销商账户分页列表。 |
| `iter_accounts` | 所有账户的扁平列表(自动分页)。 |
| `get_account` | 按ID获取一个经销商账户。 |
| `list_incentives` | 账户的分页激励措施(返利、融资优惠)。 |
| `get_incentive` | 账户中按ID获取一个激励措施。 |
| `search_incentives` | 按车辆制造商/型号/年份过滤激励措施。 |
| `list_inventory` | 经销商库存中的分页车辆。 |
| `iter_inventory` | 所有库存车辆的扁平列表(自动分页)。 |
| `get_vehicle` | 按ID获取一个车辆列表。 |
| `create_vehicle` | 将车辆添加到库存。 |
| `update_vehicle` | 更新车辆的字段(价格、里程、照片、状态)。 |
| `delete_vehicle` | 从库存中删除车辆。 |
| `search_inventory` | 按制造商/型号/年份/价格范围过滤库存。 |
## 安装
```bash
pip install cox-automotive-mcp
```
或从源代码安装:
```bash
git clone https://github.com/sanjibani/cox-automotive-mcp
cd cox-automotive-mcp
pip install -e ".[dev]"
```
## 配置
```bash
export COX_AUTO_API_KEY=<您的经销商开发者门户API密钥>
```
通过注册https://developer.inv.dealer.com(我的账户 → 注册)获取API密钥。考克斯汽车的Mashery支持的API使用基于头的API密钥。
可选覆盖:
- `COX_AUTO_BASE_URL` — 更改API基础(沙盒、区域)
- `COX_AUTO_AUDIT_LOG` — JSONL审计日志文件路径(默认为stderr)
## 运行
```bash
cox_automotive_mcp
```
添加到MCP客户端配置(Claude Desktop、Cursor等):
```json
{
"mcpServers": {
"cox-automotive": {
"command": "cox_automotive_mcp",
"env": {
"COX_AUTO_API_KEY": "您的密钥"
}
}
}
}
```
## 示例提示
连接到MCP客户端后:
- “显示此API密钥可以访问的所有经销商账户。”
- “对于经销商1042,2024款本田思域有哪些激励措施?”
- “列出经销商1042库存中所有低于25,000美元的车辆。”
- “添加我刚刚收到的这辆2023款丰田凯美瑞:VIN 4T1B11HK5KU123456,18,500英里,售价24,995美元,库存号P1042-12。”
- “车辆9001刚刚拍摄了新的照片 — 更新照片网址为https://cdn.example.com/9001-v2.jpg。”
- “车辆9017已售出。从库存中删除它。”
## 架构
基于`mcp-vertical-template`行业领先的模式构建:
- **共享`httpx.AsyncClient`**,带有连接池(最大100个,保活20个)+ 传输级重试
- **类型化的异常层次结构**(`CoxAutomotiveAuthError`、`RateLimitError`、`NotFoundError`、`APIError`、`ConnectionError`),带有结构化字段(`http_status`、`error_code`、`request_id`、`retry_after`、`body`)
- **应用级重试**,带有指数退避 + 全抖动,遵循`Retry-After`
- **自动分页迭代器**(`iter_accounts`、`iter_inventory`、`iter_incentives`),在无需调用者计算的情况下遍历`page`/`pageSize`游标
- **isError-compliance** — 每个MCP工具在失败时都会引发异常,因此FastMCP在wire上设置`isError: true`(Blackwell Systems审计模式;代理无法无限重试看不到的异常)
- **JSONL审计日志**到stderr(或`COX_AUTO_AUDIT_LOG`文件)— B2B采购的SOC2基线
- **基于属性的测试**(Hypothesis)用于JSON往返
- **严格的mypy** + **完整的ruff规则集** + **pytest**,带有respx HTTP模拟
## 开发
```bash
git clone https://github.com/sanjibani/cox-automotive-mcp
cd cox-automotive-mcp
pip install -e ".[dev]"
pytest # 单元 + 集成模拟
ruff check src tests # lint
ruff format --check src tests # 格式化
mypy src # 严格类型检查
```
通过`pytest --cov`强制执行80%的测试覆盖率。
## 相关MCP
这是同一作者的垂直MCP服务器组合的一部分。参见https://github.com/sanjibani?q=-mcp获取完整列表,包括法律(PracticePanther)、保险(HawkSoft)、牙科(Open Dental)、兽医(ezyVet)、家庭服务(Jobber)、教堂/非营利组织(Realm ACS)和共享的脚手架模板。
有关自定义MCP服务器参与,请参见https://sanjibani.github.io/mcp-services/。
## 许可证
MIT — Sanjibani Choudhury <schoudhury1991@gmail.com>