Skip to main content
Glama
MMaiero
by MMaiero

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 start

Using 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-server

Development Mode

# Run in development mode with auto-reload
npm run dev

Configuration

The server supports multiple configuration methods in order of precedence:

  1. Environment variable KURA_MCP_CONFIG pointing to a config file

  2. ./kura-mcp-config.json in the current directory

  3. ~/.kura-mcp-config.json in the home directory

  4. /etc/kura-mcp/config.json system-wide configuration

  5. Environment 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=false

Configuration Options

Option

Type

Default

Description

port

number

3000

MCP server port

logLevel

string

'info'

Log level (debug, info, warn, error)

maxRequestSize

number

1048576

Maximum request size in bytes

requestTimeout

number

30000

Request timeout in milliseconds

kuraInstances

object

{}

Kura instance configurations

Kura Instance Configuration

Option

Type

Default

Description

name

string

-

Human-readable instance name

host

string

-

Kura gateway hostname or IP

port

number

8080

Kura web interface port

protocol

string

'http'

Protocol (http or https)

username

string

-

Kura username

password

string

-

Kura password

timeout

number

30000

Request timeout in milliseconds

retryAttempts

number

3

Number of retry attempts

retryDelay

number

1000

Delay between retries in milliseconds

validateSSL

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 properties

  • kura_get_framework_properties - Get OSGi framework properties

  • kura_test_connection - Test connection to a Kura instance

Configuration Management

  • kura_get_configurations - Get all component configurations

  • kura_get_configuration - Get a specific component configuration

  • kura_update_configuration - Update component configuration

Snapshot Management

  • kura_get_snapshots - Get all configuration snapshots

  • kura_create_snapshot - Create a new configuration snapshot

  • kura_rollback_snapshot - Rollback to a specific snapshot

Cloud Connectivity

  • kura_get_cloud_connections - Get all cloud connections

  • kura_connect_cloud - Connect a cloud connection

  • kura_disconnect_cloud - Disconnect a cloud connection

Package Management

  • kura_get_packages - Get installed deployment packages

  • kura_install_package - Install a deployment package

Service Management

  • kura_get_services - Get all OSGi services

Security Management

  • kura_get_users - Get all users

  • kura_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:

  1. Check system status:

    Use kura_get_kura_properties with instance "local-kura" to get system information
  2. Manage configurations:

    Use kura_get_configurations with instance "local-kura" to list all component configurations
  3. Create configuration backups:

    Use kura_create_snapshot with instance "local-kura" to create a configuration snapshot
  4. Monitor 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 point

Adding New Tools

To add a new MCP tool:

  1. Add the tool definition in McpServer.ts setupHandlers() method

  2. Implement the handler logic in the handleToolCall() method

  3. Add corresponding API methods to KuraClient.ts if needed

  4. Update type definitions in types/kura.ts as required

Testing

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Run linting
npm run lint

Security 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

  1. Connection Failed: Check network connectivity, credentials, and Kura instance status

  2. Authentication Errors: Verify username/password and ensure the Kura user has proper permissions

  3. SSL Certificate Errors: Set validateSSL: false for development or add proper certificates

  4. Timeout Errors: Increase timeout values in configuration

Debug Mode

Enable debug logging:

export KURA_MCP_LOG_LEVEL=debug
npm start

Health Checks

Test server health:

# Check if server is responsive
curl -f http://localhost:3000/health || echo "Server not healthy"

Contributing

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Commit your changes: git commit -m 'feat: add amazing feature'

  4. Push to the branch: git push origin feature/amazing-feature

  5. Open a Pull Request

Commit Convention

Use conventional commits:

  • feat: for new features

  • fix: for bug fixes

  • docs: for documentation changes

  • refactor: for code refactoring

  • test: for test-related changes

  • chore: 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:

  1. Check existing issues

  2. Create a new issue with detailed information

  3. Consider contributing improvements via pull requests

Available Tools

18 tools
kura_connect_cloudD

Connect a cloud connection

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYesCloud connection PID
instanceYesKura instance name

TDQS

D1.7/5.0
Behavior1/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines1/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYesCloud connection PID
instanceYesKura instance name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYesComponent PID
instanceYesKura instance name

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo
instanceYesKura instance name

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo
instanceYesKura instance name

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPackage download URL
nameYesPackage name
versionYesPackage version
instanceYesKura instance name

TDQS

C2.7/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name
snapshotIdYesSnapshot ID to rollback to

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceYesKura instance name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYesComponent PID
instanceYesKura instance name
propertiesYesComponent properties to update

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 18 tool updatesv1.0.0
    • First observedkura_connect_cloud
    • First observedkura_create_snapshot
    • First observedkura_disconnect_cloud
    • First observedkura_get_certificates
    • First observedkura_get_cloud_connections
    • First observedkura_get_configuration
    • First observedkura_get_configurations
    • First observedkura_get_extended_properties
    • First observedkura_get_framework_properties
    • First observedkura_get_kura_properties
    • First observedkura_get_packages
    • First observedkura_get_services
    • First observedkura_get_snapshots
    • First observedkura_get_users
    • First observedkura_install_package
    • First observedkura_rollback_snapshot
    • First observedkura_test_connection
    • First observedkura_update_configuration

TDQS

B3/5.0

Scored across 18 tools

Disambiguation4/5

Most tools target distinct resources and actions, but the three property getters (kura_properties, framework_properties, extended_properties) could be confused despite differing descriptions.

Naming Consistency5/5

All tools follow a consistent kura_verb_noun pattern in snake_case, making the API predictable.

Tool Count4/5

At 18 tools, the set is slightly above the typical 3-15 range but covers a wide range of Kura administration tasks without redundancy.

Completeness4/5

Core configuration, snapshot, cloud, and package workflows are covered, though user and certificate management only support read operations and package uninstall is absent.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers