WatchBase MCP Server
WatchBase MCP 服务器
MCP(模型上下文协议)服务器提供对 WatchBase 数据馈送 API 的访问,以查询手表元数据。
关于 WatchBase API
WatchBase 数据馈送 API 提供对综合手表信息数据库的结构化访问,包括品牌、系列(产品系列)、具体手表型号、参考编号、技术细节和图片。它允许开发者将详细的手表数据集成到他们的应用程序中。更多信息请参阅WatchBase API 文档。
Related MCP server: mcp-mediawiki-crunchtools
特征
此 MCP 服务器公开了与 WatchBase API 端点相对应的以下工具:
search:按品牌名称、系列名称、手表名称和参考编号搜索数据库(匹配整个单词)。search_refnr:通过参考编号搜索数据库(允许部分匹配)。list_brands:检索数据库中所有手表品牌的列表。list_families:检索给定品牌 ID 的所有系列(集合)的列表。list_watches:检索特定品牌 ID 和(可选)系列 ID 的手表列表。可按更新日期筛选。get_watch_details:通过 WatchBase ID 检索特定手表的完整详细信息(所有数据字段)。
先决条件
**Node.js 和 npm:**安装依赖项并运行服务器所需。
**WatchBase API 密钥:**您需要 WatchBase 的 API 密钥。请访问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)。
配置
该服务器需要您通过WATCHBASE_API_KEY环境变量提供 WatchBase API 密钥。您需要配置 MCP 客户端(例如 Cline/Roo Code 或 Claude 桌面应用程序)来运行此服务器并传递环境变量。
示例配置:
以下是常见 MCP 客户端的示例。请记得将/path/to/your/watchbase-mcp/build/index.js替换为您系统上已编译服务器文件的实际绝对路径,并将YOUR_WATCHBASE_API_KEY替换为您真实的 WatchBase API 密钥。
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 桌面应用配置文件。在 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命令/工具从 AI 助手调用服务器的工具。
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文件。
有关 API 使用情况,另请参阅 WatchBase 服务条款。
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. Dates show when Glama detected each change.
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
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.
Hosted MCP server for real-world data: business registries, sanctions, companies, domains, crypto.
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.11324MIT
- AlicenseBqualityCmaintenanceA 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-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/watchdealer-pavel/watchbase-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server