SAP Digital Manufacturing (DMC) MCP Server
Integrates with SAP Digital Manufacturing (DMC) API to enable AI-powered manufacturing operations analysis, automated report generation, and delivery to MS Teams.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SAP Digital Manufacturing (DMC) MCP Servershow me the latest orders for VIJ_01"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SAP Digital Manufacturing (DMC) MCP Server
A Multi-Protocol Model Context Protocol (MCP) server for SAP Digital Manufacturing (DMC) to enable AI-powered manufacturing operations analysis, automated report generation, and direct delivery to MS Teams via a webhook.
Features
Multi-Protocol Support: Implements REST, OData V2, and OData V4 client layers.
Dynamic Extractor Column Discovery: Auto-detects schemas for all 53 OData V4 extractor entities.
10 Specialized MCP Tools: Registered query tools for orders, labor_schedules, sfcs, workcenters, resources, materials, boms, downtimes, order_schedules, and production_events (with pagination).
Automated MS Teams Reports: Triggers high-quality, print-ready HTML/Markdown report generation and pushes payloads directly to a Microsoft Teams webhook via Power Automate.
Auto Timezone Conversion: Converts all UTC timestamps to India Standard Time (IST, UTC+5:30) for easy operations tracking.
Related MCP server: SAP OData to MCP Server
Getting Started
Prerequisites
Node.js (v18 or higher)
Claude Desktop (or another MCP-compliant client)
Setup & Installation
Clone this repository to your local machine.
Configure Environment Variables:
Copy
.env.exampleto a new file named.env.Update the configuration values with your SAP BTP credentials:
DMC_API_ENDPOINT=https://<your-tenant>.dmc.cloud.sap DMC_TOKEN_URL=https://<your-auth-url>/oauth/token DMC_CLIENT_ID=<your-client-id> DMC_CLIENT_SECRET=<your-client-secret> DMC_PLANT=VIJ_01
Register with Claude Desktop: Run the automatic installer script from the root folder:
node install.jsThis will install dependencies, compile the TypeScript code, and register the server config inside Claude Desktop's configuration file.
Restart Claude Desktop:
Completely quit Claude Desktop from the system tray (right-click the Claude icon -> Quit).
Reopen Claude Desktop.
The MCP tools are now available for use!
Available Tools
19 toolsget_custom_mdo_recordsB
Retrieve records for a Managed Data Object (MDO) in SAP DMC via OData v4 with optional OData query parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Limit the number of returned records ($top). Defaults to 100. | |
| skip | No | Skip the first N records ($skip). Defaults to 0. | |
| filter | No | Full OData v4 filter string, e.g., "plant eq 'VIJ_01' and status eq 'ACTIVE'" | |
| select | No | Comma-separated list of properties to select, e.g., "toolId,status,location" | |
| mdoName | Yes | Name of the Managed Data Object (entity set), e.g. ToolList | |
| orderby | No | Property sort order, e.g., "toolId desc" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits such as pagination defaults (though parameters hint at it), rate limits, or authentication. Only states it retrieves records via OData.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundancy. Every part contributes to purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple read operation with OData query support. Lacks examples, return format, or error handling, but covers core functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all six parameters. Description adds overall OData context but no additional meaning per parameter beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies the action (retrieve records) and resource (Managed Data Object in SAP DMC) with OData v4. The name and description imply it's for custom MDOs, but does not explicitly differentiate from sibling query tools, which are more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 siblings like query_dmc_boms or query_dmc_orders. Missing context about prerequisites or excluded cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extractor_fieldsA
Get the exact case-sensitive column/field names for any of the 53 OData v4 extractor entities (e.g. ORDER, LABOR_SCHEDULE, SFC, PLANT) so you can construct valid query filters.
| Name | Required | Description | Default |
|---|---|---|---|
| extractorName | Yes | The name of the extractor entity, e.g. ORDER, LABOR_SCHEDULE, SFC, PLANT, WORKCENTER, BOM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description indicates a read-only operation (get) without side effects. However, it does not disclose any limitations, authentication requirements, or response characteristics beyond field names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence that effectively conveys purpose and context. No extraneous information, though a bit more structure (e.g., bullet points) could improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not explain the return format (e.g., array of strings, object). While adequate for a simple metadata tool, agents might need more detail on what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one required parameter. The description adds value by noting case-sensitivity and listing example entity names, which the schema only partially illustrates. Goes beyond the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves case-sensitive column/field names for 53 OData v4 extractor entities, with examples. It differentiates from sibling tools like query_dmc_extractor by being a metadata helper.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for constructing valid query filters, but does not explicitly state when to use this tool vs alternatives (e.g., when field names are unknown) or when not to use it. Lacks clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_legacy_inventoryA
Get inventory details from legacy SAP ERP via OData v2. Queries with standard OData filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| plant | Yes | Plant code, e.g. P001 | |
| material | No | Material number to filter by | |
| storageLocation | No | Storage location code |
TDQS
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 states OData v2 and filtering but does not explicitly disclose whether the operation is read-only, any authentication or rate limits, or potential side effects. The word "Get" implies read but is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded with essential purpose and method. No superfluous words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (3 params, 1 required) and no output schema. The description does not indicate return structure (list vs. single) or pagination behavior, which is necessary for an agent to fully understand the tool's usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so baseline is 3. The description adds no additional meaning beyond what the schema already provides (e.g., "standard OData filtering" is generic and not param-specific).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb "Get" and the resource "inventory details" from "legacy SAP ERP via OData v2", making the tool's purpose specific and distinct from siblings like query_dmc_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage with "Queries with standard OData filtering" but provides no explicit guidance on when to use this tool versus alternatives (e.g., other inventory tools) or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_detailsB
Get full details of a specific production order by order number.
| Name | Required | Description | Default |
|---|---|---|---|
| order | Yes | Order number/ID | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only mentions 'Get full details', which implies a read operation, but does not explicitly state read-only behavior, authentication requirements, rate limits, or any side effects. The description is insufficient for an agent to understand the tool's safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the tool's purpose. It is front-loaded with the action and resource, and contains no redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple retrieval with two well-documented parameters and no output schema, the description is minimally adequate. However, it lacks any indication of what the full details include, pagination, or return structure. For a production order tool, additional context about the data returned would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already describes both parameters ('order' and 'plant') with their types and constraints. The description adds no additional semantics beyond confirming the tool uses an order number. The baseline of 3 is appropriate as the schema carries most of the information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get full details'), the resource ('production order'), and the identifier ('by order number'). It distinguishes from sibling tools like 'get_production_orders' which is likely a list. However, 'full details' is vague, lacking specifics on what fields are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'query_dmc_orders'. There is no mention of prerequisites, context, or scenarios where this tool is preferred. The description only states what it does, not when or why to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_production_ordersB
Get production orders from SAP DMC. Supports filtering, sorting by date, and limiting results (e.g., to find the most recent orders or a specific time range).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Limit the number of returned records (useful for getting the most recent N orders) | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| status | No | Filter by order status | |
| orderBy | No | Field to sort by, e.g. "LAST_UPDATED_AT desc" to get the most recent orders first | |
| material | No | Filter by material number | |
| updatedSince | No | Filter for orders updated since this timestamp (ISO 8601, e.g. 2026-05-20T00:00:00Z) | |
| updatedBefore | No | Filter for orders updated before this timestamp (ISO 8601, e.g. 2026-05-22T23:59:59Z) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It describes a read operation ('Get') with filtering capabilities, which implies safety. However, it does not disclose return format, pagination, or any potential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with a parenthetical example. Every word is purposeful, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 7 parameters and no output schema, the description does not explain what a production order is, what data is returned, or any relevant constraints (e.g., plant default). It leaves the agent without sufficient context for effective usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already described in the input schema. The description adds a usage example ('most recent orders') but does not significantly augment the parameter meanings beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get production orders from SAP DMC' with specific verb and resource. It differentiates the tool's purpose from siblings by specifying the source system, but does not explicitly contrast with sibling tools like query_dmc_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. The description mentions filtering, sorting, and limiting capabilities but lacks context for when-not-to-use or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resourcesA
Get manufacturing resources / equipment in a plant.
| Name | Required | Description | Default |
|---|---|---|---|
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| status | No | Filter by resource status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. While 'Get' implies a read-only operation, the description does not explicitly confirm safety, side effects, or any behavioral traits. It is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. Every word is necessary, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 optional parameters, no output schema), the description is acceptable but minimal. It omits details like return format or pagination, which could be useful. Sibling tools are more explicitly described, so additional context would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters with 100% coverage. The description adds general context ('manufacturing resources / equipment') but does not enhance the meaning of individual parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves manufacturing resources/equipment in a plant. The verb 'Get' and specific resource type make the purpose unambiguous, and it is easily distinguished from sibling tools like get_resource_status which focus on status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like query_dmc_resources or get_resource_status. There is no mention of prerequisites, exclusions, 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.
get_resource_statusC
Get status and details of a specific resource.
| Name | Required | Description | Default |
|---|---|---|---|
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| resource | Yes | Resource ID/Name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It merely says 'Get status and details' but does not explain read-only nature, authentication needs, rate limits, or potential side effects. This leaves important gaps for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is easy to parse. However, it could be slightly expanded to add more value without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 only two parameters, the description is too sparse. It does not explain the return format, potential errors, or how the 'plant' parameter affects results. The agent is left to infer too much.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; it only restates 'resource' without explaining its role or the 'plant' parameter. The schema already describes both parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves status and details for a specific resource, indicating a read operation. However, it does not distinguish it from sibling tools like 'get_resources' or 'query_dmc_resources', which might serve similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'get_resources' or 'query_dmc_resources'. There is no context for prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_bomsA
Specialized tool to query Bill of Materials components (BOM_COMPONENT table) linking parents to assembly materials. REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| bom | No | Filter by parent BOM name | |
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine | |
| select | No | Comma-separated properties to return | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| material | No | Filter by component material number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of behavioral disclosure. It only states the tool queries a table; it does not disclose read-only nature, destructiveness, authentication needs, rate limits, pagination behavior, or output format. This is insufficient for an agent to understand 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences: one for purpose, one for required workflow. Every sentence is valuable and front-loaded. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high number of parameters (8), full schema coverage, no output schema, and no annotations, the description is minimally complete. It lacks behavioral notes and output description, but the parameter information is already in the schema. The workflow instruction adds some context, but overall the description could be more informative about the tool's behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all 8 parameters have descriptions in the JSON schema). The description adds no additional parameter semantics beyond the schema, meeting the baseline expectation. It does not enhance or clarify parameter usage beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'query Bill of Materials components (BOM_COMPONENT table) linking parents to assembly materials.' It specifies the resource and action, and while siblings exist, they query different entities (e.g., query_dmc_downtimes), so the name and description are sufficient to distinguish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'REQUIRED WORKFLOW' instructing the agent to compile findings into a report and invoke send_report_to_teams. This provides clear guidance on follow-up actions, but it does not give when-to-use or when-not-to-use guidance relative to alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_downtimesA
Specialized tool to query equipment/resource downtime events (DOWNTIME table) for OEE and utilization tracking. REQUIRED WORKFLOW: After fetching all records (paginating if needed) and analyzing/forecasting, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine (e.g. "DOWNTIME_START_DATE_TIME ge 2026-05-20T00:00:00Z") | |
| select | No | Comma-separated properties to return | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| resource | No | Filter by resource name/ID | |
| reasonCode | No | Filter by reason code identifier (REASON_CODE_ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavior. It mentions pagination for fetching all records but lacks details on side effects, authentication, rate limits, or error handling. This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states purpose, the second provides workflow. It is concise, though the all-caps 'REQUIRED WORKFLOW' is somewhat intrusive but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain return values. It provides context for OEE tracking and the required workflow, but omits other details like error handling or edge cases. Adequate for a query tool with well-documented parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; parameters are well-defined in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries equipment/resource downtime events for OEE tracking, using a specific verb ('query') and resource ('downtime events'), and distinguishes from sibling tools like query_dmc_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow instructions: after fetching records and analyzing, the agent must compile findings and invoke send_report_to_teams. This guides when to use the tool and what to do next, though it does not specify when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_extractorB
Query any extractor entity in SAP DMC via OData v4 Extractor. Returns paginated results (defaults to 100 records). REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Limit the number of returned records ($top). Defaults to 100. | |
| skip | No | Skip the first N records ($skip). Defaults to 0. | |
| expand | No | Expand related navigation properties ($expand) | |
| filter | No | OData filter expression, e.g., "PLANT eq 'VIJ_01' and LAST_UPDATED_AT ge 2026-05-20T00:00:00Z" | |
| select | No | Properties to select (comma-separated), e.g., "ID,PLANT,CATEGORY,USER_ID" | |
| orderby | No | Sort property and direction, e.g., "LAST_UPDATED_AT desc" | |
| extractorName | Yes | The name of the extractor entity (e.g., ORDER, LABOR_SCHEDULE, SFC, PLANT, WORKCENTER, BOM) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions pagination defaults but omits important behavioral details such as whether the operation is read-only, potential side effects, authentication requirements, or rate limits. This is insufficient for safe agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with purpose and pagination. However, the required workflow instruction adds length and could be separated. It is mostly concise and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description covers purpose, pagination, and a post-use workflow. It does not describe the return format or provide examples of how to use parameters like filter, which would aid completeness. The workflow partially compensates for missing output explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter descriptions in the schema are adequate. The tool description adds no additional meaning beyond what the schema already provides, only repeating the default for top. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries any extractor entity in SAP DMC using OData v4, with pagination. The verb 'query' and resource 'extractor entity' are specific. It distinguishes from sibling tools by being the generic version, while siblings target specific entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a required workflow: compile findings and call send_report_to_teams. This provides some context on when to use it and what to do after. However, it does not explicitly state when not to use it (e.g., prefer specific query tools for extractors like query_dmc_orders) or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_labor_schedulesB
Specialized tool to query labor schedules (LABOR_SCHEDULE table) for workforce planning, shifts, and supervisor tracking. REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine (e.g. "START_DATE ge '2026-05-20'") | |
| select | No | Comma-separated properties to return | |
| userId | No | Filter by user ID, e.g. "10005" | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| userShift | No | Filter by user shift code, e.g. "CUST_NIGHT" | |
| workcenter | No | Filter by workcenter name, e.g. "03_WC" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states it queries data, with no mention of read-only nature, side effects, rate limits, or authorization requirements, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences covering purpose and a critical workflow step. It is front-loaded and efficient, though the workflow instruction could be separated for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description lacks important context such as return format, pagination behavior, and data freshness. The workflow addition helps but does not compensate for missing behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already documented. The description does not add any additional parameter insights beyond the schema, meeting the baseline expectation of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries labor schedules for workforce planning, shifts, and tracking. It implicitly distinguishes from sibling tools by specifying the unique resource (LABOR_SCHEDULE), but does not explicitly contrast with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a required workflow instruction to compile findings and invoke send_report_to_teams, providing context for usage. However, it lacks guidance on when not to use the tool or how it compares to sibling tools like query_dmc_workcenters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_materialsA
Specialized tool to query material master definitions (MATERIAL table) for products, assemblies, and components. REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| type | No | Filter by material type, e.g. "MANUFACTURED", "PURCHASED" | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine | |
| select | No | Comma-separated properties to return | |
| status | No | Filter by status (e.g. CURRENT, DELETED) | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| material | No | Filter by material name/number, e.g. "01_SUB_ASSY_COMP" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description mentions the required post-query action (compile and send report) but lacks details on rate limits, data freshness, permissions, or side effects of the query itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise and front-loaded. The first sentence clearly states purpose; the second adds workflow context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and no annotations, the description is insufficient. It does not explain pagination, filtering behavior, or the structure of returned data beyond implying it's from the MATERIAL table.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameter meanings are already in the schema. The description adds no parameter-level details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries material master definitions (MATERIAL table) for products, assemblies, and components. It is specific and distinct from sibling tools like query_dmc_boms or query_dmc_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a required workflow (compile and send report) but does not explicitly guide when to use this tool vs. alternatives or when not to use it. No exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_ordersC
Specialized tool to retrieve production order master records (ORDER table) with simplified arguments and pagination. REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine (e.g. "CREATED_AT ge 2026-05-20T00:00:00Z") | |
| select | No | Comma-separated properties to return | |
| status | No | Filter by execution status (e.g. ACTIVE, COMPLETED, NEW, etc.) | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| material | No | Filter by product/material name, e.g. "01_SUB_ASSY_COMP" | |
| mfgOrder | No | Filter by Manufacturing Order ID, e.g. "120" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It says 'retrieve' implying read-only, but does not explicitly state that the tool has no side effects, whether destructive, or any other behavioral specifics like authentication needs or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence for the tool's purpose and a separate requirement statement. It is front-loaded and avoids unnecessary words, though the mandatory workflow could be separate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 minimal and incomplete. It does not explain return values, pagination behavior beyond top/skip, or how to interpret results. The required workflow is about post-processing, not the tool itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters adequately. The description adds no extra meaning beyond stating 'simplified arguments,' which is vague. Thus, no additional value beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves production order master records with simplified arguments and pagination. However, it does not explicitly differentiate it from siblings like get_production_orders or get_order_details, which have similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a mandatory workflow requiring report compilation and use of send_report_to_teams, but it does not provide guidance on when to use this tool versus alternatives or when not to use it. There is no explicit context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_order_schedulesA
Specialized tool to query production schedules and operational execution logs (ORDER_SCHEDULE table). REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine | |
| select | No | Comma-separated properties to return | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| mfgOrder | No | Filter by Manufacturing Order ID, e.g. "120" | |
| resource | No | Filter by executing resource | |
| workcenter | No | Filter by workcenter name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral traits such as side effects, rate limits, authorization requirements, or whether it is read-only, leaving the agent uninformed about safety and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with purpose, but the required workflow instruction adds some length; still efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description covers the tool's core function and mandatory workflow but lacks context on return format, pagination behavior, or comparison to similar query tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters have descriptions in the schema (100% coverage), so the description adds no extra detail about them; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states it queries production schedules and the ORDER_SCHEDULE table, distinguishing it from siblings like query_dmc_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a REQUIRED WORKFLOW mandating compilation of findings into a report and invocation of send_report_to_teams, offering clear post-use guidance, though it does not discuss when to use this tool over similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_resourcesA
Specialized tool to query individual production resources/equipment (RESOURCE table). REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine | |
| select | No | Comma-separated properties to return | |
| status | No | Filter by resource status (e.g. UP, DOWN, STANDBY) | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| resource | No | Filter by resource ID/name, e.g. "MACH-001" |
TDQS
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 says 'query', implying read-only, but does not explicitly state it is safe, nor does it mention pagination, rate limits, or permission requirements. Missing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose. The second sentence is slightly verbose but necessary for the workflow. Could be more concise, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema or annotations, the description is adequate but incomplete. It lacks details on return format, error handling, and pagination behavior. The workflow mandate adds context but does not fully address the tool's operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema; it only restates the table name. No parameter interactions or additional context are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'query individual production resources/equipment (RESOURCE table)', which is a specific verb+resource combination. It distinguishes from sibling tools like 'get_resources' and 'query_dmc_workcenters' by focusing on individual resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a required workflow: 'After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool'. This provides strong post-use context, though it does not explicitly contrast with alternatives like 'get_resources'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_sfc_production_eventsA
Specialized tool to query individual step executions and yield/scrap logs for SFCs (SFC_PRODUCTION_EVENTS table). REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| sfc | No | Filter by SFC ID, e.g. "SFC12345" | |
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine | |
| select | No | Comma-separated properties to return | |
| userId | No | Filter by operator User ID | |
| orderby | No | Sorting criteria. Defaults to "EVENT_OCCURRED_AT desc". | |
| eventType | No | Filter by event type, e.g. "START", "COMPLETE", "SCRAP" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states it queries data, missing details on read-only nature, authorization needs, rate limits, or side effects. The required workflow hint is insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no extraneous words. First sentence states purpose, second gives essential workflow instruction. Highly efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose and required follow-up. Lacks details on return format or pagination, but parameters (top, skip, orderby) and schema compensate. For a tool with 9 parameters and no output schema, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, each parameter has clear definition. The main description adds no extra meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it queries step executions and yield/scrap logs for SFCs, specifying the table name. It distinguishes from siblings which target other entities (e.g., orders, materials).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mandates a post-query workflow (compile report and invoke send_report_to_teams), guiding the agent on when to use it (to get SFC production events data) and the required follow-up. It does not explicitly exclude alternative uses but the sibling context clarifies scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_sfcsA
Specialized tool to query Shop Floor Control records (SFC table) representing individual production lots/units. REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| sfc | No | Filter by SFC ID/number, e.g. "SFC12345" | |
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine (e.g. "DONE_AT ge 2026-05-20T00:00:00Z") | |
| select | No | Comma-separated properties to return | |
| status | No | Filter by SFC status (e.g. IN_QUEUE, DONE, ACTIVE) | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| material | No | Filter by material name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It adds the required workflow of compiling a report and calling send_report_to_teams, which is useful behavioral context. However, it lacks details on read-only nature, pagination, rate limits, or authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence and a clear required workflow instruction. It is front-loaded with the tool's purpose, though the workflow addition could be integrated more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description is somewhat complete. It adds the required workflow but fails to explain return format, behavior of filters, or handling of default values, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add extra meaning beyond the schema's parameter descriptions; it merely restates filter criteria (e.g., 'Filter by SFC ID/number').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries Shop Floor Control records (SFC table) representing individual production lots/units. The verb 'query' and resource 'SFC records' are specific, and it distinguishes from sibling tools like query_dmc_boms or query_dmc_orders by focusing on SFC.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 phrase 'Specialized tool' implies focus on SFC records, but there is no when-not-to-use or comparison to siblings like get_production_orders or query_dmc_orders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dmc_workcentersA
Specialized tool to query manufacturing workcenters (WORKCENTER table) representing groups of resources/machines. REQUIRED WORKFLOW: After fetching and analyzing this data, you MUST compile the findings into a report and invoke the send_report_to_teams tool to save it locally and trigger the Teams webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of records to fetch. Defaults to 100. | |
| skip | No | Number of records to skip. Defaults to 0. | |
| plant | No | Plant code. Allowed values: "VIJ_01", "M205". Defaults to "VIJ_01". | |
| filter | No | Additional OData filter expression to combine | |
| select | No | Comma-separated properties to return | |
| status | No | Filter by status (e.g. ENABLED, DISABLED) | |
| orderby | No | Sorting criteria. Defaults to "LAST_UPDATED_AT desc". | |
| category | No | Filter by workcenter category | |
| workcenter | No | Filter by workcenter name, e.g. "05_WC" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as permissions, rate limits, or data handling. The only behavioral context is the workflow requirement, which is more of a usage guideline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states the purpose, second sentence adds a crucial workflow requirement. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a query tool with fully described parameters, but it does not explain return values, pagination, or output format. The workflow instruction adds context, but behavioral transparency is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all 9 parameters. The description adds no additional meaning beyond what the schema provides, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and description clearly state it queries manufacturing workcenters (WORKCENTER table) representing resource/machine groups. The sibling tools list includes other query tools with different targets, so it is well-distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mandates a required workflow to compile findings and invoke send_report_to_teams after fetching data. This provides clear context for when to use the tool and the subsequent action, though it lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_report_to_teamsA
Generate local Markdown and HTML reports in the reports/ directory and send them directly to Teams via a Power Automate webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The title/subject of the report, e.g. "Downtime analysis report for plant VIJ_01" | |
| content | Yes | The full markdown content of the report (including tables and ASCII charts) | |
| summary | Yes | A high-level KPI bullet point summary of the report | |
| webhookUrl | No | Power Automate webhook URL. Defaults to the configured team workflow. | |
| htmlContent | Yes | The fully styled HTML content of the report for beautiful rendering in Teams/PDFs |
TDQS
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 discloses local file generation and webhook-based sending. However, it does not mention error handling, overwrite behavior, or prerequisites like webhook configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 22 words, no wasted text. The sentence structure is clear and front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters (4 required) and no output schema, the description lacks details on return value, success/failure indicators, or fallback behavior. It is somewhat incomplete for a complex action with side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the parameter descriptions already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates local reports and sends them to Teams via webhook, using specific verbs ('generate' and 'send') and identifying the resource (reports, Teams). It is distinct from sibling tools, which are all query/get operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for sending reports, contrasting with sibling query tools. However, it does not explicitly state when to use or not use this tool, nor mention alternatives.
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.
19 tool updates
v1.0.0- First observed
get_custom_mdo_records - First observed
get_extractor_fields - First observed
get_legacy_inventory - First observed
get_order_details - First observed
get_production_orders - First observed
get_resource_status - First observed
get_resources - First observed
query_dmc_boms - First observed
query_dmc_downtimes - First observed
query_dmc_extractor - First observed
query_dmc_labor_schedules - First observed
query_dmc_materials - First observed
query_dmc_order_schedules - First observed
query_dmc_orders - First observed
query_dmc_resources - First observed
query_dmc_sfc_production_events - First observed
query_dmc_sfcs - First observed
query_dmc_workcenters - First observed
send_report_to_teams
TDQS
Scored across 19 tools
Most tools target distinct entities (boms, downtimes, materials, etc.) but there is potential confusion between 'get_production_orders', 'get_order_details', and 'query_dmc_orders' which all relate to orders but with different scopes. Similarly, 'get_resources' and 'query_dmc_resources' overlap partially. Overall, descriptions help disambiguate.
Tool names follow a clear pattern: 'get_' for direct fetches (e.g., get_order_details) and 'query_dmc_' for table queries (e.g., query_dmc_materials). The reporting tool 'send_report_to_teams' is distinct but consistent. All use snake_case.
With 19 tools, the set covers a broad manufacturing domain (orders, resources, BOMs, labor, SFCs, etc.) without being excessive. Each tool serves a specific purpose, and the count feels well-scoped for a comprehensive read-only server.
The tool surface provides thorough read access to manufacturing data (orders, resources, BOMs, downtime, labor, SFCs, workcenters) and includes reporting. The only notable gap is the lack of write/update/delete operations, but that aligns with the server's likely purpose as a query and reporting assistant.
Maintenance
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
Business Observability: process inventory, AP risk, sales temperature, savings. diezX customers only
Let AI agents query data and act across all your business apps via MCP.
AI-native Day 0 modernization platform for PRDs, architecture, work orders, and code transformation.
Governed retail, FMCG, and CPG operational tools: runs, cases, approvals, audit-ready execution.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTransforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing all OData services as dynamic MCP tools. Enables natural language interactions with ERP data for querying, creating, updating, and deleting business entities through SAP BTP integration.34131MIT
- AlicenseCqualityDmaintenanceTransforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing all OData services as dynamic MCP tools. Enables natural language interactions with ERP data including querying, creating, updating, and deleting entities through SAP BTP integration.19346MIT
- AlicenseNot gradedqualityDmaintenanceTransforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing OData services as dynamic MCP tools. Enables natural language interactions with ERP data for querying, creating, updating, and deleting business entities.341MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI-assisted planning inquiries by exposing PP/DS OData APIs as MCP tools for SAP S/4HANA, allowing natural language queries about planned orders, production orders, and work centers.-