Kura MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kura MCP Servershow the system properties of my local gateway"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kura MCP Server
A Model Context Protocol (MCP) server that provides seamless integration with Eclipse Kura IoT gateways through their REST APIs. This server enables AI assistants and other MCP clients to interact with Kura instances for device management, configuration, and monitoring tasks.
Features
Comprehensive Kura API Integration: Access system properties, configurations, cloud connections, deployment packages, services, and security features
Multi-Instance Support: Connect to multiple Kura instances simultaneously
Robust Authentication: Secure session management with automatic re-authentication
Flexible Configuration: JSON files, environment variables, or multiple configuration sources
Docker Support: Containerized deployment with Docker and Docker Compose
Type Safety: Full TypeScript implementation with Zod validation
Retry Logic: Automatic retry mechanisms for network resilience
Health Checking: Built-in health checks for monitoring
Related MCP server: Ignition MCP Server
Installation
From Source
# Clone the repository
git clone <repository-url>
cd kura-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm startUsing Docker
# Build and run with Docker Compose
docker-compose up -d
# Or build and run with Docker directly
docker build -t kura-mcp-server .
docker run -p 3000:3000 -v $(pwd)/kura-mcp-config.json:/etc/kura-mcp/config.json kura-mcp-serverDevelopment Mode
# Run in development mode with auto-reload
npm run devConfiguration
The server supports multiple configuration methods in order of precedence:
Environment variable
KURA_MCP_CONFIGpointing to a config file./kura-mcp-config.jsonin the current directory~/.kura-mcp-config.jsonin the home directory/etc/kura-mcp/config.jsonsystem-wide configurationEnvironment variables for individual settings
Configuration File Format
Create a kura-mcp-config.json file:
{
"port": 3000,
"logLevel": "info",
"maxRequestSize": 1048576,
"requestTimeout": 30000,
"kuraInstances": {
"local-kura": {
"name": "Local Kura Development",
"host": "localhost",
"port": 8080,
"protocol": "http",
"username": "admin",
"password": "admin",
"timeout": 30000,
"retryAttempts": 3,
"retryDelay": 1000,
"validateSSL": false
},
"production-kura": {
"name": "Production Kura Gateway",
"host": "192.168.1.100",
"port": 443,
"protocol": "https",
"username": "admin",
"password": "your-secure-password",
"timeout": 30000,
"retryAttempts": 3,
"retryDelay": 1000,
"validateSSL": true
}
}
}Environment Variables
Configure the server using environment variables:
# Server settings
export KURA_MCP_PORT=3000
export KURA_MCP_LOG_LEVEL=info
# Kura instance configuration (replace LOCAL with your instance name)
export KURA_INSTANCE_LOCAL_HOST=localhost
export KURA_INSTANCE_LOCAL_PORT=8080
export KURA_INSTANCE_LOCAL_PROTOCOL=http
export KURA_INSTANCE_LOCAL_USERNAME=admin
export KURA_INSTANCE_LOCAL_PASSWORD=admin
export KURA_INSTANCE_LOCAL_VALIDATE_SSL=falseConfiguration Options
Option | Type | Default | Description |
| number | 3000 | MCP server port |
| string | 'info' | Log level (debug, info, warn, error) |
| number | 1048576 | Maximum request size in bytes |
| number | 30000 | Request timeout in milliseconds |
| object | {} | Kura instance configurations |
Kura Instance Configuration
Option | Type | Default | Description |
| string | - | Human-readable instance name |
| string | - | Kura gateway hostname or IP |
| number | 8080 | Kura web interface port |
| string | 'http' | Protocol (http or https) |
| string | - | Kura username |
| string | - | Kura password |
| number | 30000 | Request timeout in milliseconds |
| number | 3 | Number of retry attempts |
| number | 1000 | Delay between retries in milliseconds |
| boolean | true | Whether to validate SSL certificates |
Available MCP Tools
The server provides the following tools for interacting with Kura instances:
System Information
kura_get_kura_properties- Get system propertieskura_get_framework_properties- Get OSGi framework propertieskura_test_connection- Test connection to a Kura instance
Configuration Management
kura_get_configurations- Get all component configurationskura_get_configuration- Get a specific component configurationkura_update_configuration- Update component configuration
Snapshot Management
kura_get_snapshots- Get all configuration snapshotskura_create_snapshot- Create a new configuration snapshotkura_rollback_snapshot- Rollback to a specific snapshot
Cloud Connectivity
kura_get_cloud_connections- Get all cloud connectionskura_connect_cloud- Connect a cloud connectionkura_disconnect_cloud- Disconnect a cloud connection
Package Management
kura_get_packages- Get installed deployment packageskura_install_package- Install a deployment package
Service Management
kura_get_services- Get all OSGi services
Security Management
kura_get_users- Get all userskura_get_certificates- Get certificates from keystore
Usage Examples
Using with Claude Desktop
Add this server to your Claude Desktop configuration:
{
"mcpServers": {
"kura": {
"command": "node",
"args": ["/path/to/kura-mcp-server/dist/index.js"],
"env": {
"KURA_INSTANCE_LOCAL_HOST": "localhost",
"KURA_INSTANCE_LOCAL_USERNAME": "admin",
"KURA_INSTANCE_LOCAL_PASSWORD": "admin"
}
}
}
}Basic Operations
Once connected through an MCP client, you can:
Check system status:
Use kura_get_kura_properties with instance "local-kura" to get system informationManage configurations:
Use kura_get_configurations with instance "local-kura" to list all component configurationsCreate configuration backups:
Use kura_create_snapshot with instance "local-kura" to create a configuration snapshotMonitor cloud connectivity:
Use kura_get_cloud_connections with instance "local-kura" to check cloud connection status
Development
Project Structure
src/
├── types/ # TypeScript type definitions
│ ├── config.ts # Configuration types
│ └── kura.ts # Kura API types
├── services/ # Core service implementations
│ ├── ConfigService.ts # Configuration management
│ ├── KuraClient.ts # Kura REST API client
│ └── McpServer.ts # MCP server implementation
└── index.ts # Application entry pointAdding New Tools
To add a new MCP tool:
Add the tool definition in
McpServer.tssetupHandlers()methodImplement the handler logic in the
handleToolCall()methodAdd corresponding API methods to
KuraClient.tsif neededUpdate type definitions in
types/kura.tsas required
Testing
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Run linting
npm run lintSecurity Considerations
Credential Management: Store sensitive credentials securely using environment variables or secure configuration files
SSL/TLS: Enable SSL validation in production environments
Network Security: Ensure proper network segmentation between the MCP server and Kura instances
Access Control: Use proper authentication and authorization for Kura instances
Container Security: Run containers with non-root users and minimal privileges
Troubleshooting
Common Issues
Connection Failed: Check network connectivity, credentials, and Kura instance status
Authentication Errors: Verify username/password and ensure the Kura user has proper permissions
SSL Certificate Errors: Set
validateSSL: falsefor development or add proper certificatesTimeout Errors: Increase timeout values in configuration
Debug Mode
Enable debug logging:
export KURA_MCP_LOG_LEVEL=debug
npm startHealth Checks
Test server health:
# Check if server is responsive
curl -f http://localhost:3000/health || echo "Server not healthy"Contributing
Fork the repository
Create a feature branch:
git checkout -b feature/amazing-featureCommit your changes:
git commit -m 'feat: add amazing feature'Push to the branch:
git push origin feature/amazing-featureOpen a Pull Request
Commit Convention
Use conventional commits:
feat:for new featuresfix:for bug fixesdocs:for documentation changesrefactor:for code refactoringtest:for test-related changeschore:for maintenance tasks
License
This project is licensed under the Eclipse Public License 2.0 - see the LICENSE file for details.
Support
For issues, questions, or contributions:
Check existing issues
Create a new issue with detailed information
Consider contributing improvements via pull requests
Related Projects
Eclipse Kura - The IoT gateway framework
Model Context Protocol - The protocol specification
MCP SDK - TypeScript SDK for MCP
Available Tools
18 toolskura_connect_cloudD
Connect a cloud connection
| Name | Required | Description | Default |
|---|---|---|---|
| pid | Yes | Cloud connection PID | |
| instance | Yes | Kura instance name |
TDQS
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 does not mention side effects, whether a network connection is established, authentication requirements, or what happens if the connection already exists. The tool appears to be a mutating operation, but no behavioral details are shared.
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 short, but this is under-specification rather than conciseness. It fails to provide any meaningful information beyond the tool name. Every sentence should earn its place; this one does not.
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 performs a connection action that likely has side effects and requires context. There is no output schema, no annotations, and no explanation of expected behavior, return values, or errors. The description is completely inadequate for a tool with this level of complexity.
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 descriptions already cover both parameters ('pid' and 'instance') at 100% coverage. The description adds no further meaning to the parameters, so the baseline score 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 'Connect a cloud connection' essentially restates the tool name 'kura_connect_cloud' using the same verb and noun. It lacks specificity about what connecting a cloud connection entails and does not differentiate from sibling tools like kura_disconnect_cloud or kura_get_cloud_connections.
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?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, conditions, or exclusions is provided. The description gives no context for selecting this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_create_snapshotC
Create a configuration snapshot
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
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 only says 'create,' which implies a write operation, but does not disclose any side effects, permission requirements, or whether snapshots are destructive. This is minimal information for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but minimal. It could include more useful context while remaining brief, but it does communicate 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?
With only one parameter fully described by the schema and no output schema, the description still lacks behavioral and usage context. It does not mention when to use the tool or any effects, making it incomplete for an agent deciding how to invoke it.
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 covers the only parameter, 'instance,' with a description and enum (LOCAL). The description adds no parameter-specific information, but the schema already fully documents it, so baseline 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 states 'Create a configuration snapshot,' which clearly identifies the action and resource. It distinguishes from siblings like kura_get_snapshots and kura_rollback_snapshot by being the create operation. However, it lacks any additional context about what a snapshot contains or its scope.
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. There is no mention of prerequisites, such as making a snapshot before updates, or exclusions compared to other snapshot-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_disconnect_cloudC
Disconnect a cloud connection
| Name | Required | Description | Default |
|---|---|---|---|
| pid | Yes | Cloud connection PID | |
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It simply says 'Disconnect a cloud connection' without explaining whether this is destructive, requires an active connection, affects data transfer, or returns any status. This lack of detail is a significant gap for a mutating 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 a single concise sentence with no redundancy. It is front-loaded with the verb 'Disconnect' and the object, making it easy to skim. However, it is extremely minimal, bordering on under-specification, which slightly reduces the 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?
The tool is simple (2 parameters, no output schema), but the description lacks any contextual information about when to use it, what happens on success or failure, or how it fits into the cloud connection lifecycle. The schema covers parameters but not usage context, and the sibling tools (connect, get) suggest a richer narrative is needed.
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 provides 100% coverage, with descriptions for both 'pid' and 'instance' parameters. The tool description adds no additional parameter-level meaning beyond what the schema already states, so the baseline score 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 states a specific action ('Disconnect') and a specific resource ('cloud connection'), which clearly conveys what the tool does and distinguishes it from siblings like kura_connect_cloud and kura_get_cloud_connections. However, it is brief and does not mention the required PID or instance parameters, though these are provided in the schema.
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?
There is no guidance on when to use this tool versus alternatives such as kura_connect_cloud or kura_get_cloud_connections. The description does not mention prerequisites, conditions for use, or alternatives, leaving the agent to infer usage from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_certificatesB
Get all certificates from the keystore
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. 'Get all certificates' implies a read-only operation but does not explicitly state safety or side-effect profile. It also does not mention that the only valid instance is LOCAL, which exists only in the schema.
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?
A single sentence that is front-loaded and contains no redundant wording. Every word contributes to meaning.
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 getter, the description covers the action, but with no output schema or annotations it could be more explicit about return values or limitation (e.g., LOCAL-only instance). It is minimally adequate.
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 a clear enum and description for 'instance', so the baseline is 3. The description adds no parameter information 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 uses a specific verb 'Get' and identifies a distinct resource 'certificates from the keystore', which clearly distinguishes it from sibling tools like kura_get_configurations or kura_get_cloud_connections.
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, nor does it mention any prerequisites or context. It simply states the function without contextual cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_cloud_connectionsB
Get all cloud connections from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It does not mention that the operation is read-only, whether it returns sensitive data, or any side effects. The absence of such context leaves the agent without insight into safety or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous information. It communicates the essential purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema, but the description omits context such as the format of cloud connections or whether returned data includes status details. It is minimally adequate for a list-getter but leaves 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% with the 'instance' parameter having a description and an enum. The description adds no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('get') and resource ('all cloud connections') with a clear scope ('all') and target ('from a Kura instance'). It clearly distinguishes itself from sibling tools like get_configurations or connect_cloud by focusing on a specific resource type.
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?
No guidance is provided on when to use this tool instead of alternatives. The description simply states the function without mentioning that it is read-only, when it should be preferred, or how it relates to connect/disconnect tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_configurationA
Get a specific component configuration
| Name | Required | Description | Default |
|---|---|---|---|
| pid | Yes | Component PID | |
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. The verb 'get' implies read-only, but the description does not disclose return format, error behavior, or any required permissions. For a simple getter, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters, but there is no output schema or annotations. The description is sufficient for basic understanding but does not explain return values or usage context relative to many sibling getter tools, leaving some ambiguity.
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 clear descriptions for pid and instance, so the baseline is 3. The description adds no additional parameter meaning 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 'Get a specific component configuration' clearly states the verb (get), resource (component configuration), and scope (specific), which distinguishes it from sibling tool kura_get_configurations (plural). It leaves no ambiguity about what this tool does.
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 for a single configuration via 'specific', contrasting with the plural sibling, but it does not explicitly state when to use this vs alternatives like kura_get_configurations or other get_* property tools. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_configurationsA
Get all component configurations from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the operation is a 'Get' (read-only) but does not disclose details like response format, pagination, or potential side effects. For a simple getter this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It front-loads the action ('Get all') followed by the object and scope, which is perfectly efficient.
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 (one parameter, no output schema) and the description sufficiently covers what it does. It could add a note about return shape or use case, but it's complete enough for a basic read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single 'instance' parameter, including an enum and description. The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get all') and clearly identifies the resource ('component configurations') from a Kura instance. It distinguishes from the sibling tool 'kura_get_configuration' by emphasizing 'all' configurations, making the scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for retrieving all component configurations but does not explicitly state when to prefer this over alternatives like kura_get_configuration or other getter tools. There's no mention of use cases or exclusions, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_extended_propertiesC
Get extended system properties from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | ||
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It merely says 'Get', which implies a read-only operation, but it does not explain what 'extended system properties' are, what the output looks like, or any potential side effects or required permissions. The absence of any such context is a significant gap for an unannotated 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, focused sentence with no redundant words, making it concise and front-loaded. It earns a high score for structure, though the brevity limits completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's ambiguity ('extended system properties') and the presence of several similar sibling getters, the description is incomplete. It does not explain the purpose of 'extended' properties, how to use the filter, or what output to expect, making it insufficient for an agent to select this tool confidently.
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 only 50% (only 'instance' has a description; 'filter' itself does not). The description does not compensate by explaining either parameter, leaving the agent to rely on the sparse schema. It adds no value beyond the schema and fails to clarify how 'filter' or 'groupNames' should be used.
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 gets extended system properties from a Kura instance, using the specific verb 'Get' and a specific resource. However, it does not distinguish itself from sibling tools like kura_get_kura_properties or kura_get_framework_properties, so it lacks explicit differentiation.
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?
No guidance is provided on when to use this tool versus the many sibling getter tools. There is no mention of alternatives, prerequisites, or exclusions, leaving agents to guess which property getter is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_framework_propertiesB
Get OSGi framework properties from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source of behavioral disclosure. It only says 'Get', which implies read-only but does not explicitly state the absence of side effects, any required permissions, or what the response looks like.
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, immediately front-loading the verb and object. It is appropriately concise with 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 getter with a single enum parameter, the description covers the basic purpose. However, it lacks context about how these properties differ from those in sibling tools, and without an output schema or annotations, the description is relatively thin.
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 fully documents the only parameter 'instance' with an enum of LOCAL and a description. The tool description adds no parameter-specific information, but the 100% schema coverage means the schema already handles 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?
Description clearly states the action (get) and resource (OSGi framework properties) from a Kura instance. However, it does not distinguish this from sibling tools like kura_get_kura_properties or kura_get_extended_properties, which may overlap in scope.
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?
No guidance is provided on when to use this tool versus alternatives. The description offers no context for selecting this over related getter tools, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_kura_propertiesC
Get system properties from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | ||
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only restates the action 'Get', which is already in the tool name, and fails to mention error handling, authentication, output format, or the effect of the optional filter parameter.
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 concise sentence with no filler and is front-loaded. However, it is so brief that it borders on tautology with 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?
No output schema, no annotations, and a nested filter parameter indicate the tool has more complexity than is addressed. The description does not explain what properties are returned, how filtering affects results, or how this tool relates to the sibling property getters.
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 50%: the 'instance' parameter has a description and the nested 'names' field has one, but the 'filter' object itself is undocumented. The tool description adds no parameter context, so it does not compensate for the coverage gap.
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 'Get system properties from a Kura instance' clearly identifies a read operation targeting system properties. However, it does not differentiate from sibling tools like kura_get_framework_properties or kura_get_extended_properties, leaving ambiguity about what distinguishes 'system' properties.
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. There is no mention of use cases, prerequisites, or scenarios where system properties are preferred over framework or extended properties.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_packagesA
Get all installed deployment packages
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It clearly indicates a read-only list operation, but does not disclose return shape, pagination, or any prerequisites. For a simple getter, this is minimal yet adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Every word contributes to understanding the tool's 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 low complexity: one required parameter with full schema documentation, no nested objects, and no output schema. The description states that the result is 'all installed deployment packages', which is sufficient for a simple list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the 'instance' parameter includes an enum and description. The tool description adds no parameter-specific semantics, but the baseline of 3 applies because the schema fully documents the parameter.
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?
Description uses specific verb 'Get' and resource 'installed deployment packages', clearly distinguishing it from sibling getters like kura_get_configurations and kura_install_package. The scope is unambiguous and matches the tool name.
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?
No explicit when-to-use or alternative guidance is provided. The description implies use when listing deployment packages, but it does not mention exclusions or contrast with related getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_servicesB
Get all OSGi services from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It merely says 'Get all OSGi services' without stating that it is read-only, what the return format is, whether it requires special permissions, or any potential side effects. This is insufficient for a transparent contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for a simple getter tool, though it is also minimal in content. The structure is effective.
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 lacks an output schema, so the description should clarify expected return values or behavior. It does not mention whether the response is a list of service names, objects, or other details. The absence of usage guidance also leaves the agent under-informed, making the description incomplete for a real deployment.
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 the 'instance' parameter clearly documented via enum and description. The tool description adds 'from a Kura instance' which echoes the schema but does not introduce new meaning. This meets the baseline 3 for well-documented schema parameters.
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 ('Get all OSGi services') and the resource ('Kura instance'), making it distinct from sibling tools like kura_get_configurations and kura_get_packages. The verb 'Get' and specific resource type provide unambiguous purpose.
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?
No guidance is given on when to use this tool versus alternatives. The description does not mention exclusions, preferred use cases, or relationships with sibling getter tools, leaving the agent without contextual decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_snapshotsB
Get all configuration snapshots from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It implies a read-only operation but does not mention return format, potential pagination, failure modes, or effects. The 'Get' verb gives minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It is appropriately concise for a simple getter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one enum parameter and no output schema, but the description does not explain what snapshots are, how to interpret the response, or the relationship to sibling tools like kura_create_snapshot. It is minimally adequate but leaves contextual 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 input schema fully documents the sole parameter 'instance' with enum and description, so the description adds no extra meaning. Baseline 3 applies; the description only rephrases 'from a Kura instance' without enriching parameter understanding.
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 'Get' and identifies the resource as 'configuration snapshots' with scope 'all', distinguishing it from sibling tools like kura_get_configurations and kura_get_configuration. It is clear and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as kura_get_configurations. It does not state prerequisites, exclusions, or scenarios where snapshots are preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_get_usersB
Get all users from a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read operation ('Get all users') but offers no details on authentication requirements, response structure, or whether system/hidden users are included, which is a notable gap for an unannotated 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, front-loaded sentence with no redundant words. It efficiently conveys the action and target 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?
The tool is simple with one enum parameter and no nested objects, but it has no output schema, so the description should clarify what the response contains. The current text covers the core purpose but omits return format and usage context, making it minimally sufficient rather than fully complete.
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 fully documents the sole parameter 'instance' with a clear enum (LOCAL) and description. The tool description adds little semantic value beyond restating the instance context, so the baseline of 3 is appropriate given 100% schema description 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 verb 'Get' and the resource 'all users from a Kura instance', which distinguishes it from sibling tools that focus on properties, configurations, snapshots, etc. The specificity of 'all users' makes the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It simply states the function without any context about prerequisites, exclusions, or preferred scenarios, leaving the agent to infer usage purely from the name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_install_packageC
Install a deployment package
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Package download URL | |
| name | Yes | Package name | |
| version | Yes | Package version | |
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'Install' without revealing side effects, such as whether it overwrites existing packages, requires network access, triggers a restart, or has any destructive potential. This is a significant gap for a mutation 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 concise sentence with no wasted words. It is front-loaded with the core action. However, it is under-specified, which slightly reduces the score from 5, as it could include more detail without becoming verbose.
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 an install action with no output schema and no annotations, the description is incomplete. It does not explain success/failure behavior, whether the operation is idempotent, or what a deployment package means in this context. The description provides only the minimum viable indication of purpose.
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 (instance, name, version, url) having a clear description. The tool description adds no additional parameter context, but given the high schema coverage, it does not need to. 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 'Install a deployment package' uses a specific verb ('Install') and resource ('deployment package'), clearly stating the tool's primary function. It is distinguishable from sibling tools, which are mostly get/update/config operations, making the purpose clear despite its brevity.
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?
There is no guidance on when to use this tool versus alternatives. Sibling tools like kura_get_packages or kura_update_configuration exist, but the description does not mention them or any prerequisites or scenarios. Users are left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_rollback_snapshotB
Rollback to a specific configuration snapshot
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name | |
| snapshotId | Yes | Snapshot ID to rollback to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. 'Rollback' implies a potentially destructive, state-changing operation, but the description does not state whether it overwrites current settings, requires a restart, or has irreversible effects. Critical operational context is missing.
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, concise sentence that contains no filler or repetition. It is front-loaded with the action verb and resource, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, no annotations, and a sparse description. It does not explain return values, error conditions, side effects, or preconditions. For a rollback operation, which can be disruptive, this level of detail is inadequate for an agent to fully understand consequences.
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 both parameters having descriptive text ('Kura instance name' and 'Snapshot ID to rollback to'). The description itself adds no additional meaning beyond the schema, but the schema already covers the essentials, so the baseline score 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 a specific action ('Rollback') and a specific resource ('configuration snapshot'), distinguishing it from related tools like kura_create_snapshot and kura_get_snapshots. It unambiguously communicates the tool's core function.
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. It does not mention prerequisites, such as the existence of a snapshot, nor does it contrast with update_configuration or create_snapshot. This leaves the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_test_connectionC
Test connection to a Kura instance
| Name | Required | Description | Default |
|---|---|---|---|
| instance | Yes | Kura instance name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of disclosing behavior. 'Test connection' implies a non-destructive probe, but it does not clarify whether the operation has side effects, what happens on failure, or whether it requires prior authentication. This is minimal transparency for a tool that could involve network I/O.
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, concise sentence that delivers the core purpose with no redundant words. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one param, no output schema), but the description lacks critical context about expected results or failure behavior. Since there are no annotations and no output schema, the description should have mentioned what 'test' returns (e.g., success/failure) to be complete.
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 the 'instance' parameter described as 'Kura instance name' and restricted to enum 'LOCAL'. The description does not add any extra 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 verb 'Test' and the resource 'connection to a Kura instance', making the primary purpose clear. It is distinguished from sibling tools like kura_connect_cloud (which connects to cloud) and other get/update operations. However, it does not specify what 'test' entails (e.g., authentication check, latency probe), so it is not a full 5.
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. It does not mention using it before other Kura operations or contrast it with kura_connect_cloud/kura_disconnect_cloud. There is no 'when' or 'when not to use' information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kura_update_configurationC
Update a component configuration
| Name | Required | Description | Default |
|---|---|---|---|
| pid | Yes | Component PID | |
| instance | Yes | Kura instance name | |
| properties | Yes | Component properties to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only implies mutation ('Update') but does not disclose side effects, reversibility, failure modes, or whether a service restart is triggered. This is a significant gap for a tool that modifies state.
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 short, front-loaded sentence with zero filler. It is immediately clear what the tool does, and no words are wasted.
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 absence of annotations and an output schema, plus the nested properties object and three required parameters, a one-sentence description is insufficient. It does not explain return values, error handling, or how configuration changes are applied, leaving the agent with significant uncertainty.
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 provides descriptions for all three parameters (pid, instance, properties), so schema coverage is 100%. The tool description adds no extra parameter semantics beyond what the schema already states, keeping it at the baseline.
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 ('Update') and the resource ('a component configuration'), which distinguishes it from the 'get' siblings. It is a specific verb+resource statement, though it could be more explicit about what 'configuration' entails.
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, nor any prerequisites or context. It is a single sentence with no mention of the getter tools or other update-related operations.
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.
18 tool updates
v1.0.0- First observed
kura_connect_cloud - First observed
kura_create_snapshot - First observed
kura_disconnect_cloud - First observed
kura_get_certificates - First observed
kura_get_cloud_connections - First observed
kura_get_configuration - First observed
kura_get_configurations - First observed
kura_get_extended_properties - First observed
kura_get_framework_properties - First observed
kura_get_kura_properties - First observed
kura_get_packages - First observed
kura_get_services - First observed
kura_get_snapshots - First observed
kura_get_users - First observed
kura_install_package - First observed
kura_rollback_snapshot - First observed
kura_test_connection - First observed
kura_update_configuration
TDQS
Scored across 18 tools
Most tools target distinct resources and actions, but the three property getters (kura_properties, framework_properties, extended_properties) could be confused despite differing descriptions.
All tools follow a consistent kura_verb_noun pattern in snake_case, making the API predictable.
At 18 tools, the set is slightly above the typical 3-15 range but covers a wide range of Kura administration tasks without redundancy.
Core configuration, snapshot, cloud, and package workflows are covered, though user and certificate management only support read operations and package uninstall is absent.
Maintenance
Related MCP Connectors
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Read and write KukGit repositories, files, issues and pull requests from an AI assistant.
1Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides integration with Apache Airflow's REST API, allowing AI assistants to programmatically interact with Airflow workflows, monitor DAG runs, and manage tasks.MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with Inductiveautomation's Ignition SCADA/MES platform through its REST API. Provides 45+ tools for gateway management, project operations, backup handling, log analysis, and license activation.35GPL 3.0
- FlicenseBqualityFmaintenanceEnables AI assistants to manage GoClaw AI gateway infrastructure through a comprehensive suite of 66 tools for managing agents, sessions, and configurations. It provides real-time gateway context and guided workflows with enterprise-grade security features like audit logging and secret scrubbing.6610-
- AlicenseBqualityDmaintenanceExposes sylvia-iot-core management APIs as tools for AI assistants, enabling IoT platform management via natural language.66MIT