VNDB MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VNDB MCP ServerShow my currently playing visual novels."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VNDB MCP Server
MCP-сервер для управления списком визуальных новелл на VNDB.org.
Возможности
🔍 Поиск ВН по названию (поддерживает русские названия) или ID
➕ Добавление в списки с различными статусами
📝 Установка оценок и заметок
📋 Просмотр списка пользователя
🔄 Изменение статуса (Playing → Finished и т.д.)
❌ Удаление из списка
Related MCP server: AniList MCP Server
Инструменты
Инструмент | Описание |
| Поиск ВН по названию или ID |
| Добавить ВН в список со статусом |
| Изменить статус ВН в списке |
| Удалить ВН из списка |
| Получить список ВН пользователя |
| Проверка подключения и авторизации |
Статусы
Статус | Описание |
| 🎮 В процессе |
| ✅ Завершено |
| ⏸️ Приостановлено |
| ❌ Брошено |
| 📋 Запланировано |
Быстрый старт
1. Получение токена VNDB
Откройте https://vndb.org/u/tokens
Войдите в свой аккаунт
Создайте новый токен с разрешениями:
listread— чтение списковlistwrite— запись в списки
2. Установка токена
Способ 1: Через .env файл
Создайте файл .env в корне проекта:
VNDB_TOKEN=ваш-токен-здесьСпособ 2: В mcp.json
Откройте mcp.json и укажите токен в env:
{
"mcpServers": {
"vndb": {
"command": "node",
"args": ["путь/к/server.js"],
"env": {
"VNDB_TOKEN": "ваш-токен-здесь"
}
}
}
}3. Установка зависимостей
npm install4. Запуск
npm startПодключение к MCP-клиентам
Claude Desktop
Windows: %APPDATA%\Claude\claude_desktop_config.json
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"vndb": {
"command": "node",
"args": ["C:\\путь\\к\\vndb-mcp\\server.js"],
"env": {
"VNDB_TOKEN": "ваш-токен"
}
}
}
}VS Code
Установите расширение MCP
Откройте настройки MCP (
Ctrl+Shift+P→ "MCP: Open Configuration")Добавьте сервер:
{
"mcpServers": {
"vndb": {
"command": "node",
"args": ["${workspaceFolder}/server.js"],
"env": {
"VNDB_TOKEN": "ваш-токен"
}
}
}
}Cursor
Откройте настройки MCP
Добавьте сервер с путём к
server.jsУкажите
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
Available Tools
6 toolsadd_vn_to_listДобавить ВН в списокA
Добавляет визуальную новеллу в список пользователя на VNDB с указанным статусом. Автоматически ищет ВН по названию (поддерживает русские названия), затем добавляет в список.
| Name | Required | Description | Default |
|---|---|---|---|
| vote | No | Оценка от 1 до 10 (необязательно) | |
| notes | No | Заметки о ВН (необязательно) | |
| status | Yes | Статус: playing (в процессе), finished (завершено), stalled (приостановлено), dropped (брошено), planning (запланировано) | |
| vnName | Yes | Название ВН (можно на русском) или ID (например, "v123" или "123") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It does mention the notable two-step behavior (auto-search by name, then add), which is helpful. However, it omits other important details such as authentication requirements, failure modes (e.g., what happens if the VN is not found or already in the list), and whether the action is reversible or idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with the core action. The second sentence adds useful behavioral context (automatic search) without any wordiness. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters, 2 required, and no output schema, and there are no annotations to fill gaps. The description covers the main action and behavior, but it does not mention what the tool returns, potential errors, or the need for authentication. Given the simplicity of the operation, the description is partially complete but leaves out transaction-level details that an agent would need for robust handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters with meaningful descriptions (vnName supports Russian names or IDs, status has enum with Russian translations, vote and notes are clearly explained). The description adds no additional parameter-level detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: adding a visual novel to the user's VNDB list with a specified status. It also mentions the automatic search behavior, which distinguishes it from sibling tools like remove_vn_from_list or update_vn_status. The verb 'adds' and the resource 'visual novel to the list' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (adding a new VN to the list), and the auto-search behavior provides some context. However, it does not explicitly state when to use this tool versus siblings like update_vn_status or search_vn, nor does it mention any exclusions or prerequisites (e.g., authentication).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_authПроверить авторизациюA
Проверяет подключение к VNDB API и получает информацию о текущем пользователе.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the tool's read-only intention (checking connection, getting user info) but does not mention error handling, failure behavior, or whether authentication is required. The description is adequate for a simple check but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the tool's action and purpose. Every word contributes to understanding, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema) and its clear distinction from siblings, the description is largely complete. It could optionally mention what specific user information is returned or any failure modes, but the description sufficiently covers the core functionality for a basic auth check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter-specific meaning because there are none, but it also does not need to. It correctly omits any parameter discussion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking the connection to the VNDB API and retrieving current user information. This distinguishes it from sibling tools, which all focus on VN list management (add, remove, update, search), so there is no ambiguity about its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to verify API connectivity and user identity), but it does not explicitly state when it should be used compared to alternatives. No exclusions or prerequisites are mentioned, though they are minimally relevant for a parameter-less auth check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vn_listПолучить список ВНA
Получает список визуальных новелл пользователя с указанным статусом.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Количество результатов (1-100) | |
| status | No | Фильтр по статусу | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states a simple read operation, omitting details about authentication requirements, pagination via limit, error handling, or return format. This minimal description provides little beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant information. It is front-loaded with the action and resource, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 params, no output schema), the description provides the core purpose but omits behavioral details like pagination or output structure. It is minimally sufficient for a simple list retrieval, but lacks the context that would fully prepare an agent for response handling and usage limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema, so the description adds nothing new about parameter meanings. Schema coverage is 100%, which meets the baseline for a score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of the user's visual novels filtered by status. The verb 'get' and resource 'list of visual novels' distinguish it from sibling tools like add, remove, update, and search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for fetching the user's VN list with a status filter, but it does not explicitly differentiate from search_vn or provide exclusions. No alternative tools are mentioned, so usage context is only implied, not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_vn_from_listУдалить ВН из спискаA
Удаляет визуальную новеллу из списка пользователя на VNDB.
| Name | Required | Description | Default |
|---|---|---|---|
| vnId | Yes | ID визуальной новеллы (например, "v123") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only states the basic removal action without mentioning auth requirements, irreversibility, or what happens if the VN is not in the list. This is insufficient context for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with an active verb and direct object, with no filler or redundancy. It is appropriately concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, so the description covers the basic operation, but with no annotations or output schema, it lacks details on side effects, auth, or error behavior. It is minimally adequate but incomplete for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single vnId parameter with an example, achieving 100% coverage, so the description does not need to add much. The description's wording adds no further parameter nuance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Удаляет' (removes) with the resource 'визуальную новеллу из списка пользователя', clearly distinguishing it from sibling tools like add_vn_to_list and update_vn_status. There is no ambiguity about what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool, but the purpose and sibling names imply it is for removing a VN from the user's list. No exclusions or alternatives are mentioned, only the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vnПоиск ВНA
Ищет визуальную новеллу на VNDB по названию (поддерживает русские названия) или ID. Возвращает информацию о найденных ВН.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Название ВН (можно на русском) или ID (например, "v123" или "123") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states that the tool searches and returns information, which implies a read-only operation, but it does not explicitly mention that it makes no changes, requires no authentication, or discuss what happens if no results are found. The Russian language support is a helpful behavioral detail, but overall the description gives only minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and includes the key input types and scope. Every word contributes meaning, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one param and no output schema, and the description covers the purpose and input format adequately. It mentions that results return information about found VNs, which is somewhat vague, but given the low complexity, the description is reasonably complete. It does not cover edge cases like empty results, but this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description is thorough, covering both Russian names and ID formats. The description adds the VNDB context and return behavior, but it does not significantly enhance the parameter meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for a visual novel on VNDB by title (with Russian support) or ID, which is a specific verb-plus-resource. It distinguishes itself from sibling tools, which are all list management and auth operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need to find a VN by name or ID, possibly in Russian. It provides clear context but does not explicitly exclude alternatives or mention when not to use it. However, the sibling tools are obviously different, so usage context is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_vn_statusОбновить статус ВНB
Изменяет статус визуальной новеллы в списке пользователя. Например, переместить из "В процессе" в "Завершено".
| Name | Required | Description | Default |
|---|---|---|---|
| vnId | Yes | ID визуальной новеллы (например, "v123") | |
| vote | No | Оценка от 1 до 10 (необязательно) | |
| notes | No | Заметки (перезаписывает существующие) | |
| status | Yes | Новый статус |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions changing the status and does not disclose that vote and notes can also be updated, that notes overwrite existing notes, or any permission or side-effect considerations. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one purpose statement followed by a helpful example. It is front-loaded, contains no filler, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters, no annotations, and no output schema. The description focuses only on status updates and omits the tool's broader capability to also set vote and notes. It does not mention return behavior or side effects, leaving the description incomplete relative to the tool's actual scope despite the schema covering parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a small semantic mapping with 'В процессе' and 'Завершено', but it does not explicitly map these to the enum values or clarify vote/notes usage. The schema itself handles most parameter meaning, so the description provides marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Изменяет' (changes) and the resource 'статус визуальной новеллы' (status of a visual novel) in the user's list. The example 'переместить из "В процессе" в "Завершено"' concretely illustrates the action, and the purpose is distinct from siblings like add_vn_to_list or remove_vn_from_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete usage example ('переместить из "В процессе" в "Завершено"'), which implies when to use the tool, but it does not explicitly mention alternatives or when not to use it, such as adding a new entry with add_vn_to_list or removing one with remove_vn_from_list. Guidance is thus implied rather than fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.0- First observed
add_vn_to_list - First observed
check_auth - First observed
get_vn_list - First observed
remove_vn_from_list - First observed
search_vn - First observed
update_vn_status
TDQS
Scored across 6 tools
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.
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.
Six tools cover the core operations of a VN list management server without being excessive or sparse. Each tool serves a clear, necessary function.
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
Related MCP Connectors
Access and interact with anime and manga data seamlessly. Retrieve detailed information about your…
- AchriomOAuthcom.achriom
Media memory for AI agents and their humans: books, movies, music, shows, anime, podcasts, games.
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
Manage job applications — jobs, companies, boards, notes, and profile — from your AI client.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to interact with MyAnimeList user accounts for list management, progress tracking, and personalized anime recommendations.11-
- AlicenseAqualityAmaintenanceEnables searching and browsing anime/manga, characters, staff, and more on AniList without credentials, and with a one-time login allows managing personal lists, favorites, follows, and activity.4989 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI clients to search, inspect, rank, and manage MyAnimeList anime and manga, including authenticated user list operations.15MIT
- FlicenseNot gradedqualityBmaintenanceEnables querying and updating Bangumi anime collections, tracking per-episode progress, and receiving airing reminders for currently-watching anime via AniList.-