WatchBase MCP Server
Сервер WatchBase MCP
Сервер MCP (Model Context Protocol), предоставляющий доступ к API WatchBase Data Feed для запроса метаданных часов.
О API WatchBase
API WatchBase Data Feed обеспечивает структурированный доступ к полной базе данных информации о часах, включая бренды, семейства (коллекции), конкретные модели часов, номера ссылок, технические детали и изображения. Он позволяет разработчикам интегрировать подробные данные о часах в свои приложения. Более подробную информацию можно найти в документации API WatchBase .
Related MCP server: mcp-mediawiki-crunchtools
Функции
Этот сервер MCP предоставляет следующие инструменты, соответствующие конечным точкам API WatchBase:
search: поиск в базе данных по названию бренда, фамилии, названию часов и номеру модели (соответствует целым словам).search_refnr: Поиск в базе данных по номеру ссылки (допускаются частичные совпадения).list_brands: Получить список всех марок часов в базе данных.list_families: получение списка всех семейств (коллекций) для заданного идентификатора бренда.list_watches: Получить список часов для определенного идентификатора бренда и, при необходимости, идентификатора семьи. Можно отфильтровать по дате обновления.get_watch_details: получение полной информации (всех полей данных) о конкретных часах по их идентификатору WatchBase.
Предпосылки
Node.js и npm: требуются для установки зависимостей и запуска сервера.
WatchBase API Key: Вам нужен API-ключ от WatchBase. Посетите страницу WatchBase API , чтобы запросить доступ и получить ключ.
Установка
Клонируйте репозиторий:
git clone https://github.com/watchdealer-pavel/watchbase-mcp.git cd watchbase-mcpУстановить зависимости:
npm installСборка сервера:
npm run buildЭта команда компилирует исходный код TypeScript в JavaScript, помещая вывод в каталог
build/(в частностиbuild/index.js).
Конфигурация
Сервер требует, чтобы ваш ключ API WatchBase был предоставлен через переменную среды WATCHBASE_API_KEY . Вам необходимо настроить клиент MCP (например, Cline/Roo Code или Claude Desktop App) для запуска этого сервера и передачи переменной среды.
Пример конфигурации:
Ниже приведены примеры для распространенных клиентов MCP. Не забудьте заменить /path/to/your/watchbase-mcp/build/index.js на фактический абсолютный путь к скомпилированному файлу сервера в вашей системе, а YOUR_WATCHBASE_API_KEY на ваш настоящий ключ API WatchBase.
Cline / Roo Code (расширение VS Code)
Откройте настройки VS Code для серверов MCP. В macOS это обычно находится по адресу:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json(Примечание: точный путь может отличаться в зависимости от вашей операционной системы и типа установки VS Code. Для Roo Code заменитеsaoudrizwan.claude-devнаrooveterinaryinc.roo-cline)Добавьте следующий блок конфигурации в ключ
mcpServers:"watchbase-mcp": { "command": "node", "args": ["/path/to/your/watchbase-mcp/build/index.js"], // <-- IMPORTANT: Replace with the ACTUAL absolute path to build/index.js "env": { "WATCHBASE_API_KEY": "YOUR_WATCHBASE_API_KEY" // <-- IMPORTANT: Replace with your WatchBase API Key }, "disabled": false, "autoApprove": [] // Or add specific tools you want to auto-approve }
Приложение Клода для ПК
Откройте файл конфигурации Claude Desktop App. В macOS он обычно находится по адресу:
~/Library/Application Support/Claude/claude_desktop_config.json(Примечание: точный путь может отличаться в зависимости от вашей операционной системы.)Добавьте следующий блок конфигурации в ключ
mcpServers:"watchbase-mcp": { "command": "node", "args": ["/path/to/your/watchbase-mcp/build/index.js"], // <-- IMPORTANT: Replace with the ACTUAL absolute path to build/index.js "env": { "WATCHBASE_API_KEY": "YOUR_WATCHBASE_API_KEY" // <-- IMPORTANT: Replace with your WatchBase API Key }, "disabled": false, "autoApprove": [] // Or add specific tools you want to auto-approve }
Использование
После настройки вы сможете вызывать инструменты сервера из своего помощника на основе искусственного интеллекта с помощью команды/инструмента use_mcp_tool .
Пример search
<use_mcp_tool>
<server_name>watchbase-mcp</server_name>
<tool_name>search</tool_name>
<arguments>
{
"q": "priors court"
}
</arguments>
</use_mcp_tool>Пример search_refnr
<use_mcp_tool>
<server_name>watchbase-mcp</server_name>
<tool_name>search_refnr</tool_name>
<arguments>
{
"q": "P2/"
}
</arguments>
</use_mcp_tool>Пример list_brands
<use_mcp_tool>
<server_name>watchbase-mcp</server_name>
<tool_name>list_brands</tool_name>
<arguments>
{}
</arguments>
</use_mcp_tool>Пример list_families
<use_mcp_tool>
<server_name>watchbase-mcp</server_name>
<tool_name>list_families</tool_name>
<arguments>
{
"brand_id": 37
}
</arguments>
</use_mcp_tool>Пример list_watches
<use_mcp_tool>
<server_name>watchbase-mcp</server_name>
<tool_name>list_watches</tool_name>
<arguments>
{
"brand_id": 37,
"family_id": 279
}
</arguments>
</use_mcp_tool>Пример get_watch_details
<use_mcp_tool>
<server_name>watchbase-mcp</server_name>
<tool_name>get_watch_details</tool_name>
<arguments>
{
"id": 17289
}
</arguments>
</use_mcp_tool>Лицензия
Данный проект сервера MCP лицензирован по лицензии MIT — подробности см. в файле LICENSE .
Пожалуйста, также ознакомьтесь с условиями обслуживания WatchBase относительно использования API.
Available Tools
6 toolsget_watch_detailsC
Retrieve the full details for a particular watch by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the watch |
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. It states the action ('Retrieve') but doesn't disclose behavioral traits like whether this is a read-only operation, error handling for invalid IDs, authentication needs, rate limits, or response format. This leaves significant gaps for a tool with no annotation support.
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, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with zero waste, making it highly concise and well-structured.
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 no annotations and no output schema, the description is incomplete. It doesn't explain what 'full details' include, error scenarios, or return values, which are crucial for a retrieval tool. With low contextual support from structured fields, the description should provide more completeness but fails to do so.
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 has 100% description coverage, with the 'id' parameter documented as 'ID of the watch'. The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.
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 ('Retrieve') and resource ('full details for a particular watch'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_watches' or 'search', which might also retrieve watch information but with different scopes or filters.
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 no guidance on when to use this tool versus alternatives such as 'list_watches' or 'search'. It mentions retrieving details by ID, but doesn't clarify if this is for single-item lookups or when other tools might be more appropriate, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_brandsB
Retrieve a list of all brands in the database.
| 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 full burden for behavioral disclosure. It states this is a retrieval operation but doesn't mention important behavioral aspects like whether results are paginated, sorted, limited in count, or if authentication is required. For a list operation with zero annotation coverage, this leaves significant gaps.
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, efficient sentence that states exactly what the tool does with no wasted words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.
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?
For a list retrieval tool with no annotations and no output schema, the description is insufficiently complete. It doesn't describe what format the list returns (e.g., array of brand objects with specific fields), whether there are limitations on the result set, or how the tool behaves in different scenarios. The simplicity of having zero parameters doesn't compensate for these gaps.
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, and schema description coverage is 100%, so there are no parameters to document. The description appropriately doesn't attempt to explain nonexistent parameters, earning a baseline score of 4 for this dimension.
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 action ('Retrieve a list') and resource ('all brands in the database'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_families' or 'list_watches' that likely follow similar patterns for different resources.
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 no guidance on when to use this tool versus alternatives like 'search' or 'get_watch_details'. It doesn't mention whether this is for browsing all brands versus filtered searches, or what context would make this the appropriate choice among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_familiesC
Retrieve a list of all families for a given brand.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | BrandID of the brand |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a retrieval operation but doesn't mention whether it's paginated, rate-limited, requires authentication, returns structured data, or has any side effects. For a list operation with zero annotation coverage, this leaves significant gaps.
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, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple list operation and front-loads the essential information.
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?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what a 'family' represents in this domain, what format the returned list takes, or how this tool relates to sibling tools like 'list_watches'. The agent would need to guess about important contextual details.
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 description coverage is 100%, with the single parameter 'brand_id' clearly documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema, so it meets the baseline score when schema does the heavy lifting.
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 ('Retrieve') and resource ('list of all families for a given brand'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its sibling 'list_brands' or 'list_watches', which would be needed for a perfect score.
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 no guidance on when to use this tool versus alternatives like 'list_brands' or 'list_watches'. It mentions the required 'brand_id' parameter but doesn't explain the relationship between brands, families, and watches, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_watchesC
Retrieve a list of watches for a particular Brand and/or Family, optionally filtered by update date.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | BrandID of the brand | |
| family_id | No | Optional: FamilyID of the family | |
| updated_since | No | Optional: Limit results to watches updated after this date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the retrieval action but doesn't mention pagination, rate limits, authentication needs, error conditions, or what happens when no matches are found. For a list operation with 3 parameters, this leaves significant behavioral gaps.
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, efficient sentence that front-loads the core purpose and includes all key filtering options. There's zero waste or redundancy, making it easy for an agent to parse quickly.
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?
For a list retrieval tool with 3 parameters and no annotations or output schema, the description is incomplete. It doesn't address behavioral aspects like pagination, sorting, response format, or error handling. While the purpose is clear, the lack of context about how the tool behaves in practice leaves significant gaps for an agent.
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 parameters are well-documented in the schema. The description adds marginal value by clarifying that filtering is by 'Brand and/or Family' and 'optionally filtered by update date', but doesn't provide additional semantics beyond what the schema already specifies. Baseline 3 is appropriate when schema does the heavy lifting.
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 ('Retrieve') and resource ('list of watches') with specific filtering criteria ('for a particular Brand and/or Family, optionally filtered by update date'). It distinguishes from siblings like 'get_watch_details' (single watch) and 'list_brands/families' (different resources), but doesn't explicitly contrast with 'search' or 'search_refnr' which might overlap in functionality.
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 no guidance on when to use this tool versus alternatives like 'search' or 'search_refnr'. It mentions optional filtering by update date, but doesn't clarify use cases, prerequisites, or exclusions. The agent must infer usage from the name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchB
Search the database by brand name, family name, watch name and reference number (whole words).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search keywords |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'whole words' matching, which is useful context beyond the schema. However, it doesn't describe other important behaviors like pagination, result format, error handling, or performance characteristics, leaving significant gaps for a search 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, efficient sentence that clearly states the purpose and key constraint ('whole words'). Every word earns its place with no redundancy or unnecessary elaboration.
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?
For a search tool with 1 parameter (100% schema coverage) but no annotations and no output schema, the description provides adequate basic information about search fields and matching behavior. However, it lacks details about result structure, limitations, or error cases that would be helpful given the absence of structured output documentation.
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 schema already documents the 'q' parameter as 'Search keywords'. The description adds value by specifying what fields are searched (brand name, family name, watch name, reference number) and the 'whole words' matching behavior, but doesn't provide additional syntax or format details beyond what the schema implies.
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 a database using specific fields (brand name, family name, watch name, reference number) and specifies 'whole words' matching. It distinguishes from siblings like 'list_brands' or 'get_watch_details' by being a general search, though it doesn't explicitly differentiate from 'search_refnr' which appears to be a more specialized search tool.
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 usage for searching by specific fields with whole-word matching, but doesn't explicitly state when to use this tool versus alternatives like 'search_refnr' or 'list_watches'. It provides some context (searching by multiple fields) but lacks clear exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_refnrB
Search the database by reference number (allows partial matches).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search keywords (reference number) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the partial match capability. It doesn't disclose whether this is a read-only operation, what permissions are needed, how results are returned (format, pagination), or any rate limits. The description adds minimal behavioral context 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, efficient sentence with zero wasted words. It front-loads the core function and includes the key behavioral detail (partial matches) without unnecessary elaboration.
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?
For a simple search tool with one parameter and no output schema, the description covers the basic purpose and partial match behavior adequately. However, with no annotations and no output schema, it lacks details on return format, error conditions, or operational constraints that would be helpful for an agent.
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 has 100% description coverage, with the parameter 'q' documented as 'Search keywords (reference number)'. The description adds that it allows partial matches, which provides useful context beyond the schema, but doesn't elaborate on syntax or format requirements. Baseline 3 is appropriate given high schema coverage.
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 action ('Search') and resource ('database by reference number'), with the specific capability of partial matches. It distinguishes from the generic 'search' sibling by specifying reference number searches, though it doesn't explicitly contrast with other siblings like list 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 usage when searching by reference number with partial matching, but doesn't explicitly state when to use this tool versus the generic 'search' sibling or list operations. No guidance on prerequisites or exclusions is provided.
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
- First observed
get_watch_details - First observed
list_brands - First observed
list_families - First observed
list_watches - First observed
search - First observed
search_refnr
TDQS
Scored across 6 tools
Most tools have distinct purposes, but 'search' and 'search_refnr' create ambiguity as both handle reference number searches, with overlapping functionality that could cause misselection. The other tools (get_watch_details, list_brands, list_families, list_watches) are clearly differentiated by their specific resource and action.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., get_watch_details, list_brands, search_refnr). There are no deviations in naming conventions, making the set predictable and readable for an agent.
With 6 tools, this server is well-scoped for its watch database domain. Each tool serves a clear purpose, such as retrieving details, listing categories, or searching, without being overly sparse or bloated, fitting typical expectations for a focused MCP server.
The tool set covers core read operations for watches, brands, and families, including search capabilities, which is appropriate for a database query server. A minor gap exists in the lack of write operations (e.g., create, update, delete), but this may be intentional for a read-only interface, and agents can still perform comprehensive queries.
Maintenance
Related MCP Connectors
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Unlock the power of real-time cryptocurrency data with our Crypto Price Insights MCP server.
Unlock the power of food transparency with our Open Food Facts MCP server. Easily look up any food
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP Server for accessing W3C/WHATWG/IETF web specifications. Provides AI assistants with access to official web standards data including specifications, WebIDL definitions, CSS properties, and HTML elements.1134 npm4MIT
- AlicenseAqualityAmaintenanceA secure MCP server for interacting with MediaWiki instances, allowing users to search, read, create, and manage wiki content like pages, categories, and files. It supports both public and private wikis with comprehensive authentication for full read and write operations.19AGPL 3.0
- AlicenseAqualityCmaintenanceAn MCP server designed for interacting with the Model Context Protocol Registry API to discover and retrieve information about available MCP servers. It provides tools to search, list, and view detailed configurations and version history for servers within the registry.4MIT
- FlicenseNot gradedqualityDmaintenanceA versatile MCP server that connects to multiple relational databases (MySQL, PostgreSQL, Oracle, SQL Server, SQLite) and enables secure read-only SQL query execution and metadata access.4-