Skip to main content
Glama

remus-mcp

MCP server for REMUS Jet databases — stdio + Streamable HTTP/SSE, 100% Jet-compatible (mdbtools + Jackcess fallback).

Quick start (native)

cd mcp && uv sync
uv run remus-mcp --rem ../base/remus_base_empty_english.rem        # stdio (Claude Desktop)
uv run remus-mcp --http --port 3000 --auth-token secret            # HTTP  http://127.0.0.1:3000/mcp
curl -H "Authorization: Bearer secret" http://127.0.0.1:3000/health

Related MCP server: SQLite MCP Server

Docker

Images / compose

  • Dockerfile at repo root (and mcp/Dockerfile — same content, repo-root context): python:3.11-slim-bookworm + mdbtools + default-jre-headless + wine64 + winetricks + xvfb + wkhtmltopdf + uv. Bakes mcp/, xml/remus.dtd, xslt/, base/*.rem, jars/, assets/transform.vbs. Wine prefix at /opt/wine (WINEARCH=win32) lazy-initializes at container start (docker-entrypoint.shxvfb-run wineboot + winetricks -q msxml3, falls back to lxml if offline). Containers run as the host user (user: "${UID:-1000}:${GID:-1000}" in compose) so files written to /data remain owned by the user, enabling direct editing with the original desktop app.

  • docker-compose.yml (repo root) — two services, one image, different transports:

    Service

    Transport

    How to run

    Port

    Auth

    remus-mcp-stdio

    stdio (local)

    docker compose run --rm remus-mcp-stdio (attaches stdin)

    no auth

    remus-mcp-http

    Streamable HTTP (remote, SSE fallback via SDK)

    docker compose up remus-mcp-http

    3000:3000 (${REMUS_HTTP_PORT:-3000})

    Bearer ${MCP_AUTH_TOKEN:-secret}

    remus-mcp-sse

    alias to http

    docker compose --profile sse up remus-mcp-sse

    3000

    same

# Build & run HTTP (recommended for Inspector / remote agents)
docker compose up --build remus-mcp-http
curl -H "Authorization: Bearer secret" http://127.0.0.1:3000/health      # {"status":"ok"}
curl -H "Authorization: Bearer secret" http://127.0.0.1:3000/mcp | head  # MCP handshake
curl http://127.0.0.1:3000/mcp | head                                   # 401 {"error":"UNAUTHORIZED"} (when token set)

# stdio — attaches your terminal's stdin to the MCP stdio transport
mkdir -p data && cp base/remus_base_empty_english.rem data/project.rem
docker compose run --rm remus-mcp-stdio
# or manual:
docker build -t remus-mcp .                         # from repo root
docker run --rm -i --user $(id -u):$(id -g) -v ./data:/data remus-mcp uv run remus-mcp --rem /data/project.rem
# or from mcp/  (repo-root context required):
docker build -f mcp/Dockerfile -t remus-mcp .

Data mounts: ./data:/data (your .rem files), ./base:/app/base:ro etc. are optional — the image already bakes base/ for project_create.

Claude Desktop

stdio via docker:

{"mcpServers":{"remus":{"command":"docker","args":["run","--rm","-i","--user","1000:1000","-v","/abs/path/to/data:/data","remus-mcp","uv","run","remus-mcp","--rem","/data/project.rem"]}}}

HTTP (remote):

{"mcpServers":{"remus-http":{"url":"http://127.0.0.1:3000/mcp","headers":{"Authorization":"Bearer secret"}}}}

SSE alias is identical (SDK negotiates streamable_http → SSE fallback automatically).

mcp/ compose (from mcp dir)

cd mcp && docker compose up --build remus-mcp-http   # uses context: .. dockerfile: mcp/Dockerfile

Available Tools

20 tools
close_projectC

Close a project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description must carry the burden of behavioral disclosure, but it only repeats the action implied by the tool name. It does not explain whether closing is reversible, destructive, permission-gated, or how it affects related data.

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 short and front-loaded, but it is under-specified rather than efficiently concise. A single clause restating the tool name adds little value and does not provide useful structural detail.

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?

For a tool with no annotations, no output schema, and minimal description, the definition is far from complete. The agent lacks information about side effects, return behavior, and how this tool fits among the sibling project lifecycle tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. It provides no additional meaning for project_id, such as format, semantics, or how it selects the project to close.

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 clear verb ('Close') and a clear resource ('a project'), making the tool's basic purpose understandable. It does not distinguish this from siblings like open_project or project_clone, but it is not vague or misleading.

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 open_project, undo_last, or validate_project. No context is provided about prerequisites, lifecycle position, or situations where close_project is the correct choice.

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

export_xmlD

Export XML

ParametersJSON Schema
NameRequiredDescriptionDefault
documentNo
filter_idsNo
project_idYes
filter_typeNo

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not indicate whether the operation is read-only, whether it triggers any side effects, or what happens to the data. For an export tool, one might expect a read-only hint, but nothing is stated. This is a significant gap.

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 concise (two words) but is under-specified rather than concise. It lacks any structure or front-loading of important constraints. While brevity is positive, it comes at the cost of essential information, making this ineffective.

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?

Given the tool has 4 parameters, no output schema, no annotations, and a vague description, the description is completely inadequate. An agent would be unable to call this tool correctly without external knowledge. It needs to specify what is exported, how parameters interact, and what the output format is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. It does not explain the meaning of project_id, filter_ids, filter_type, or document. An agent has no idea what these parameters do or how they affect the export. The description adds no value beyond the bare parameter names in the schema.

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 'Export XML' essentially repeats the tool name without adding any specificity. It does not state what data is exported, for which resource, or what 'XML' refers to. The presence of a project_id parameter suggests exporting a project's XML, but this is not mentioned. This is a vague purpose with no differentiation from siblings like import_xml.

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, nor any mention of prerequisites or context. It does not note that this complements import_xml or that it might be used for exporting project data in XML format. The description provides zero usage context.

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

get_change_logD

Get change log

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
project_idYes

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Get change log', which implies a read operation but reveals nothing about pagination, response format, whether a project must be open, or any side effects. This is a near-complete absence of behavioral information.

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 very short, but this is under-specification rather than effective conciseness. It does not earn its place because it only repeats the tool name without adding value.

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?

There are no annotations, no output schema, and no parameter descriptions. The tool requires a project_id and supports a limit, but none of this context is explained. The description is entirely inadequate for an agent to correctly invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the purpose of project_id and limit. It does not mention either parameter. The agent is left without any semantic guidance for the two parameters.

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 'Get change log' is essentially a paraphrase of the tool name, restating the verb and resource without adding any new information. It conveys the basic action but does not identify scope, temporal range, or how this differs from sibling tools.

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 whatsoever about when to use this tool versus alternatives like get_traces, trace_matrix, or validate_project. An agent is given no context for choosing this tool.

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

get_tracesC

Get traces for oid

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
directionNo
project_idYes

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. 'Get' implies a read operation, but the description does not reveal whether direction defaults to 'both', whether results are paginated, what happens when no traces exist, or what the return structure is. The optional direction parameter's default behavior is left undisclosed.

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 extremely concise, consisting of a single front-loaded sentence with no filler. While it is arguably too terse for full comprehension, as a concise summary it is structurally 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 three parameters, no output schema, and no annotations, this description is incomplete. It fails to explain the meaning of traces, the role of project_id, the direction parameter, or the response shape. An agent would likely need to inspect other tools or code to call this correctly.

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 0%, and the description adds little meaning beyond parameter names. It gives 'oid' slight contextual meaning (traces for that oid), but it does not clarify project_id, direction semantics, or how incoming/outgoing/both affect the result.

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 gives a specific verb and resource: 'Get traces for oid'. It identifies the scope of the operation (traces belonging to an oid), which is stronger than a tautology. However, it does not clarify what 'traces' are or differentiate from sibling tools like trace_matrix or trace_add.

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 trace_matrix, trace_add, or trace_remove. There is no mention of exclusions, prerequisites, or context like whether project_id must refer to an open project.

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

import_xmlD

Import XML

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlNo
dry_runNo
strategyNo
file_pathNo
project_idYes
on_missing_refNo
confirm_replaceNo

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It provides none: no mention that this mutates project data, that dry_run can preview changes, that strategy can merge or replace, or that confirm_replace gates destructive behavior.

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?

Two words is under-specification, not conciseness. While there is no wasted text, the description is too sparse to be structurally informative or front-loaded with useful content.

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?

This is a 7-parameter tool with an enum, multiple booleans, and no output schema or annotations. The one-line description is wholly inadequate for an agent to call it correctly, understand side effects, or interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters. It does not mention xml, file_path, strategy, dry_run, confirm_replace, or on_missing_ref at all, leaving the agent to guess which parameters are required and how they interact.

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 'Import XML' is essentially a restatement of the tool name. It identifies the general action but does not state the target resource, the destination project, or how it relates to sibling tools like export_xml or validate_project.

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 about when to use this tool over alternatives. The description does not mention validation workflows, export round-trips, or any context where import_xml is preferred or disallowed.

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

list_projectsB

List open projects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 carries the full burden of behavioral disclosure. 'List open projects' implies a read operation but does not define what 'open' means, whether closed projects are excluded, what data is returned, or any ordering or filtering behavior.

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 phrase with no filler or redundancy. Every word contributes meaning, and it is appropriately sized for a zero-parameter 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?

For a simple zero-parameter list operation, the core action is stated. However, the ambiguity of 'open' and the absence of any usage context or return-value expectations leave meaningful gaps, especially with no output schema and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter documentation burden. The description needs no additional parameter semantics; baseline 4 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 a specific verb ('List') and resource ('projects') with a scope qualifier ('open'), so the core purpose is clear. It does not explicitly contrast itself with sibling tools like rem_list or open_project, which would merit a 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?

There is no guidance on when to use this tool versus alternatives, nor any exclusions or context. Given siblings like project_create, open_project, close_project, and rem_list, an agent gets no help choosing among them.

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

open_projectC

Open a .rem project file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

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 of behavioral disclosure. 'Open' suggests a state-changing operation, but the description does not explain side effects (e.g., does it close the current project, load traces, require the file to exist, etc.) or what the result of opening means.

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 with no filler, and the essential action is front-loaded. Every word contributes to meaning.

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 no annotations and no output schema, the tool relies wholly on this short description. It tells the agent what action to perform but omits behavioral context such as side effects, error conditions, or the state it creates—important details for safely invoking this tool among several project-related siblings.

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 0% description coverage, so the description must compensate. It adds the useful detail that the path targets a '.rem project file', but it does not explicitly describe the 'path' parameter, its expected format, or any constraints. For a single-parameter tool this is minimally adequate but not strong.

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 a specific verb ('Open') and a specific resource ('.rem project file'), making the core purpose clear. It does not explicitly differentiate from siblings like project_create, close_project, or validate_project, but the action is distinct enough to avoid tautology.

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 about when to use this tool versus alternatives such as project_create, project_clone, list_projects, or close_project. No prerequisites, exclusions, or explicit context is provided; the only implication is that it opens a project file.

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

project_cloneC

Clone project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
target_pathYes

TDQS

C2/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 disclosing behavior. It reveals nothing beyond the verb 'Clone'—no mention of whether the source is copied, whether target_path must not already exist, permissions, side effects, or what the tool returns. This is effectively a restatement of the name.

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 short and free of fluff, but it is under-specified rather than effectively concise. There is no structured content to front-load, and the brevity comes at the cost of nearly all useful information.

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?

Given a 2-parameter clone operation with no annotations and no output schema, this description is severely incomplete. It omits return values, failure modes, overwrite behavior, and the relationship to project_create, so an agent cannot reliably invoke or handle results based on this description alone.

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 0%, and the tool description adds no parameter-level meaning. The names project_id and target_path are somewhat self-explanatory, but the agent receives no guidance on expected formats, path requirements, or relationships between the two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Clone' and resource 'project', conveying a duplication operation. However, it essentially restates the tool name and does nothing to distinguish it from sibling tools like project_create or open_project, or to clarify that it duplicates an existing project into a target path.

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 project_clone versus alternatives such as project_create, open_project, or import_xml. No prerequisites, exclusions, or context are provided, leaving the agent to infer proper usage entirely from the tool name and parameters.

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

project_createC

Create new project from template

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
templateYes
target_pathYes

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'Create new project from template' and does not mention whether existing files at target_path are overwritten, whether directories are created, whether the project is automatically opened, or any side effects beyond creation.

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 filler or redundancy. However, it is so terse that it omits useful parameter and behavior details, making it concise but not optimally informative.

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 only three simple parameters and no output schema, the tool is a creation operation with no annotations, no parameter documentation, and no usage alternatives. An agent would need more information about path handling and side effects to invoke it correctly and safely.

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?

Input schema has 0% description coverage, and the description only vaguely relates to the 'template' parameter. It does not clarify the meaning or expected format of 'name' or 'target_path', leaving the agent to guess from parameter names alone.

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 verb ('Create') and resource ('new project') and adds the 'from template' qualifier, which distinguishes it from more generic project operations. It does not explicitly differentiate from sibling project_clone, but the template-based creation is reasonably 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 is given about when to use this tool versus alternatives like project_clone or open_project. There are no exclusions, prerequisites, or context cues to help an agent choose this tool.

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

rem_createD

Create entity

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
typeYes
project_idYes

TDQS

D1.5/5.0
Behavior1/5

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

There are no annotations provided, so the description alone must disclose behavioral traits. It does not state that this is a write operation, what side effects occur (e.g., creating a new record), whether it requires special permissions, or what the response looks like. The phrase 'Create entity' only conveys the obvious intent without any additional behavioral context.

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 a case of under-specification rather than effective conciseness. It consists of only two words and does not earn its place by adding value. A proper description would be longer but still concise; here the brevity sacrifices all utility.

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?

Given the tool's complexity—three required parameters including a nested object and a large enum—and the absence of annotations or an output schema, the description is completely inadequate. It fails to explain what the tool does, what inputs are needed, or what the expected outcome is. An agent cannot reliably call this tool based on the current definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description adds no information about the parameters. While the schema lists 'data', 'type', and 'project_id' (with an enum for 'type'), the description does not explain what 'data' should contain, how 'type' maps to entity structures, or what 'project_id' refers to. The agent is left without any semantic guidance beyond the raw schema.

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 'Create entity' is essentially a restatement of the tool name 'rem_create'. It provides no specific verb+resource distinction and does not differentiate from siblings like 'rem_update' or 'rem_delete'. Without mentioning the 'type' or 'project_id' parameters, it leaves the agent uncertain about what entity is being created.

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 offers no guidance on when to use this tool versus alternatives. It does not mention preconditions (e.g., project must exist), nor does it exclude cases where another tool (like 'rem_update') might be more appropriate. There is no contextual information to help the agent select this tool correctly.

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

rem_deleteC

Delete entity

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
typeYes
cascadeNo
project_idYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only says 'Delete entity,' which implies mutation but does not explain cascading behavior (despite the cascade parameter), permanence, side effects on related data, or any authorization requirements. Significant behavioral gaps exist.

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 brief (two words), which is concise in length but under-specified. It is not front-loaded with important information because there is no information. This is not effective conciseness; it is an absence of content, similar to the 'Process' example.

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?

For a delete operation with 4 parameters, a complex type enum, and no output schema, the description is severely incomplete. It fails to explain return values, error handling, cascading alternatives, or how the operation affects project data. An agent cannot safely call this tool based on the given description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning, but it provides nothing about oid, type, cascade, or project_id. The schema itself lists parameter names/types but no descriptions; the description adds zero semantic value. This is a critical gap for a delete operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action (delete) but the resource is vague ('entity'). It does not specify what kinds of entities can be deleted, nor does it differentiate from siblings like rem_update or rem_get beyond the obvious deletion action. This is a generic but not tautological 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 provided about when to use this tool versus alternatives such as rem_update or rem_get. There are no conditions, prerequisites, or exclusions mentioned. The description gives no context to help an agent decide when deletion is appropriate.

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

rem_getC

Get entity by oid

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
typeYes
project_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a non-mutating 'get' but provides no information about return format, not-found behavior, permissions, type-specific behavior, or side effects.

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 filler. It is concise and easy to parse, though the brevity contributes to the lack of contextual guidance elsewhere.

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 a tool with three required parameters, no annotations, no output schema, and many sibling tools, this description is too sparse. It omits return behavior, the meaning of the type enum, and when this tool should be preferred over alternatives.

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 0% and the description only references the 'oid' parameter. It does not explain the roles of project_id or the type enum, nor why all three required parameters are needed together.

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 phrase 'Get entity by oid' clearly identifies a read operation for a single entity keyed by its OID. It implicitly distinguishes itself from rem_list and rem_create/update/delete, though it does not explicitly name those alternatives.

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 gives no guidance on when to use rem_get versus sibling tools like rem_list, get_traces, or trace_matrix. It does not state any exclusions or selection criteria, leaving usage entirely to inference.

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

rem_listC

List entities of a type

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
limitNo
offsetNo
parentNo
searchNo
filtersNo
documentNo
order_byNo
project_idYes

TDQS

C2.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 behavioral burden. It only says 'list' and gives no information about pagination limits, default ordering, how filters/search/parent/document interact, authentication needs, or response shape. This is a meaningful transparency gap for a complex listing operation.

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 short and free of fluff, but this is under-specification rather than effective conciseness. Five words carry no operational or behavioral content, so the structure does not help the agent act correctly.

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?

A 9-parameter tool with no output schema and no annotations needs far more context. The agent cannot infer pagination defaults, how filters are structured, whether results are ordered, or what the returned objects look like. The description is completely inadequate for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no meaning for any of the 9 parameters. project_id, limit, offset, parent, search, filters, document, and order_by are entirely unexplained; even 'type' gains nothing beyond the enum list. The description fails to compensate for the absent schema documentation.

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 clear verb ('List') and resource ('entities of a type'), and the type enum defines the concrete entity kinds. However, it does not explicitly distinguish this from sibling tools like rem_get (single entity) or trace_matrix/get_traces (trace-specific listings), so some sibling differentiation is left to inference.

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 about when to use this tool instead of rem_get, get_traces, list_projects, or the filtering/search capabilities. The description implies 'use this to list entities,' but provides no exclusions, alternatives, or context.

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

rem_updateD

Update entity

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
typeYes
patchYes
project_idYes

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description must carry the full behavioral burden, but it only says 'Update entity'. It does not disclose side effects, partial-update semantics of 'patch', error behavior, required permissions, or what happens if the oid/type does not exist.

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 short, but this is under-specification rather than conciseness. It has no informative content beyond what the tool name already conveys and does not earn its place as a useful aid.

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?

This is a mutation tool with 4 required parameters, a large enum, a nested patch object, and no output schema or annotations. A two-word description is completely inadequate for an agent to invoke it correctly or understand its behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it adds no meaning to any parameter. It does not explain that 'patch' is likely a partial field update, what 'type' refers to, or how 'project_id' scopes the operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action and broad resource ('Update entity'), so an agent can tell this is an update operation. However, 'entity' is generic and does not specify which rem item types, how the update is applied, or how it differs from the sibling create/get/list/delete operations beyond the verb.

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 context is provided. The description does not say when to choose rem_update over rem_create, rem_get, rem_delete, or any other sibling, and it gives no prerequisites or examples. This leaves the agent to infer from the tool name and schema alone.

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

render_htmlC

Render HTML/PDF via Wine msxml3

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo
outputNo
documentYes
project_idYes

TDQS

C2.3/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 context. It only provides an implementation detail ('via Wine msxml3') and does not disclose side effects, permissions, idempotency, output behavior, or whether the operation is read-only or mutates state. This is a significant gap for a tool that likely performs a conversion action.

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 with no unnecessary filler. It front-loads the core action and output formats, though the 'via Wine msxml3' detail may be less essential. It is concise, but at the cost of missing critical information.

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 4 parameters, 3 with enums, no annotations, and no output schema, the description is grossly under-specified. It does not explain required inputs, the role of each parameter, expected outputs, or any preconditions. An agent cannot reliably invoke this tool correctly based on the provided definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for explaining parameters. It does not mention any parameter, its purpose, or constraints. The enums in the schema are self-explanatory to some extent, but the description adds no meaning to 'project_id' or 'document', which remain opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb, 'Render', with a resource, 'HTML/PDF', indicating the tool produces output in these formats. However, it does not clearly specify what is being rendered (a document, a template, etc.) or how this distinguishes it from siblings like export_xml. The meaning of 'Render' is vague in this context, leaving the purpose partially implied.

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 about when to use this tool versus alternatives. There is no mention of sibling tools, conditions, or exclusions, leaving the agent without context for selecting this tool over others.

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

trace_addD

Add trace

ParametersJSON Schema
NameRequiredDescriptionDefault
checkedNo
project_idYes
source_oidYes
target_oidYes

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations present, the description carries the full burden of behavioral disclosure, but 'Add trace' reveals nothing about side effects, required object relationships, idempotency, error conditions, or return values. It does not even clarify whether the operation mutates persistent state.

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 effective conciseness. Every word is generic, and no useful information is front-loaded because no useful information exists.

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?

Given four parameters, three required, no output schema, and no annotations, the description is far too sparse to enable correct invocation. An agent would need to guess the meaning of source_oid and target_oid and whether checked modifies behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no meaning for project_id, source_oid, target_oid, or checked. An agent cannot determine what these parameters represent or how they should be populated.

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 'Add trace' merely restates the tool name trace_add and offers no definition of what a 'trace' is in this domain. It provides a verb and object but lacks the specificity needed to distinguish the operation from related concepts like trace_matrix or get_traces.

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 gives no indication of when to use this tool versus alternatives such as trace_remove or get_traces. No preconditions, context, or exclusions are mentioned, leaving the agent to infer usage entirely from the tool name.

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

trace_matrixD

Trace matrix

ParametersJSON Schema
NameRequiredDescriptionDefault
documentNo
project_idYes
source_typeYes
target_typeYes

TDQS

D1.1/5.0
Behavior1/5

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

No annotations are present, and the description offers no behavioral detail whatsoever. It does not disclose whether the tool creates, reads, mutates, validates, or returns data, nor any 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.

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 effective conciseness. It earns no structural credit because it omits essential information and provides no front-loaded actionable content.

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?

For a tool with 4 parameters, 2 large enums, no output schema, no annotations, and a complex domain with many sibling tools, this description is completely inadequate. An agent cannot determine what inputs mean, what the tool returns, or how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to any of the 4 parameters. It does not explain the purpose of project_id, source_type, target_type, or the optional document parameter, leaving the agent to infer semantics entirely from raw schema enums.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'Trace matrix' merely restates the tool name without a verb or action. It fails to state what the tool does, what entity it operates on, or how it relates to similar tools like get_traces or trace_add.

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 such as trace_add, trace_remove, or get_traces. No context, exclusions, or selection criteria are provided.

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

trace_removeC

Remove trace

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
source_oidYes
target_oidYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations at all, the description carries the full burden, and 'Remove trace' only signals that the operation is destructive. It does not disclose whether removal is permanent, whether it affects other data, what happens if the trace does not exist, or any permission requirements.

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 under-specified rather than concise. Two words provide no useful structure or front-loaded detail beyond 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?

Given three required parameters, no annotations, no output schema, and a destructive action, the description is far too thin. An agent lacks enough information to invoke the tool correctly or anticipate its effects.

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 0% and the description does not explain any parameter. While project_id, source_oid, and target_oid are somewhat self-explanatory, there is no clarification of what an OID is, how source and target are ordered, or what constitutes a valid trace.

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 'Remove trace' essentially restates the tool name in a different word order, adding no definition of what a trace is or what removing it entails. It is a verb+noun but provides no distinguishing detail against sibling tools like trace_add or get_traces.

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 about when to use this tool versus alternatives such as trace_add or get_traces. The context in which removal is appropriate, and any prerequisites or caveats, are entirely absent.

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

undo_lastC

Undo last mutation

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Undo last mutation,' which reveals the action but not its effects, reversibility, what qualifies as a mutation, whether the mutation is global or project-scoped, or whether undoing may itself be destructive.

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 brief and front-loaded, but it is under-specified rather than usefully concise. One short sentence provides no additional behavioral, contextual, or parameter information, so the brevity does not earn its place.

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 that this is a mutation tool with no annotations, no output schema, and zero parameter documentation, the description is incomplete. It leaves critical operational questions unanswered and would not reliably guide an agent to invoke it correctly in all relevant scenarios.

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?

The schema documents one required parameter, project_id, with no description (0% coverage). The description adds no meaning about project_id and does not clarify that the undo is scoped to a specific project. The parameter name is self-explanatory, but the description fails to compensate for the absence of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and object: 'Undo last mutation.' However, 'mutation' is undefined and the scope (per project, per session, global) is ambiguous, even though project_id is required. It does not distinguish itself from other mutation-related siblings, though no sibling is an explicit 'undo'.

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 explicit guidance about when to use this tool versus alternatives. The natural implication is to use it after a recent unwanted mutation, but the description never states conditions, prerequisites, or exclusions, nor does it reference sibling tools such as rem_update or trace_add.

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

validate_projectD

Validate project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

D1.1/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 disclosing behavior. It discloses none: it does not say whether the tool mutates anything, what happens on invalid input, what the return value is, or what 'validate' actually performs.

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?

Two words is maximally concise, but this is under-specification rather than effective conciseness. There is no structure, no front-loaded useful information, and no sentence that earns its place by conveying actionable guidance.

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?

Even with only one parameter and no output schema, this is incomplete: an agent cannot know what validation checks are performed, what a successful or failed result looks like, or what side effects may occur. The description is not minimally viable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter project_id has no schema description, and the description adds no meaning beyond the schema's type declaration. With 0% schema description coverage, the description needed to explain the parameter's semantics and did not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Validate project' is a tautology that merely restates the tool name and does not explain what validation means, what is checked, or what outcome is produced. It provides no information that distinguishes this tool from its many siblings.

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 about when to use this tool, what conditions warrant calling it, or how it relates to sibling tools such as project_create, project_clone, or get_traces. The description offers no context for tool selection.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 20 tool updatesv0.1.0
    • First observedclose_project
    • First observedexport_xml
    • First observedget_change_log
    • First observedget_traces
    • First observedimport_xml
    • First observedlist_projects
    • First observedopen_project
    • First observedproject_clone
    • First observedproject_create
    • First observedrem_create
    • First observedrem_delete
    • First observedrem_get
    • First observedrem_list
    • First observedrem_update
    • First observedrender_html
    • First observedtrace_add
    • First observedtrace_matrix
    • First observedtrace_remove
    • First observedundo_last
    • First observedvalidate_project

TDQS

C2.3/5.0
Disambiguation5/5

Each tool maps to a distinct action on a distinct resource: entities, traces, projects, or files. Even similar tools like get_traces and trace_matrix differ clearly in scope (per-entity vs. matrix-level), and the CRUD operations for entities and traces are unambiguous.

Naming Consistency3/5

Naming mixes multiple patterns: rem_ prefix for entity operations, trace_ prefix for some trace operations (but get_traces and trace_matrix deviate), project_ prefix for some project tools (but open_project, close_project, list_projects don't follow). Generic verbs like validate_project, export_xml, undo_last break the prefix pattern. While still readable, the inconsistency is noticeable.

Tool Count4/5

With 20 tools, the set is on the heavier side but each tool addresses a specific requirement in a comprehensive project/traceability management system. No redundant or dead-weight tools; the count is justified by the domain's complexity.

Completeness4/5

The tool surface covers the core lifecycle: project create/open/close/list/clone, entity CRUD, trace management, validation, import/export, history (undo/change log), and rendering. A notable gap is the lack of project deletion or explicit project update, but agents can work around this by cloning and closing projects.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A universal SQLite database management tool that enables SQL query execution through MCP protocol. Supports SELECT/INSERT/UPDATE/DELETE/CREATE operations with built-in SQL injection protection across stdio, SSE, and streamable-http communication modes.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Bridges MCP clients that require stdio to a running pREST HTTP MCP endpoint, enabling database interaction via natural language.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/christianmz565/remus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server