Skip to main content
Glama
Cyoda

Cyoda Calculation Node MCP

Official
by Cyoda

Cyoda Calculation Node Application

A comprehensive application framework for building calculation nodes within the Cyoda platform. This project provides a structured foundation for developing entity-driven applications with workflow automation, built on the asynchronous Quart web framework.

What is This?

This is a Cyoda Calculation Node - a specialized application that:

  • Manages entities (structured data models) within the Cyoda ecosystem

  • Executes workflows (finite-state machines) to process entity state transitions

  • Integrates with the Cyoda platform via gRPC for seamless data synchronization

  • Provides REST APIs for entity management and workflow operations

  • Supports AI assistant integration through the Model Context Protocol (MCP)

Related MCP server: coda-mcp-server

Project Structure

├── application/          # Your application code (entities, workflows, routes)
├── common/              # Shared infrastructure (auth, config, gRPC, repository)
├── cyoda_mcp/           # MCP server for AI assistant integration
├── example_application/ # Reference implementation
├── services/            # Service configuration and initialization
└── tests/               # Comprehensive test suite

Key Directories

  • application/ - Your custom business logic

    • entity/ - Entity definitions and workflow implementations

    • routes/ - REST API endpoints

    • processor/ - Custom processors and criteria functions

  • cyoda_mcp/ - MCP server for AI integration

  • common/ - Shared infrastructure (do not modify unless necessary)

    • auth/ - Authentication and token management

    • config/ - Configuration and environment variables

    • grpc_client/ - Cyoda gRPC integration

    • repository/ - Data access layer

    • service/ - Business logic interfaces

  • example_application/ - Reference implementation showing best practices

Quick Start

1. Set Up Environment

# Clone the repository
git clone <repository-url>
cd mcp-cyoda-quart-app

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2. Configure Credentials

export CYODA_CLIENT_ID="your-client-id"
export CYODA_CLIENT_SECRET="your-client-secret"
export CYODA_HOST="client-<id>.eu.cyoda.net"

3. Run the Application

# Run the application server
python -m application.app

# Or run the MCP server for AI integration
python -m cyoda_mcp

MCP Server Integration

This project includes a Model Context Protocol (MCP) server that enables AI assistants to interact with your Cyoda application.

For complete MCP server documentation, see: cyoda_mcp/README.md

Quick MCP Setup

# Install globally
pipx install mcp-cyoda

# Run the server
mcp-cyoda

Development

Code Quality

# Run all quality checks
python -m black . && python -m isort . && python -m mypy . && python -m flake8 . && python -m bandit -r .

# Run tests
python -m pytest tests/ -v

Contributing

See CONTRIBUTING.md for detailed contribution guidelines.

Documentation

Getting Help

  1. Cyoda Platform: https://ai.cyoda.net

  2. Documentation: https://docs.cyoda.net

  3. Issues: GitHub Issues

License

MIT License - See LICENSE for details

Available Tools

13 tools
edge_message_get_edge_message_toolA

Retrieve an edge message by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idYesThe ID of the message to retrieve

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 convey behavioral traits. It only says 'Retrieve' with no mention of idempotency, read-only nature, error behavior (e.g., if ID not found), or permissions. This is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and contains no unnecessary words. Every word earns its place.

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?

Given the tool's simplicity (single required parameter, output schema present), the description is mostly adequate. However, it lacks any mention of error handling or use case context. With low complexity, this is a minor gap.

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% (message_id described). The description adds no extra meaning beyond the schema, which is acceptable. Baseline 3 is appropriate as the schema already 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?

The description clearly states 'Retrieve an edge message by ID', which is a specific verb and resource. It distinguishes itself from sibling tools like edge_message_send_edge_message_tool and entity retrieval tools.

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 usage when you have a message ID, but provides no explicit guidance on when to use this vs alternatives (e.g., search 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.

edge_message_send_edge_message_toolB

Send a new edge message.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesMessage subject
contentYesMessage content as dictionary
message_idNoOptional message ID
user_idNoOptional user ID
recipientNoOptional recipient
reply_toNoOptional reply-to address
correlation_idNoOptional correlation ID
content_encodingNoOptional content encoding
content_lengthNoOptional content length
content_typeNoContent type (default: application/json)application/json

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says 'send', implying mutation, but lacks details on success behavior, authentication, or limits.

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, efficient sentence with no wasted words, though it is brief.

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 10 parameters and an output schema, the one-sentence description is insufficient; it lacks context about the messaging system and return values.

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%, so the schema already documents parameters; the tool description adds no additional meaning beyond that.

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 'send' and the resource 'edge message', distinguishing it from the sibling get tool.

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, 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.

entity_create_entity_toolC

Create a new entity of a given model.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_modelYesThe type of entity to create
entity_dataYesThe data for the new entity
entity_versionNoThe entity model version1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose all behavioral traits. It only says 'Create a new entity', without mentioning side effects, permissions, idempotency, or error cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but too minimal; it provides the verb and resource but lacks detail.

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 3 parameters, nested objects, and an output schema, the description should explain return values or behavior; it does not.

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 each parameter has a description, but the tool description adds no extra meaning beyond the schema.

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 it creates a new entity for a given model, but it does not differentiate from sibling tools like update or delete.

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 on when to use this tool versus alternatives; the description lacks any context about prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

entity_delete_entity_toolC

Delete an entity by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_modelYesThe type of entity to delete
entity_idYesThe technical UUID of the entity
entity_versionNoThe entity model version1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden, but only states 'Delete an entity by ID' with no mention of side effects, permissions, or reversibility.

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?

Single sentence, no waste. Could be slightly more descriptive but appropriate for a simple action.

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?

Output schema exists, so return values not needed. However, a delete tool should hint at success/failure or consequences, which is missing.

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%, so baseline 3. Description adds no additional meaning beyond the schema.

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 'Delete' and the resource 'entity', and the sibling tools include create, get, update, list, making it distinct.

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 on when to use this tool over alternatives, no prerequisites or context for deletion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

entity_get_entity_toolA

Retrieve a single entity by its technical ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_modelYesThe type of entity (e.g., 'laureate', 'subscriber', 'job')
entity_idYesThe technical UUID of the entity
entity_versionNoThe entity model version (default: from config)1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 the full burden. It states the operation but does not disclose side effects, permissions, rate limits, or that it is a read-only operation. For a simple retrieval, this is minimally acceptable.

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. Every word is necessary to convey the core 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?

Given the simple nature of the tool, the description is nearly complete. It does not explain error cases or return values, but the presence of an output schema helps fill those gaps. Still, it could mention that the entity is returned in full.

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%; each parameter (entity_model, entity_id, entity_version) already has a description in the schema. The tool description adds no additional meaning beyond what is already in the schema.

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 'Retrieve a single entity by its technical ID' clearly states the verb 'Retrieve', the resource 'a single entity', and the method 'by its technical ID'. This distinguishes it from sibling tools like entity_create_entity_tool, entity_delete_entity_tool, and entity_list_entities_tool.

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 usage when the technical ID is known, but does not explicitly state when to use this tool versus alternatives like search tools for unknown IDs. No guidance on exclusions or alternatives is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

entity_list_entities_toolB

List all entities of a specific type.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_modelYesThe type of entity to list
entity_versionNoThe entity model version1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description fails to disclose behavioral aspects such as pagination, sorting, limits, or error handling when the entity type is invalid. The agent has no insight into the tool's side effects or output characteristics.

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 that is front-loaded with the core action. It is appropriately concise for a straightforward list operation.

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?

Given the low complexity (2 parameters, simple list operation) and the presence of an output schema, the description adequately conveys the tool's purpose. It lacks details on return format but the output schema may compensate.

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 covers 100% of parameters with descriptions, so the description does not need to add much. However, it adds no extra context about the format of entity_model or version beyond what the schema provides.

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 lists all entities of a specific type, which distinguishes it from sibling tools that get, create, or update a single entity. However, it could be more precise about what constitutes 'entity 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 given on when to use this tool versus alternatives like search_find_all or entity_get_entity_tool. There is no mention of prerequisites or scenarios where this tool is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

entity_update_entity_toolB

Update an existing entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_modelYesThe type of entity to update
entity_idYesThe technical UUID of the entity
entity_dataYesThe updated data for the entity
entity_versionNoThe entity model version1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description does not disclose whether updates are partial or full, required permissions, or side effects. The description carries the full burden but fails to provide behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks any structure or emphasis; it could be considered under-specified rather than efficient.

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 4 parameters, an output schema, and sibling tools, the description is too minimal; it does not explain expected updates, return value, or error scenarios.

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%; the description adds no extra meaning beyond the schema, so baseline 3 is appropriate despite no param-specific elaboration.

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 'Update an existing entity' uses a clear verb and resource, distinguishing it from sibling tools like entity_create_entity_tool and entity_delete_entity_tool.

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 on when to use this tool versus alternatives; no context about prerequisites, limitations, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_find_allC

Find all entities of a specific type using entity_service.find_all().

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_modelYesThe type of entity to retrieve (e.g., 'laureate', 'subscriber', 'job')
entity_versionNoThe entity model version (default: from config)1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description fails to disclose any behavioral traits such as read-only nature, pagination, rate limits, or potential side effects. The agent has no insight into the tool's behavior beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks sufficient detail to be informative. It is not verbose, but its brevity results in under-specification.

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 lack of annotations and output schema details, the description fails to set expectations about return format, data limits, or any other relevant context. The tool finds all entities, which could return large datasets, yet this is unaddressed.

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%, and the description adds no extra meaning beyond the schema's parameter descriptions. Baseline of 3 applies as per criteria for high coverage.

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 it finds all entities of a specific type using a specific method. However, it does not differentiate from sibling tools like entity_list_entities_tool or search_search, which have overlapping functionality.

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 such as entity_list_entities_tool or search_search. The description merely states what it does without context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflow_mgmt_export_workflows_to_file_toolC

Export entity workflows to a JSON file.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_nameYesName of the entity
model_versionYesVersion of the model
file_pathYesPath where to save the workflow file (relative to project root or absolute)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must fully disclose behavior. It states the action (export) but does not mention overwriting, error handling, permissions, or return format. This is insufficient for safe invocation.

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 that efficiently communicates the primary action. It is front-loaded and avoids redundancy, though it could be slightly more detailed without losing conciseness.

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?

Given the output schema exists (covering returns), the description adequately states the purpose. However, it lacks details on file creation behavior and preconditions, making it only minimally complete for a file export tool.

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%, so parameters are already documented. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.

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 'Export entity workflows to a JSON file' clearly states the verb and resource. It distinguishes from siblings like import, list, and validate, but does not specify the entity scope or output 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?

No usage guidance is provided. The description does not indicate when to use this tool over alternatives like import or list, leaving the agent uncertain about appropriate contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflow_mgmt_import_workflows_from_file_toolB

Import entity workflows from a JSON file.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_nameYesName of the entity
model_versionYesVersion of the model
file_pathYesPath to the workflow file (relative to project root or absolute)
import_modeNoImport mode ("REPLACE" or other supported modes)REPLACE

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description lacks details about side effects (e.g., does it replace existing workflows?), error handling, permissions needed, or the behavior of different import modes. The word 'Import' implies mutation, but no behavioral context is added.

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 one short sentence with no wasted words. While concise, it could be slightly expanded to include key context 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?

Despite having an output schema (not shown), the description omits important context such as the consequences of the import (e.g., default mode REPLACE), file path flexibility, and what the output represents. For a tool with 4 parameters and no annotations, the description is too minimal.

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 with descriptions for each parameter. The description adds no additional meaning beyond the schema, 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 the action ('Import'), the resource ('entity workflows'), and the source format ('from a JSON file'). It effectively distinguishes this tool from sibling tools like export, list, and validate.

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 on when to use this tool versus alternatives. No mention of prerequisites, such as validating the file first or considering import mode options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflow_mgmt_list_workflow_files_toolA

List available workflow files in the specified directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_pathNoBase directory to search for workflow files (relative to project root or absolute)application/resources/workflow

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 only states 'List available workflow files' without specifying whether the listing is recursive, what 'available' means, permissions required, or output format. This is insufficient for an agent to infer side effects or constraints.

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 that conveys the essential purpose without extraneous words. Every word earns its place.

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 description is adequate for a simple list tool with one parameter, but it lacks details about output structure (though an output schema exists) and does not clarify if subdirectories are included. It provides minimal context beyond the basic action.

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 covers 100% of the parameters, and the description mirrors the schema's mention of 'specified directory'. No additional semantics (e.g., path formats, permissions) are provided beyond the schema, 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 the verb 'List', the resource 'workflow files', and the scope 'in the specified directory'. It effectively distinguishes from sibling tools like export, import, and validate, which perform different actions.

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 usage for listing workflow files in a directory but provides no explicit guidance on when to use this tool versus alternatives (e.g., search tools) or any prerequisites. Usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflow_mgmt_validate_workflow_file_toolB

Validate a workflow file for correct JSON structure and required fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to the workflow file (relative to project root or absolute)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears full burden. It states validation but does not disclose side effects, error behavior, or return format, leaving significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words, and front-loaded with essential action.

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?

Minimal but adequate for a simple validation tool with one parameter and an output schema; however, lacks details on output meaning and error handling.

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 parameter 'file_path' already has a clear description. The tool description adds no additional meaning beyond the schema.

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 (validate) and resource (workflow file) and specifies what is checked (JSON structure and required fields), distinguishing it from sibling tools like list or export.

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, nor are there any prerequisites or exclusions mentioned.

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. 13 tool updatesv0.1.7
    • First observededge_message_get_edge_message_tool
    • First observededge_message_send_edge_message_tool
    • First observedentity_create_entity_tool
    • First observedentity_delete_entity_tool
    • First observedentity_get_entity_tool
    • First observedentity_list_entities_tool
    • First observedentity_update_entity_tool
    • First observedsearch_find_all
    • First observedsearch_search
    • First observedworkflow_mgmt_export_workflows_to_file_tool
    • First observedworkflow_mgmt_import_workflows_from_file_tool
    • First observedworkflow_mgmt_list_workflow_files_tool
    • First observedworkflow_mgmt_validate_workflow_file_tool

TDQS

B3/5.0

Scored across 13 tools

Disambiguation4/5

Most tools are clearly distinct by functional domain (edge messages, entities, workflows). The potential confusion between 'search_find_all' and 'search_search' is mitigated by their descriptions indicating different query capabilities, but an agent might still misselect.

Naming Consistency2/5

Tool names follow inconsistent conventions: some use prefixes like 'edge_message_', 'entity_', 'workflow_mgmt_', while others use 'search_'. The naming mixes full words with abbreviations ('mgmt') and appends '_tool' inconsistently.

Tool Count4/5

13 tools is a reasonable count for a server covering edge messages, entity CRUD, and workflow management. It is slightly on the higher side but not excessive.

Completeness3/5

The entity management covers CRUD and two search options, which is good. Edge messages lack delete/update. Workflow management is file-based and lacks direct lifecycle operations like create or delete, leaving notable gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI assistants with access to AegisX UI components, CRUD generator commands, development patterns, and API contract discovery tools. It enables developers to browse component documentation, build generation commands, and test authenticated API endpoints through the Model Context Protocol.
    25 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to securely interact with Fireblocks services through the Model Context Protocol, supporting transaction management, vault and exchange account queries, network connections, and workspace user management.
    21 npm
    10
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to manage Prismatic integrations, components, and flows via the Model Context Protocol, supporting code-native integration development and component lifecycle.
    75 npm
    26
    MIT