内容
<div align="center">
**Valenbisi 自行车共享系统 MCP 服务器**
*询问您的 AI 助手以查找最近的站点并解锁自行车 — 直接从聊天中*
<p>
<img src="https://img.shields.io/github/v/release/galimru/valenbisi-mcp" alt="最新版本">
<img src="https://img.shields.io/badge/MCP-compatible-blueviolet" alt="MCP">
<img src="https://img.shields.io/badge/Go-1.26+-00ADD8?style=flat&logo=go&logoColor=white" alt="Go">
<img src="https://img.shields.io/badge/license-MIT-blue" alt="许可证">
</p>
</div>
---
将您的 AI 助手连接到 Valenbisi。询问哪些站点有自行车,查找特定自行车的地点,或解锁自行车 — 所有这些都可以通过自然对话。
## 快速开始
**1. 安装**
```bash
curl -sSL https://galimru.github.io/valenbisi-mcp/install.sh | sh
```
或从 [发布页面](https://github.com/galimru/valenbisi-mcp/releases) 下载二进制文件。
**2. 连接到 Claude Desktop**
添加到 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"valenbisi": {
"command": "/usr/local/bin/valenbisi-mcp",
"env": {
"VALENBISI_EMAIL": "you@example.com",
"VALENBISI_PASSWORD": "123456"
}
}
}
}
```
**3. 设置 `app_token_key`**
创建或编辑 `~/.config/valenbisi-mcp/config.json`:
```json
{
"unlock_distance": 50,
"app_token_key": "APK_DERIVED_APP_TOKEN_KEY"
}
```
`app_token_key` 是 API 支持的工具正常工作的必需项。它是从官方 Android 应用程序导出的 Cyclocity 应用程序令牌密钥。
## 工具
| 工具 | 功能 |
|------|--------------|
| `get_nearest_stations` | 获取距 GPS 位置最近的站点,按距离排序 |
| `get_nearest_stations_with_bikes` | 获取最近的开放站点,且有可租用的自行车 |
| `get_nearest_stations_with_stands` | 获取最近的开放站点,且有空闲泊位可归还自行车 |
| `get_station` | 获取单个站点的详细信息 |
| `get_bike` | 按编号查找自行车 — 返回其当前站点和泊位 |
| `get_bikes_by_station` | 列出当前在站点上的自行车 |
| `unlock_bike` | 解锁自行车(需要您的 GPS 坐标;在调用时强制进行 proximity 检查) |
| `get_profile` | 获取您的账户资料 |
| `get_trips` | 获取您的过去行程 |
| `get_ongoing_trip` | 检查您当前是否有正在进行的行程 |
## 配置
**环境变量**
| 变量 | 是否必需 | 描述 |
|----------|----------|-------------|
| `VALENBISI_EMAIL` | 是 | 您的 Valenbisi 账户电子邮件 |
| `VALENBISI_PASSWORD` | 是 | 您的 Valenbisi 账户密码 |
| `VALENBISI_DEBUG` | 否 | 设置为任意非空值,以将 HTTP 流量记录到 stderr |
**配置文件**
`~/.config/valenbisi-mcp/config.json` 在首次运行时创建,带有默认值:
```json
{
"unlock_distance": 50,
"app_token_key": ""
}
```
| 字段 | 是否必需 | 描述 |
|-------|----------|-------------|
| `unlock_distance` | 否 | 允许 `unlock_bike` 的最大距离(以米为单位)。`0` 被视为默认值 `50`。 |
| `app_token_key` | 是 | 用于应用程序级 API 身份验证的 Cyclocity 应用程序令牌密钥。 |
`app_token_key` 必须在 API 支持的工具成功运行之前进行配置。它是从官方 Android 应用程序导出的 Cyclocity 应用程序令牌密钥。
## 注意事项
- 本项目与 JCDecaux 或 Valenbisi 服务无关。
- 用户身份验证状态缓存在 `~/.config/valenbisi-mcp/session.json` 中。
- 应用程序令牌状态单独缓存在 `~/.config/valenbisi-mcp/app_token.json` 中。
## 贡献
欢迎进行错误修复和清晰的改进。对于非琐碎的更改,请先开启一个问题。
## 许可证
MIT