VNDB MCP Server
by ivanmem
README.md
# VNDB MCP Server
[](https://github.com/ivanmem/vndb-mcp/actions/workflows/ci.yml)
[](https://opensource.org/licenses/ISC)
MCP-сервер для управления списком визуальных новелл на [VNDB.org](https://vndb.org).
## Возможности
- 🔍 **Поиск ВН** по названию (поддерживает русские названия) или ID
- ➕ **Добавление в списки** с различными статусами
- 📝 **Установка оценок** и заметок
- 📋 **Просмотр списка** пользователя
- 🔄 **Изменение статуса** (Playing → Finished и т.д.)
- ❌ **Удаление из списка**
## Инструменты
| Инструмент | Описание |
|------------|----------|
| `search_vn` | Поиск ВН по названию или ID |
| `add_vn_to_list` | Добавить ВН в список со статусом |
| `update_vn_status` | Изменить статус ВН в списке |
| `remove_vn_from_list` | Удалить ВН из списка |
| `get_vn_list` | Получить список ВН пользователя |
| `check_auth` | Проверка подключения и авторизации |
## Статусы
| Статус | Описание |
|--------|----------|
| `playing` | 🎮 В процессе |
| `finished` | ✅ Завершено |
| `stalled` | ⏸️ Приостановлено |
| `dropped` | ❌ Брошено |
| `planning` | 📋 Запланировано |
## Быстрый старт
### 1. Получение токена VNDB
1. Откройте https://vndb.org/u/tokens
2. Войдите в свой аккаунт
3. Создайте новый токен с разрешениями:
- `listread` — чтение списков
- `listwrite` — запись в списки
### 2. Установка токена
**Способ 1: Через `.env` файл**
Создайте файл `.env` в корне проекта:
```
VNDB_TOKEN=ваш-токен-здесь
```
**Способ 2: В `mcp.json`**
Откройте `mcp.json` и укажите токен в `env`:
```json
{
"mcpServers": {
"vndb": {
"command": "node",
"args": ["путь/к/server.js"],
"env": {
"VNDB_TOKEN": "ваш-токен-здесь"
}
}
}
}
```
### 3. Установка зависимостей
```bash
npm install
```
### 4. Запуск
```bash
npm start
```
## Подключение к MCP-клиентам
### Claude Desktop
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"vndb": {
"command": "node",
"args": ["C:\\путь\\к\\vndb-mcp\\server.js"],
"env": {
"VNDB_TOKEN": "ваш-токен"
}
}
}
}
```
### VS Code
1. Установите расширение **MCP**
2. Откройте настройки MCP (`Ctrl+Shift+P` → "MCP: Open Configuration")
3. Добавьте сервер:
```json
{
"mcpServers": {
"vndb": {
"command": "node",
"args": ["${workspaceFolder}/server.js"],
"env": {
"VNDB_TOKEN": "ваш-токен"
}
}
}
}
```
### Cursor
1. Откройте настройки MCP
2. Добавьте сервер с путём к `server.js`
3. Укажите `VNDB_TOKEN` в переменных окружения
## Примеры использования
### Поиск новеллы
```
Найди новеллу "Steins;Gate"
```
### Добавление в список
```
Добавь "Бесконечное лето" в завершённые, оценка 8/10
```
### Изменение статуса
```
Перемести "Clannad" в "В процессе"
```
### Просмотр списка
```
Покажи мой список завершённых новелл
```
## Поиск по русским названиям
Сервер автоматически ищет ВН по русскому названию через VNDB API.
Для точного поиска используйте оригинальное название или ID (например, `v123`).
## API VNDB
- Документация: https://api.vndb.org/kana
- Лимиты: 200 запросов / 5 минут
## Требования
- Node.js >= 18.0.0
## Лицензия
ISC
TDQS
A4/5.0
Scored across 6 tools
Disambiguation5/5
Each tool has a distinct purpose: searching, adding, removing, updating status, retrieving the user's list, and checking authentication. There is no meaningful overlap between them.
Naming Consistency5/5
All tool names follow a consistent snake_case verb_noun pattern (e.g., search_vn, add_vn_to_list, update_vn_status), with minor prepositions that do not break uniformity.
Tool Count5/5
Six tools cover the core operations of a VN list management server without being excessive or sparse. Each tool serves a clear, necessary function.
Completeness5/5
The set provides full lifecycle coverage for a user's VN list: search, add, remove, update status, and retrieve the list, plus authentication. There are no obvious gaps for the stated purpose.
Maintenance
ActivityInactive
ResponsivenessNo issues