Skip to main content
Glama
Tracelink-Devops

Tracelink MCP Server

Official

Tracelink MCP Server

MCP server that gives Claude, ChatGPT and GitHub Copilot access to the Tracelink API.

There are two ways to connect: a hosted HTTPS server (recommended) or the local stdio server in this repo.

  • HTTPS — Tracelink hosts the server at https://tracelink.dk/api/mcp. Your client talks to it directly over the internet, authenticating with an API key in the x-access-token header. No installation, no local process, always up to date, and it exposes a broader/better tool set (e.g. document upload, tags, relations, schema introspection).

  • stdio — the client starts this repo's index.js as a local child process and talks to it over stdin/stdout. Requires Node.js, a local checkout, and npm install.

The stdio server in this repo is no longer being actively developed and will be removed at a later point. New setups should use the hosted HTTPS server below; existing stdio configurations should migrate when convenient.

Connect directly to Tracelink's hosted MCP server at https://tracelink.dk/api/mcp. This requires no local installation — just an API key sent via the x-access-token header.

You can configure this either by editing the config file directly (examples below), or through the user interface:

  • Claude Desktop: Settings → Connectors → Add custom connector, enter the URL https://tracelink.dk/api/mcp and add a header named x-access-token with your API key.

  • VS Code: Run the command "MCP: Add Server" from the Command Palette, choose "HTTP", enter the URL https://tracelink.dk/api/mcp, and add a header named x-access-token with your API key.

Claude Desktop

{
  "mcpServers": {
    "tracelink": {
      "type": "http",
      "url": "https://tracelink.dk/api/mcp",
      "headers": {
        "x-access-token": "your-api-key-here"
      }
    }
  }
}

VS Code (GitHub Copilot)

{
  "servers": {
    "tracelink": {
      "type": "http",
      "url": "https://tracelink.dk/api/mcp",
      "headers": {
        "x-access-token": "your-api-key-here"
      }
    }
  }
}

ChatGPT

Custom MCP connectors require Developer mode, which must be enabled first:

  1. Go to Settings → Connectors → Advanced settings and turn on Developer mode.

  2. Go back to Settings → Connectors and click Create (or Add custom connector).

  3. Fill in a name (e.g. Tracelink), and set the MCP Server URL to https://tracelink.dk/api/mcp.

  4. Under Authentication, choose the API key / custom header option, set the header name to x-access-token, and enter your API key as the value.

  5. Save, then enable the Tracelink connector in a chat via the + → More → Connectors menu (or in Deep Research) to make its tools available.

Availability of custom connectors and the exact menu wording depends on your ChatGPT plan (Plus/Pro/Team/Enterprise) and may change over time.

Related MCP server: claude-for-abap

Local stdio server (deprecated)

⚠️ This local server is no longer actively developed and will be removed at a later point. Use the hosted HTTPS server above instead.

Installation

npm install

Configuration in Claude Desktop

Add the following to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "tracelink": {
      "command": "node",
      "args": ["/full/path/to/tracelink-mcp/index.js"],
      "env": {
        "TRACELINK_TOKEN": "your-api-token-here"
      }
    }
  }
}

Restart Claude Desktop — the server starts automatically.

Configuration in VS Code (GitHub Copilot)

Requires VS Code 1.99+ and GitHub Copilot with Agent mode enabled.

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "tracelink": {
      "type": "stdio",
      "command": "node",
      "args": ["/full/path/to/tracelink-mcp/index.js"],
      "env": {
        "TRACELINK_TOKEN": "your-api-token-here"
      }
    }
  }
}

Tools are then available in Copilot Chat when Agent mode is active.

Available tools (stdio server)

The hosted HTTPS server exposes a broader tool set (including document upload, tags, relations, and schema introspection); the table below lists only what the local stdio server supports.

Tool

Description

get_company

Company master data

list_departments

Departments

get_current_user

Current authenticated user

list_users

All users

list_user_groups

User groups

list_orders

Orders with filter/sort/paging

get_order

Specific order

create_order

Create order

update_order

Update order

delete_order

Delete order

list_suborders

Suborders

get_suborder

Specific suborder

create_suborder

Create suborder

list_objects

Objects from a module (purchase, genobj, customer, ...)

get_object

Specific object

create_object

Create object

update_object

Update object

list_order_module

Time registrations / tasks on an order

add_order_module

Add time registration / task

list_journal

Journal/chat messages on an object

add_journal

Add message or event to journal

list_relations

Relations between modules

Available Tools

22 tools
add_journalB

Tilføjer en journal besked eller hændelse til et objekt i et modul

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn, f.eks. 'bait', 'crm', 'genobj'
item_idYesID på objektet der skal tilføjes journal til
typeYes'text' for besked, 'event' for hændelse med ikon
logYesBeskedtekst (type=text) eller kort hændelsestekst (type=event)
iconNoFontello ikon-navn, f.eks. 'icon-play', 'icon-pause' (kun ved type=event)
colorNoHex farve på ikon, f.eks. '#3AA64C' (kun ved type=event)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states the action without revealing side effects, permissions, or whether it appends or overwrites. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single concise sentence, but it is in Danish and not front-loaded for an English-speaking agent. It is efficient but could benefit from additional context.

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 6 parameters and no output schema, the description is minimal. It lacks details on return values, error conditions, and the overall effect on the system, making it incomplete.

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 all parameters are described in the schema. The description adds no extra 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.

Purpose5/5

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

The description clearly states the verb 'Tilføjer' (adds) and the resource 'journal besked eller hændelse' (journal message or event) to a target 'objekt i et modul'. It is specific and distinguishes the tool from siblings like list_journal.

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 update_object or create_object. No conditions or exclusions are mentioned.

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

add_order_moduleC

Tilføjer en registrering til et ordre-modul, f.eks. tidsregistrering

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn: timereg eller task
dataYesData inkl. order_id og relevante felter

TDQS

C2.9/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. It only states the action (adding a registration) without disclosing side effects, permissions, or whether the operation is idempotent. This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the core functionality.

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 no output schema, no annotations, and a nested object parameter, the description is too brief. It does not explain expected return values, error handling, or the behavior of the 'module' enum. More detail is needed for completeness.

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

Parameters3/5

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

The schema already covers both parameters with descriptions (module enum and data object). The description adds a concrete example ('time registration'), providing extra context despite the schema having 100% coverage. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states that the tool adds a registration to an order module, with a specific example (time registration). It uses a verb+resource pattern and is distinct from siblings like 'add_journal' due to the focus on order modules.

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 'create_object' or 'update_order'. The description lacks context about prerequisites or typical use cases.

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

create_objectC

Opretter et nyt objekt i et modul (f.eks. en indkøbsordre, kunde, leverandør)

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn
dataYesFeltværdier for objektet

TDQS

C2.9/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 on side effects, permissions, error handling, or whether the operation is idempotent. It simply states it creates, which is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single sentence, efficient and to the point. No extra words, but could be slightly more informative without losing conciseness.

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 complexity (nested data object, 10 module options, no output schema), the description is too sparse. It does not explain what the tool returns, how to construct the data object, or what specific modules entail.

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 baseline is 3. The description repeats the schema's 'field values for the object' without adding new meaning. It does not explain the enum values for module.

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 creates a new object in a module, with examples (purchase order, customer, supplier). It differentiates from sibling tools like 'create_order' by being more general.

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 like create_order. The description does not specify scenarios or prerequisites.

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

create_orderC

Opretter en ny ordre i Tracelink

ParametersJSON Schema
NameRequiredDescriptionDefault
numberNoOrdrenummer
nameYesOrdrenavn
descriptionNoBeskrivelse
deadline_dateNoDeadline dato, format: 'YYYY-MM-DD HH:MM:SS'
metadata_1No
metadata_2No
metadata_3No
metadata_4No
metadata_5No

TDQS

C2.2/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, yet it fails to disclose any behavioral traits like return values, side effects, or required permissions.

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?

It is a single short sentence, but it is under-specified and does not earn its place by providing adequate 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?

Despite 9 parameters and 5 metadata fields without descriptions, the description offers no help, and there is no output schema or usage context.

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 description adds no parameter information beyond the schema, which already has low coverage (44%).

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 creates a new order in Tracelink, but does not differentiate from sibling tools like create_object or create_suborder.

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, such as when to create a suborder instead.

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

create_suborderB

Opretter en underordre på en eksisterende ordre

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesOverordnet ordre ID
numberNoUnderordre nummer
nameYesNavn på underordren
descriptionNo

TDQS

B3.1/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, but it only states the basic action. It does not mention side effects, required permissions, error conditions, or the nature of the operation (e.g., whether it is immediate or asynchronous). For a mutation tool, this is insufficient.

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

Conciseness4/5

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

The description is a single, concise sentence with no unnecessary words. It is front-loaded with the core purpose. However, it could be slightly expanded to include essential behavioral or usage information without losing conciseness.

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, the description is too terse. It does not explain what happens upon success (e.g., returns a suborder object?), what prerequisites are needed (e.g., existence of parent order), or error scenarios. For a creation tool, this leaves significant gaps for the agent.

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 75%, so the schema already explains most parameters. The description adds no extra meaning beyond the schema. It does not clarify parameter relationships, valid formats (e.g., for 'number'), or constraints (e.g., uniqueness).

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 'Opretter en underordre på en eksisterende ordre' clearly identifies the action (create suborder), the resource (underordre/suborder), and the constraint (on an existing order). It effectively distinguishes from sibling tools like create_order, which creates a main order, and other suborder-related tools.

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, no prerequisites (e.g., existence of parent order), and no conditions for appropriate usage. It is purely declarative without contextual advice.

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

delete_orderB

Sletter en ordre permanent

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesOrdre ID der skal slettes

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 must carry the full burden. It mentions 'permanent' which hints at irreversibility, but fails to disclose other behavioral traits such as authorization requirements, cascading effects on related data, or whether the operation can be undone. This is a significant gap for a mutation tool.

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

Conciseness3/5

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

The description is very short (one sentence), which is concise, but it is written in Danish while the tool name is English. This language inconsistency may cause confusion for non-Danish-speaking agents. The structure is front-loaded but lacks clarity for a multilingual audience.

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 there is no output schema, the description should explain what the tool returns (e.g., success status, deleted entity). It does not. As a mutation tool with one parameter, it is minimal but incomplete for an agent to fully understand the tool's behavior.

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% description coverage for its single parameter. The description adds no meaningful information beyond what the schema already provides ('Ordre ID der skal slettes'). With full schema coverage, a 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 'Sletter en ordre permanent' clearly states the action (delete) and the resource (order), with 'permanent' indicating irreversibility. This sufficiently distinguishes it from sibling tools like 'get_order', 'create_order', and 'update_order'.

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 provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. However, the tool name and description imply it is for deletions, and the context of sibling tools (e.g., 'create_order', 'update_order') provides some implicit differentiation.

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

get_companyB

Henter Tracelink virksomhedens stamdata

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must disclose behaviors. It implies a read operation ('Henter' = retrieves), but does not mention aspects like authentication, rate limits, or any side effects. For a parameterless getter, this is minimally acceptable but lacks depth.

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 tool's purpose. However, it lacks any structured elements like examples or notes, which would be beneficial for clarity.

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 simplicity of the tool (no parameters, no output schema), the description is reasonably complete. It conveys the core function, though additional details about the returned data structure would improve completeness.

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 input schema has zero parameters, so the baseline score is 4. No additional parameter information is needed, as there are no parameters to describe.

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 that the tool retrieves company master data using a specific verb ('Henter' meaning retrieves) and resource ('Tracelink virksomhedens stamdata'). It distinguishes from sibling tools like get_current_user or get_object, though the exact scope of 'stamdata' could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The tool has no parameters, but the description does not clarify that it is safe for initial data retrieval or if there are any prerequisites.

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

get_current_userA

Henter den aktuelt autentificerede bruger

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, but description does not disclose behavioral traits beyond the basic action (e.g., no mention of read-only nature, authentication requirements, or response format).

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 short sentence, no waste, appropriately front-loaded with key information.

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 no output schema, description could specify what the return object typically contains (e.g., user id, name, email) but only states 'gets user'.

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?

No parameters in schema (100% coverage, 0 params), so baseline is 4; description adds no parameter info but none is needed.

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

Purpose5/5

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

Description clearly states verb 'Henter' (gets) and resource 'aktuelt autentificerede bruger' (currently authenticated user), distinguishing it from sibling tools like 'list_users' which list all users.

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 or exclusions provided.

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

get_objectB

Henter et specifikt objekt fra et modul

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn
object_idYesObjekt ID

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates a read operation ('henter'), but lacks details on error handling, permissions, or side effects. Adequate for a simple read tool but not thorough.

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, concise and front-loaded. Every word is necessary and descriptive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and description does not explain what is returned. For a simple get tool, agents may infer, but completeness is lacking given minimal context.

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 covers 100% of parameters with descriptions. The description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool retrieves a specific object from a module, using the verb 'henter' and resource 'specifikt objekt fra et modul'. It distinguishes from sibling list tools like list_objects and other get tools like get_order.

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 such as get_company, get_order, or list_objects. No when-not or usage context provided.

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

get_orderA

Henter en specifik ordre med alle detaljer

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesOrdre ID

TDQS

A3.5/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 states 'all details' without specifying behavior like error handling, prerequisites, or side effects, leaving the agent guessing.

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

Conciseness5/5

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

A single, clear sentence with no wasted words; appropriately concise for a simple get operation.

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 low complexity (1 param, no output schema), the description is minimal but adequate; however, it doesn't explain return format or error conditions, which could help the agent.

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 is 3. The description adds no extra meaning beyond the schema parameter 'order_id', which is already documented.

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 (Henter/get) and resource (specifik ordre/specific order) with scope (alle detaljer/all details), distinguishing it from sibling tools like list_orders or create_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives are mentioned, but the purpose of retrieving a single order is implied; lacks exclusions or context for when not to use.

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

get_suborderB

Henter en specifik underordre

ParametersJSON Schema
NameRequiredDescriptionDefault
order_sub_idYesUnderordre ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description only states retrieval without disclosing potential errors, authentication needs, or read-only nature. Leaves behavioral assumptions to agent.

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 redundancy. Every word carries meaning, fitting conciseness ideal.

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?

Tool is simple with one parameter and no output schema. Description covers basic purpose but omits return value details. Adequate but not enriched.

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 covers parameter fully with description 'Underordre ID'. Description adds no extra meaning beyond schema, achieving baseline for 100% coverage.

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

Purpose5/5

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

Description uses specific verb 'Henter' (retrieves) and clearly identifies resource 'specifik underordre' (specific suborder), distinguishing from siblings like list_suborders and get_order.

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 like list_suborders or get_order. Lacks prerequisites or context for use.

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

list_departmentsA

Henter liste over afdelinger i virksomheden

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or potential side effects. For a tool without annotations, the description should compensate but it only states the action.

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

Conciseness5/5

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

A single, concise sentence conveys the purpose without any waste. The structure is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and a simple function, the description is complete enough. It adequately explains what the tool does, and no additional information is needed for this use case.

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, and the schema coverage is 100%. Per the guidelines, a baseline of 4 is appropriate since the description adds no parameter details but the lack of parameters makes further elaboration unnecessary.

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 tool retrieves a list of departments, with a specific verb ('Henter liste') and resource ('afdelinger'). It is easily distinguished from sibling tools which deal with orders, objects, users, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. However, since it is the only department-listing tool, the need for such guidance is minimal. The score reflects the absence of explicit usage context.

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

list_journalA

Henter journal/chat beskeder for et specifikt objekt i et modul

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn, f.eks. 'bait', 'crm', 'genobj'
item_idYesID på objektet hvis journal skal hentes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It implies a read operation ('Henter') but does not explicitly state it is non-destructive or disclose any behavioral traits like permissions or rate limits. Adequate but not explicit.

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 front-loading the verb and resource. Efficient and to the point with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool without output schema, the description provides basic purpose but lacks information on pagination, error conditions, or return format. Moderately complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds minimal extra meaning beyond mapping 'specifikt objekt' to item_id and 'modul' to module. Baseline 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?

Description clearly states the tool retrieves journal/chat messages for a specific object in a module. Uses a specific verb ('Henter') and resource ('journal/chat beskeder'), distinguishing it from sibling tools like add_journal.

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 such as list_objects or add_journal. The description lacks context about prerequisites or typical use cases.

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

list_objectsB

Henter objekter fra et Tracelink modul. Tilgængelige moduler: purchase, genobj, customer, supplier, crm, docs, batch_genobj, stockloc, ticket, bait

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn
filterNoFilterfelt, f.eks. { locked: '=0', name: 'Stål' }
filter_orNoBrug OR i stedet for AND på filter
sortNoSorteringsfelt(er)
reverseNoOmvendt sortering
limitNoMax antal rækker (max 1000)
pageNoSidenummer, 0-indekseret

TDQS

B3.1/5.0
Behavior3/5

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

No annotations provided. Description is minimal but implies a read operation ('Henter'). Does not disclose additional behavioral traits like pagination behavior or limits beyond what is in the schema.

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

Conciseness4/5

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

Very concise, one sentence with a list of modules. However, the list could be formatted as a bullet for better readability.

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?

Lacks description of output format (e.g., returns an array of objects). With no output schema and no guidance on siblings, the agent is left guessing about return value and when to use this 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 description coverage is 100%, so description adds no new parameter information beyond the schema. The tool description simply repeats the module list already present as an enum.

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

Purpose4/5

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

Description clearly states it retrieves objects from a Tracelink module and lists available modules, but does not differentiate from sibling list tools like list_orders or list_users, which have more specific purposes.

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 vs alternatives. The description only lists modules without indicating that dedicated list tools exist for specific modules.

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

list_order_moduleC

Henter registreringer fra et ordre-modul, f.eks. tidsregistreringer eller opgaver

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn: timereg eller task
order_idNoFiltrér på specifik ordre ID

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 only says 'fetches records', omitting details about read-only nature, pagination, or side effects. This leaves agents guessing about safety and operation.

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

Conciseness4/5

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

A single sentence that is front-loaded with the key action 'Henter' (fetches). No wasted words, but could be slightly more structured (e.g., listing parameters explicitly).

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 2 parameters and no output schema, the description is too brief. It does not explain return format, optionality of order_id, or prerequisites. It is minimally adequate but leaves gaps for autonomous decision-making.

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 already covers both parameters with descriptions (100% coverage). The description adds context about the module parameter (time registrations, tasks) but does not enhance meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states it fetches records from an order module with specific examples (time registrations, tasks), distinguishing it from sibling tools like list_orders which list orders themselves. However, it could be more explicit about the exact resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The examples imply usage for sub-records of orders, but without clear when-to-use or when-not-to-use statements, an agent may confuse it with other list tools like list_objects or list_journal.

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

list_ordersA

Henter liste over ordrer. Brug ved spørgsmål om aktive ordrer, deadlines, status eller fremdrift.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoFilterfelt, f.eks. { locked: '=0', name: 'Stål' }
filter_orNoBrug OR i stedet for AND på filter
sortNoSorteringsfelt(er)
reverseNoOmvendt sortering
limitNoMax antal rækker (max 1000)
pageNoSidenummer, 0-indekseret

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like read-only nature, pagination behavior, or authentication needs. It only says 'retrieves list' without any such details, leaving significant 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?

Two sentences, front-loaded with the action, and no superfluous words. Every sentence earns 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?

No output schema exists, so the description should explain return values or pagination. It does not. With 6 parameters including a complex filter object, the description is too brief to be complete.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no parameter details beyond what the schema provides, but the schema already documents each parameter adequately.

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 'Henter' (retrieves) and resource 'liste over ordrer' (list of orders), and provides specific usage contexts like active orders, deadlines, status, or progress, distinguishing it from siblings like 'get_order'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises when to use the tool (questions about active orders, deadlines, status, progress), but does not mention when not to use it or explicitly name alternative sibling tools.

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

list_relationsC

Henter relationer mellem to moduler

ParametersJSON Schema
NameRequiredDescriptionDefault
from_moduleYesKilde-modul
to_moduleYesMål-modul
to_idYesID på mål-objektet

TDQS

C2.9/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 implies a read operation ('Henter') without detailing any other behavioral aspects like permissions, rate limits, or side effects. The tool's behavior beyond the basic action is opaque.

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, short sentence that efficiently communicates the tool's purpose without any filler. It is front-loaded and every word contributes value.

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 an output schema and the tool's listing nature, the description should explain what kind of relations are returned (e.g., IDs, names, types). It provides no such detail, leaving the agent uninformed about the response format.

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 already covers all three parameters with descriptions (Kilde-modul, Mål-modul, ID på mål-objektet) and enums. The description adds no additional meaning beyond summarizing the operation, so it meets the baseline for 100% schema 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 states 'Henter relationer mellem to moduler' (Get relations between two modules), which clearly identifies the tool's action and resource. It distinguishes from sibling list tools like list_objects or list_orders by focusing on inter-module relations.

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. No context about prerequisites, typical use cases, or when not to use it is mentioned.

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

list_subordersC

Henter liste over underordrer

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoFilterfelt, f.eks. { locked: '=0', name: 'Stål' }
filter_orNoBrug OR i stedet for AND på filter
sortNoSorteringsfelt(er)
reverseNoOmvendt sortering
limitNoMax antal rækker (max 1000)
pageNoSidenummer, 0-indekseret

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It does not mention that this is a read-only operation, nor does it explain pagination, filtering behavior, or any side effects. The description adds minimal value beyond 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.

Conciseness4/5

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

The description is a single, concise sentence that conveys the core purpose efficiently. However, it is so brief that it may be under-specified, but it earns points for lack of verbose redundancy.

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 list tool with 6 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain what the list contains, how pagination works, or how the parameters like filter, sort, and limit interact. The description is too sparse for an agent to fully understand the tool's behavior.

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% for all 6 parameters, so the baseline is 3. The description does not add any additional meaning to the parameters beyond what the schema already documents. It simply repeats the list concept without elaborating on usage.

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 'Henter liste over underordrer' clearly states the action (retrieve list) and the resource (suborders). It is specific and uses a verb+resource structure, but does not differentiate from sibling tools like list_orders or get_suborder, which handle similar entities.

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. For instance, there is no indication of when to prefer list_suborders over list_orders or get_suborder. The description lacks any contextual cues for selection.

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

list_user_groupsB

Henter liste over brugergrupper

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. It only states that the tool lists user groups, with no disclosure of whether it is read-only, whether pagination or sorting is supported, or what the response contains.

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 concise and front-loaded with the core action. Every word is necessary and no extraneous information is included.

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 parameterless list tool, the description is minimal but adequately conveys the basic purpose. However, it lacks details about output structure, read-only nature, and potential limits, which would be helpful for an agent.

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 no parameters, so schema coverage is 100%. The description adds no parameter information, but none is needed. Baseline score of 4 is appropriate as the schema already conveys everything about the input.

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

Purpose4/5

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

The description clearly states the action 'Henter liste' (get list) and the resource 'brugergrupper' (user groups), making the purpose explicit. However, it does not distinguish from sibling list tools like list_users or list_departments, which also return lists of entities.

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 guidelines are provided. The description does not indicate when to use this tool versus alternative list tools (e.g., list_users), nor does it specify any prerequisites or context.

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

list_usersB

Henter liste over alle brugere i systemet

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'gets list of all users' with no disclosure of behavior such as pagination, permissions, rate limits, or whether it returns active/inactive users. The minimal description does not add behavioral context beyond the obvious.

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

Conciseness5/5

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

The description is one short sentence, approximately 5 words. It is maximally concise and contains no unnecessary information. 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?

Given the tool's simplicity (no parameters, no output schema), the description is minimally adequate. However, it could be more complete by noting, for example, that it returns all users without pagination or that it includes certain default fields. As it stands, it is functional but leaves room for ambiguity.

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

Parameters3/5

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

The tool has no parameters and the schema coverage is 100% (no params to describe). According to guidelines, high schema coverage yields a baseline of 3 even without parameter info in the description. The description does not add parameter semantics because none exist.

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 explicitly states 'Henter liste over alle brugere i systemet' (Gets a list of all users in the system). It clearly identifies the verb (hente) and resource (brugere), and distinguishes from sibling tools like list_departments or list_orders which deal with different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, filters, or context-specific use cases. With no parameters, the usage is straightforward, but there is no explicit direction.

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

update_objectB

Opdaterer et objekt i et modul

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYesModulnavn
dataYesFeltværdier inkl. ID-felt

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose mutation behavior such as whether it overwrites, merges, or requires permissions. Critical gaps for a write operation.

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, but it sacrifices necessary detail for brevity. Not appropriately sized given the tool's complexity.

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 output schema, nested data object, and mutation semantics, the description is insufficient for an agent to safely and correctly invoke the 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 covers 100% of parameters with descriptions and enums, so the description adds no extra semantic value. Baseline score 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 'opdaterer' (updates) and the resource 'objekt i et modul' (object in a module), distinguishing it from siblings like create_object or get_object.

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 like update_order. No mention of prerequisites or exclusions.

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

update_orderC

Opdaterer en eksisterende ordre

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesOrdre ID
nameNoNyt navn
descriptionNoNy beskrivelse
deadline_dateNoNy deadline, format: 'YYYY-MM-DD HH:MM:SS'
metadata_1No
metadata_2No
metadata_3No
metadata_4No
metadata_5No

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are present, so the description must fully disclose behavior. It only says 'updates an existing order' without specifying whether it performs a partial update, what fields are affected, or any side effects. 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.

Conciseness2/5

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

The description is extremely short (one phrase), but it is under-specified rather than concise. It fails to provide essential information, making it inadequate rather than efficient.

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 9 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain parameter usage, return values, or constraints. The tool cannot be used safely based solely on this 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 coverage is only 44% (4 of 9 parameters lack descriptions), and the description adds no additional meaning beyond the schema. The metadata fields are completely undocumented. The description does not compensate for the low 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 'Updates an existing order' clearly states the verb and resource. However, it does not differentiate from sibling tools like 'update_object' or 'create_order'. The purpose is clear but lacks distinctiveness.

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. There is no mention of prerequisites, when not to use it, or any trade-offs. The description is entirely silent on usage context.

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. 22 tool updatesv1.0.0
    • First observedadd_journal
    • First observedadd_order_module
    • First observedcreate_object
    • First observedcreate_order
    • First observedcreate_suborder
    • First observeddelete_order
    • First observedget_company
    • First observedget_current_user
    • First observedget_object
    • First observedget_order
    • First observedget_suborder
    • First observedlist_departments
    • First observedlist_journal
    • First observedlist_objects
    • First observedlist_order_module
    • First observedlist_orders
    • First observedlist_relations
    • First observedlist_suborders
    • First observedlist_user_groups
    • First observedlist_users
    • First observedupdate_object
    • First observedupdate_order

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct entity and action (e.g., create_object vs. create_order, list_objects vs. list_orders). Descriptions clearly differentiate overlapping concepts like orders and suborders, leaving no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., add_journal, create_object, list_orders). No mixing of conventions or irregular naming.

Tool Count5/5

With 22 tools covering objects, orders, suborders, users, departments, journals, and relations, the count is well-scoped for an enterprise system. Each tool serves a necessary purpose without redundancy.

Completeness2/5

Significant gaps exist: no delete_object, no update/delete for suborders, and many entities (companies, users, departments) only have list/get tools with no create/update/delete. This will cause agent failures in full lifecycle operations.

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
    A
    maintenance
    MCP server giving Claude (and any MCP-compatible client) live access to SAP systems via ADT for reading, searching, editing, and activating ABAP objects.
    205
    14
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that integrates with Microsoft Dynamics 365 Business Central, enabling querying of customers, items, and sales orders through natural language commands in Claude Desktop.
    10
    -
  • F
    license
    A
    quality
    C
    maintenance
    MCP server for the ONE Framework ERP that enables Claude to explore data models, run queries, and understand business logic through autonomous access.
    10
    -

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/Tracelink-Devops/mcp-server'

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