Skip to main content
Glama
sebastiankoukoui

open-mcp-cad

get_pending_messages

Retrieve new messages from Cadwork's mailbox, each with the active element IDs and facets for context, enabling instructions like 'stretch this face by 15mm' to be executed. Marks them as read to avoid duplication.

Instructions

Holt Nachrichten ab, die der Nutzer in Cadwork in den Briefkasten gelegt hat.

Der Briefkasten im Fenster „Open MCP CAD" ist bewusst kein Chat: Es gibt keinen Weg, dich von aussen anzustupsen. Die Nachricht liegt dort, bis DU sie hier abholst. Deshalb:

Während einer Zeichensitzung regelmässig aufrufen — etwa zwischen zwei Batches. Sonst wartet eine Korrektur unbemerkt, während weiter in die falsche Richtung gebaut wird.

Jede Nachricht bringt den Modell-Kontext mit, den sie beim Absenden hatte: die in Cadwork aktiven Element-IDs samt Name, Gruppe und Abmessungen, bei wenigen Elementen zusätzlich deren Facetten. Damit sind Anweisungen wie „strecke diese Facette um 15 mm" auflösbar.

Abgeholte Nachrichten werden als gelesen markiert, damit dieselbe Anweisung nicht zweimal umgesetzt wird.

Args: alle: True liefert auch schon Gelesenes und ändert nichts am Zustand (zum Nachschlagen, was vorhin gewünscht war).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals a critical side effect: 'Abgeholte Nachrichten werden als gelesen markiert, damit dieselbe Anweisung nicht zweimal umgesetzt wird.' It also discloses that the `alle` parameter avoids altering state, and it describes the message payload (element IDs, names, groups, dimensions, facets). It does not mention potential rate limits or failure behavior, but for a simple polling tool the disclosed traits are substantial.

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 somewhat long but well-structured: purpose, usage context, message content, side effect, then parameter explanation. Each paragraph earns its place by providing context necessary for correct invocation. The only minor redundancy is the conversational explanation of the mailbox model, but it reinforces the polling behavior. Slightly trimmed would be tighter, but it remains focused.

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?

For a one-parameter tool with no output schema, the description is complete. It explains what the messages contain, when to call the tool, that calls consume messages, and how the `alle` flag changes behavior. An agent has everything needed to decide when and how to use this tool, and the description effectively stands in for missing schema and annotation details.

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

Parameters5/5

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

The schema provides only a bare boolean `alle` with a default of false, and schema description coverage is 0%. The description compensates fully by explaining the exact semantics: 'True liefert auch schon Gelesenes und ändert nichts am Zustand (zum Nachschlagen, was vorhin gewünscht war).' This adds meaningful meaning beyond the schema, clarifying both the retrieval behavior and the side effect difference.

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 opens with a specific verb and resource: 'Holt Nachrichten ab, die der Nutzer in Cadwork in den Briefkasten gelegt hat.' It clearly identifies the tool as a message-retrieval endpoint and distinguishes it from a chat by explaining the mailbox model. This makes its purpose unambiguous and easily differentiated from siblings like report_check_note or get_detail.

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

Usage Guidelines5/5

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

The description gives explicit guidance on when to call the tool: 'Während einer Zeichensitzung regelmässig aufrufen — etwa zwischen zwei Batches.' It also explains why regular polling is necessary ('Sonst wartet eine Korrektur unbemerkt') and clarifies that there is no external push mechanism. Since no sibling provides equivalent functionality, explicit alternatives are unnecessary; the guidance fully covers usage context.

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