docs-mcp
Server Details
Provides Vaadin Documentation and help with development tasks
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- vaadin/vaadin-mcp
- GitHub Stars
- 13
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 11 of 11 tools scored. Lowest: 3.4/5.
Each tool targets a distinct aspect of Vaadin documentation: Java API, React API, Web Component API, styling, versions, theming, and search. Even the three component API tools are clearly differentiated by the programming model. No ambiguity.
All tool names consistently follow the `get_` prefix followed by a descriptive noun phrase (e.g., `get_component_java_api`, `get_supported_vaadin_versions`). No mixing of conventions.
With 11 tools, the server covers the core documentation needs for Vaadin across multiple dimensions (API types, styling, versions, theming, search) without being bloated. Each tool has a clear purpose.
The tool set covers most documentation needs: component APIs (Java, React, Web Component), styling, versions, theming, search, and a primer. Minor gaps exist (e.g., direct release notes or changelog), but search and full document retrieval can compensate.
Available Tools
11 toolsget_component_java_apiGet Component Java APIAInspect
Returns the Java API documentation for a specific Vaadin component. The component name can be in any format (e.g., 'Button', 'button', 'vaadin-button').
| Name | Required | Description | Default |
|---|---|---|---|
| component_name | Yes | The name of the component (e.g., 'Button', 'button', 'TextField', 'text-field') | |
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It adds a useful behavioral detail (component name can be in any format) but does not disclose output format, error behavior, or whether the operation is read-only. The description is not misleading, but lacks depth for a tool with no annotations.
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?
Two sentences, both informative. The first states the purpose, the second clarifies input format. No wasted words, and the key information is front-loaded.
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, but because there is no output schema and no annotations, the description should explain what the returned documentation looks like. It only says 'documentation', which is vague. However, the purpose and required parameters are sufficiently clear for an agent to invoke the tool correctly.
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's mention of component name format is already present in the schema, and it adds no new meaning for vaadin_version. It does not compensate 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 a specific verb ('Returns') and names the exact resource ('Java API documentation for a specific Vaadin component'). It clearly differentiates from sibling tools like get_component_react_api and get_component_web_component_api by explicitly stating 'Java API'.
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 clear context: use this when you need Java API docs for a specific component. It also clarifies input flexibility (any format for component name). However, it does not explicitly mention alternatives or when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_react_apiGet Component React APIAInspect
Returns the React API documentation for a specific Vaadin component. The component name can be in any format (e.g., 'Button', 'button', 'vaadin-button').
| Name | Required | Description | Default |
|---|---|---|---|
| component_name | Yes | The name of the component (e.g., 'Button', 'button', 'TextField', 'text-field') | |
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". |
Tool Definition Quality
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 adds a useful behavioral trait (component names accepted in any format) but lacks details on return format, error behavior, or version handling, which for a read-only lookup is only partially transparent.
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?
Two short sentences are front-loaded with the core purpose, followed by a useful note on input flexibility. No extraneous words or redundant details.
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 two-parameter tool with no output schema, the description is mostly adequate. However, it does not mention that vaadin_version is required (left to schema) and provides no guidance on when to choose this over sibling tools, leaving moderate 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?
Schema coverage is 100%, so the baseline is 3. The description reinforces component_name flexibility but adds no new semantics for vaadin_version beyond what the schema already documents via enum and description.
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 states a specific verb ('Returns') and resource ('React API documentation for a specific Vaadin component'), clearly differentiating it from sibling tools like get_component_java_api and get_component_web_component_api via the 'React' qualifier.
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?
Usage is implied to be for obtaining React-specific API docs, but no explicit when-to-use or alternatives are mentioned. The flexible naming example is helpful context but does not guide selection among the related component API tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_components_by_versionGet Components by VersionAInspect
Returns a comprehensive list of components available in a specific Vaadin version, including component names, React component names, Java class names, and npm packages.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | The Vaadin version as a minor version (e.g., '24.8', '24.9', '25.0') |
Tool Definition Quality
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 that the tool 'returns' a list, which implies a read-only operation, but it does not explicitly disclose that it has no side effects or describe error behavior for invalid/unsupported versions. This is a modest disclosure but not comprehensive.
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 one sentence, front-loaded with the core action, and every phrase adds value. It lists exactly what data is returned without any redundant fluff or repetition of the tool name.
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 (one parameter, no output schema), the description adequately explains the return value by enumerating the included data types (component names, React component names, Java class names, npm packages). It could be slightly more explicit about potential filters or ordering, but overall it is complete for a simple list-returning tool.
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 provides 100% coverage of the single 'version' parameter with a clear description and example (e.g., '24.8'). The tool description merely says 'specific Vaadin version' which adds no meaning beyond the schema, so the 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 uses the specific verb 'Returns' with the resource 'components available in a specific Vaadin version' and enumerates the exact contents (component names, React names, Java classes, npm packages). This clearly distinguishes it from sibling tools that focus on individual component APIs rather than listing all components.
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 use when one needs an inventory of components for a given Vaadin version, but it does not explicitly mention when not to use it or name alternatives like get_component_java_api or search_vaadin_docs. There is no 'when/when-not' guidance, so it is only minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_stylingGet Component StylingAInspect
Returns the styling/theming documentation for a specific Vaadin component. Returns both Java and React styling documentation when available. The component name can be in any format (e.g., 'Button', 'button', 'vaadin-button').
| Name | Required | Description | Default |
|---|---|---|---|
| component_name | Yes | The name of the component (e.g., 'Button', 'button', 'TextField', 'text-field') | |
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose that both Java and React docs are returned 'when available' and that component names are flexible. However, it does not mention return format, error behavior, or any side effects, which are not covered elsewhere.
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, front-loaded with the primary purpose, and every sentence adds useful information: what it returns, the dual Java/React coverage, and input flexibility. No wasted words.
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 read-only lookup tool with two required parameters clearly described in the schema and no output schema, the description is fairly complete. It could mention behavior when docs are unavailable or the required version, but those are partially covered by the schema (required flag).
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% with good parameter descriptions, so the baseline is 3. The description adds value by explaining that component_name can be in any format (e.g., 'Button', 'button', 'vaadin-button'), which is behavior 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 clearly states the tool returns styling/theming documentation for a specific Vaadin component, with a specific verb ('Returns') and resource ('styling/theming documentation'). It also distinguishes from sibling tools like get_component_java_api and get_component_react_api by mentioning both Java and React styling docs.
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 (when you need styling docs rather than API or web component docs), and the sibling names provide contrast. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_web_component_apiGet Component Web Component (TypeScript) APIAInspect
Returns the Web Component/TypeScript API documentation for a specific Vaadin component by fetching from external TypeScript API docs. The component name can be in any format (e.g., 'Button', 'button', 'vaadin-button').
| Name | Required | Description | Default |
|---|---|---|---|
| component_name | Yes | The name of the component (e.g., 'Button', 'button', 'TextField', 'text-field') | |
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals that data is 'fetched from external TypeScript API docs' and that the component name can be in any format (normalization behavior). However, it does not disclose potential network dependency failures, error handling, or whether any state is modified (though retrieval is clearly read-only).
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, front-loaded with the primary action, and contains no fluff. It efficiently communicates the purpose and a key parameter flexibility without 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?
For a simple 2-parameter retrieval tool with full schema coverage, the description is nearly complete. It explains the external source and name flexibility. The only minor gap is not explicitly noting that an external network connection is required, but the phrase 'fetching from external TypeScript API docs' implies this. Overall, combined with the schema, it is contextually sufficient.
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% for both parameters, including examples for component_name and an enum with descriptions for vaadin_version. The description adds 'The component name can be in any format', but this is already demonstrated by the schema's examples, so it adds minimal additional meaning beyond what the schema provides.
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 action: 'Returns the Web Component/TypeScript API documentation for a specific Vaadin component'. It specifies both the resource (Web Component/TypeScript API documentation) and the scope (specific Vaadin component), and the 'Web Component/TypeScript' qualifier distinguishes it from sibling tools like get_component_java_api and get_component_react_api.
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 TypeScript/Web Component API retrieval, and the sibling tool names suggest alternatives. However, there is no explicit guidance on when to use this tool versus the Java/React API tools, or any exclusions. The context is clear but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_documentGet Full DocumentAInspect
Retrieves complete documentation pages for one or more file paths. Use this when you need full context beyond what search results provide. Provide file_paths only (array).
| Name | Required | Description | Default |
|---|---|---|---|
| file_paths | Yes | Array of file paths from search results. Use this to fetch one or more documents in a single call. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It implies a read-only retrieval operation and notes the parameter constraint, but it does not describe the return format, potential limitations, or any side effects. The phrase 'complete documentation pages' adds some context but remains vague.
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 extremely concise, with two sentences that front-load the core action and immediately follow with usage guidance. Every phrase earns its place—the 'Provide file_paths only' is a clear, purposeful directive.
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 low-complexity tool with one parameter and no output schema, the description sufficiently covers purpose, usage, and parameter constraints. It does not explain the return structure, but the straightforward retrieval nature and high schema coverage make the description complete enough for an agent to invoke it correctly.
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% for the single parameter, thoroughly explaining that file_paths is an array of paths from search results. The description merely repeats the parameter name and type, adding no additional semantic value beyond what the schema already provides.
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 complete documentation pages for one or more file paths, using a specific verb and resource. It distinguishes itself from sibling tools that focus on specific component APIs or versions by emphasizing 'full context' beyond search results.
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?
It explicitly says to use this tool when needing full context beyond search results, providing clear context for when it applies. However, it does not explicitly name alternative tools or state when not to use it, which would elevate it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_vaadin_versionGet Latest Vaadin VersionAInspect
Returns the latest stable version of Vaadin as a simple JSON object. This is useful when setting up new projects, checking for updates, or when helping with dependency management. Returns: {version, released}.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It explicitly states the return format: {version, released} and describes it as a 'simple JSON object.' This is transparent and sufficient for a read-only, parameterless 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?
Two sentences, front-loaded with the core purpose, followed by usage context and return format. Every word 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 is simple, has no parameters, no output schema, and no annotations. The description is complete: it states what it does, when to use it, and the exact return shape. No 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 0 parameters, so the baseline is 4. The description adds the return structure, which is the only meaningful semantic. No parameter explanations are needed.
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 function: 'Returns the latest stable version of Vaadin as a simple JSON object.' This is specific and distinguishes it from sibling tools about components or supported versions.
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?
Provides clear usage contexts: 'useful when setting up new projects, checking for updates, or when helping with dependency management.' It does not explicitly mention alternatives or when not to use it, but the context is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_vaadin_versionsGet Supported Vaadin VersionsAInspect
Returns the latest stable release for each supported Vaadin major version (25, 24, 23, 14, 8, 7) with version number, release date, and whether it requires a commercial license. Useful for migration planning and understanding which versions are available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It transparently explains the output: latest stable release for each major version, including version number, release date, and commercial license flag. It also explicitly lists which versions are included. This is sufficient for a read-only, parameterless tool, though it doesn't mention any potential error conditions or response format details.
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 and front-loaded: the first sentence immediately states what the tool does and what it returns, while the second sentence adds a practical use case. Every word earns its place, with no redundant 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 simple parameterless tool without an output schema, the description is quite complete. It enumerates the supported versions and the fields returned, which covers the key aspects an agent needs to know. It might be slightly improved by stating the exact output format (e.g., JSON array), but the current description is adequate for the tool's simplicity.
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 doesn't need to add parameter semantics since the input schema is empty. The description focuses entirely on the output, which 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 returns the latest stable release for each supported Vaadin major version, listing the exact versions (25, 24, 23, 14, 8, 7). It specifies the output fields (version number, release date, commercial license requirement), which distinguishes it from sibling tools like get_latest_vaadin_version.
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 clear usage context by noting it is 'useful for migration planning and understanding which versions are available.' However, it does not explicitly mention alternatives or when-not-to-use scenarios, though the context implies this tool is for getting the full set of supported versions rather than a single one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_theme_css_propertiesGet Theme CSS PropertiesAInspect
Returns CSS custom properties documentation for a specific Vaadin theme (Aura, Lumo, or Base styles). Use this to look up the correct CSS variables for the theme the application is using. Base style properties (--vaadin-*) are available in all themes.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | The theme to get CSS custom properties for: "aura" (Vaadin 25+ default), "lumo" (classic theme), or "base" (base styles available in all themes, Vaadin 25+ only). | |
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. The verb 'Returns' implies a read-only operation, and the note about base properties being available in all themes adds useful context. However, it lacks explicit statements about auth requirements, error conditions, or the structure of the returned documentation.
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, front-loaded with the main action, and contains no filler. Both sentences contribute meaningful information, making it compact 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?
For a simple lookup tool with two well-described parameters and no output schema, the description is mostly complete. It states what is returned, when to use it, and the availability of base properties. The only minor gap is not describing the exact format of the returned CSS property list, but this is not critical for a straightforward lookup.
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 provides 100% coverage with enum descriptions for both parameters. The description adds value beyond the schema by explaining that base properties (--vaadin-*) are available in all themes, which clarifies the meaning of the 'base' theme option. This extra context justifies an above-baseline score.
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 returns CSS custom properties documentation for a specific Vaadin theme, naming Aura, Lumo, and Base styles. This specific verb-resource pairing distinguishes it from sibling tools like get_component_styling, which focus on component-level styling.
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 explicitly says to use this tool to look up correct CSS variables for the application's theme, providing clear context for when to invoke it. It does not mention exclusions or alternatives, but the defined use case is sufficient for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vaadin_primerVaadin PrimerAInspect
IMPORTANT: Always use this tool FIRST before working with Vaadin. Returns a comprehensive primer document with current (2025+) information about modern Vaadin development. This addresses common AI misconceptions about Vaadin and provides up-to-date information about Java vs React development models, project structure, components, and best practices. Essential reading to avoid outdated assumptions. For legacy versions (7, 8, 14), returns guidance on version-specific resources.
| Name | Required | Description | Default |
|---|---|---|---|
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". For legacy versions (7, 8, 14), returns guidance on version-specific resources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns a primer and varies output by version, but it doesn't specify whether the operation is read-only, response format, or potential side effects. This is adequate but not comprehensive for a no-annotation 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 front-loaded with an important instruction and is concise overall. However, there is some redundancy (e.g., 'current (2025+)' and 'up-to-date', 'Essential reading to avoid outdated assumptions' reiterating earlier points), which prevents a perfect score.
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 simple nature of the tool (one parameter, no output schema), the description covers purpose, usage, and version-specific behavior. It lists content topics and emphasizes when to use it. It lacks explicit mention of return format but is sufficiently complete for a simple primer tool.
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 provides 100% coverage for the single parameter 'vaadin_version', including its enum values and version-specific behavior. The description merely repeats the legacy-version note from the schema, adding no new meaning beyond what the schema provides. 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's purpose: 'Returns a comprehensive primer document with current (2025+) information about modern Vaadin development.' It uses a specific verb ('Returns') and resource ('primer document'), and distinguishes itself from sibling tools by emphasizing it should be used 'FIRST before working with Vaadin'.
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?
Explicitly instructs when to use: 'Always use this tool FIRST before working with Vaadin.' It also contextualizes usage with 'Essential reading to avoid outdated assumptions' and specifies behavior for legacy versions. However, it does not explicitly mention alternatives or when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vaadin_docsSearch Vaadin DocumentationAInspect
Search Vaadin documentation for relevant information about Vaadin development, components, and best practices. Uses hybrid semantic + keyword search. USE THIS TOOL for questions about: Vaadin components (Button, Grid, Dialog, etc.), TestBench, UI testing, unit testing, integration testing, @BrowserCallable, Binder, DataProvider, validation, styling, theming, security, Push, Collaboration Engine, PWA, production builds, Docker, deployment, performance, and any Vaadin-specific topics. When using this tool, try to deduce the correct development model from context: use "java" for Java-based views, "react" for React-based views, or "common" for both. Use get_full_document with file_paths containing the result's file_path when you need complete context.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The search query or question about Vaadin. Will be used to query a vector database with hybrid search (semantic + keyword). | |
| max_tokens | No | Maximum number of tokens to return (default: 1500) | |
| max_results | No | Maximum number of results to return (default: 5) | |
| ui_language | No | The UI implementation language: "java" for Java-based views, "react" for React-based views, or "common" for both. If not specified, the agent should try to deduce the correct language from context or asking the user for clarification. | |
| vaadin_version | Yes | Required. Vaadin version: "7", "8", "14", "24", "25.0", "25.1", "25.2", or "25.3". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals the hybrid semantic + keyword search mechanism, implies the result structure by referencing 'file_path', and gives guidance on deducing the development model. It does not describe pagination, rate limits, or exact response format, but it provides enough behavioral context for a read-only search operation.
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 well-structured: a concise purpose statement followed by an explicit topic list, then actionable usage guidance. The topic list is long but directly relevant for helping an agent decide when to use the tool. No repetitive or filler content; front-loads the core purpose.
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 moderately complex with 5 parameters and no output schema. The description compensates by explaining the search strategy, hinting at result fields (file_path), and providing integration with get_full_document for full context. It does not detail result ranking or snippet content, but it gives sufficient information for an agent to invoke the tool and interpret results in context.
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%, with each parameter already documented in the input schema. The description adds limited extra meaning by reinforcing the ui_language parameter's role ('use java for Java-based views, react for React-based views, or common for both'), but it does not explain max_tokens or max_results beyond the schema. Since the schema handles the semantics, the baseline score 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 function: 'Search Vaadin documentation for relevant information about Vaadin development, components, and best practices.' It uses a specific verb ('Search') and resource ('Vaadin documentation'), enumerates topics, and distinguishes itself from sibling tools like get_component_java_api which target specific API details rather than broad 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 provides explicit when-to-use guidance with a detailed topic list ('USE THIS TOOL for questions about: Vaadin components... any Vaadin-specific topics') and instructs to use get_full_document when more context is needed. However, it does not explicitly state when to prefer sibling tools like get_component_java_api for focused API lookups, so it lacks a full when-not comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceProvides instant access to 700+ programming documentation sources and creates isolated Docker containers for safe code testing and experimentation. Combines comprehensive documentation lookup with containerized development environments for enhanced development workflows.AGPL 3.0
- AlicenseAqualityCmaintenanceProvides programmatic access to Material Web documentation and components for AI agents, enabling documentation search, template generation, and HTML validation.7161MIT
- AlicenseAqualityAmaintenanceProvides offline access to SAP documentation and real-time SAP Community content, integrating official documentation with community-driven solutions for comprehensive developer support.9213Apache 2.0
- Alicense-quality-maintenanceProvides unified ABAP and RAP documentation search, document retrieval, and ABAP feature matrix lookups. It also enables local ABAP linting to streamline development and documentation workflows via the Model Context Protocol.