kmprod-ai

v0.1.0 pre-1.0

Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.

public 14 tools protocol 2025-11-25
mcp.kmcore.net/mcp
{
  "mcpServers": {
    "kmprod-ai": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "http://mcp.kmcore.net/mcp"
      ]
    }
  }
}
{
  "mcpServers": {
    "kmprod-ai": {
      "type": "http",
      "url": "http://mcp.kmcore.net/mcp"
    }
  }
}
claude mcp add --transport http kmprod-ai http://mcp.kmcore.net/mcp
curl -X POST http://mcp.kmcore.net/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Tools

14

read 13

ping_tenant

read

Health-check ping that echoes back the tenantId and current server timestamp.

scope operator supervisor admin dpo
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ping_tenant",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier to echo back"
    }
  },
  "required": [
    "tenantId"
  ],
  "additionalProperties": false
}

get_machine

read

Retrieve a single machine by ID from TRS_MACHINE, with optional real-time state from TRS_ETAT_MACHINE.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_machine",
    "arguments": {
      "tenantId": "<tenantId>",
      "machineId": "<machineId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "machineId": {
      "type": "string",
      "description": "Machine ID (MA_ID)"
    },
    "includeState": {
      "default": false,
      "description": "Include real-time state from TRS_ETAT_MACHINE",
      "type": "boolean"
    }
  },
  "required": [
    "tenantId",
    "machineId",
    "includeState"
  ],
  "additionalProperties": false
}

list_machines

read

List machines from TRS_MACHINE with optional filters on type, atelier, and real-time state.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_machines",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "typeMachine": {
      "description": "Filter by TYPE_MACHINE",
      "type": "string"
    },
    "atId": {
      "description": "Filter by AT_ID (atelier)",
      "type": "string"
    },
    "includeState": {
      "default": false,
      "description": "Include real-time state from TRS_ETAT_MACHINE",
      "type": "boolean"
    },
    "includeDeleted": {
      "default": false,
      "description": "Include soft-deleted machines",
      "type": "boolean"
    }
  },
  "required": [
    "tenantId",
    "includeState",
    "includeDeleted"
  ],
  "additionalProperties": false
}

get_of

read

Retrieve a manufacturing order (OF) by ID from OF_GENERAL, with optional routing operations from OF_GAMMES + OF_GAMMES_DETAILS.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_of",
    "arguments": {
      "tenantId": "<tenantId>",
      "ofId": "<ofId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "ofId": {
      "type": "string",
      "description": "Manufacturing order ID (OF_ID)"
    },
    "includeOperations": {
      "default": false,
      "description": "Include routing operations from OF_GAMMES + OF_GAMMES_DETAILS",
      "type": "boolean"
    }
  },
  "required": [
    "tenantId",
    "ofId",
    "includeOperations"
  ],
  "additionalProperties": false
}

list_ofs

read

List manufacturing orders (OFs) from OF_GENERAL with optional filters on status, client, urgency, and a correlated latest operation status.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_ofs",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "status": {
      "description": "Filter by latest operation status (OF_ETAT value)",
      "type": "string"
    },
    "client": {
      "description": "Filter by OF_CLIENT",
      "type": "string"
    },
    "urgent": {
      "description": "Filter by OF_URGENT flag",
      "type": "boolean"
    },
    "activeOnly": {
      "default": true,
      "description": "Exclude soft-deleted OFs (OF_SUPPRIME = 0)",
      "type": "boolean"
    },
    "limit": {
      "default": 100,
      "description": "Max rows to return (default 100)",
      "type": "number"
    }
  },
  "required": [
    "tenantId",
    "activeOnly",
    "limit"
  ],
  "additionalProperties": false
}

get_production

read

Retrieve a specific production operation execution by OF ID, operation number, and relaunch from OF_GAMMES_DETAILS + OF_GAMMES + OF_GENERAL.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_production",
    "arguments": {
      "tenantId": "<tenantId>",
      "ofId": "<ofId>",
      "operationNum": "<operationNum>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "ofId": {
      "type": "string",
      "description": "Manufacturing order ID (OF_ID)"
    },
    "operationNum": {
      "type": "number",
      "description": "Operation number (OF_NUMOPE)"
    },
    "relaunch": {
      "default": 0,
      "description": "Relaunch index (OF_RELANCE), default 0",
      "type": "number"
    }
  },
  "required": [
    "tenantId",
    "ofId",
    "operationNum",
    "relaunch"
  ],
  "additionalProperties": false
}

list_production

read

List active production operations from OF_GAMMES_DETAILS + OF_GAMMES + OF_GENERAL with optional machine and status filters.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_production",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "machineId": {
      "description": "Filter by machine ID (MA_ID_REF)",
      "type": "string"
    },
    "status": {
      "description": "Filter by operation status (OF_ETAT value)",
      "type": "string"
    },
    "activeOnly": {
      "default": true,
      "description": "Exclude ABANDON status operations",
      "type": "boolean"
    },
    "limit": {
      "default": 100,
      "description": "Max rows to return (default 100)",
      "type": "number"
    }
  },
  "required": [
    "tenantId",
    "activeOnly",
    "limit"
  ],
  "additionalProperties": false
}

list_events

read

List machine events from HT_EVENEMENTS with optional filters on machine, date range, and maintenance flag.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_events",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "machineId": {
      "description": "Filter by MA_ID",
      "type": "string"
    },
    "startDate": {
      "description": "Start date filter (ISO 8601)",
      "type": "string"
    },
    "endDate": {
      "description": "End date filter (ISO 8601)",
      "type": "string"
    },
    "maintenanceOnly": {
      "description": "Only return maintenance events",
      "type": "boolean"
    },
    "limit": {
      "default": 100,
      "description": "Max rows to return",
      "type": "number"
    }
  },
  "required": [
    "tenantId",
    "limit"
  ],
  "additionalProperties": false
}

list_personnel_events

read

List personnel events from HT_EVENEMENTS_PERSONNEL with optional filters on personnel, machine, and date range.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_personnel_events",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "personnelId": {
      "description": "Filter by PER_ID",
      "type": "string"
    },
    "machineId": {
      "description": "Filter by MA_ID_ORIGINE",
      "type": "string"
    },
    "startDate": {
      "description": "Start date filter (ISO 8601)",
      "type": "string"
    },
    "endDate": {
      "description": "End date filter (ISO 8601)",
      "type": "string"
    },
    "limit": {
      "default": 100,
      "description": "Max rows to return",
      "type": "number"
    }
  },
  "required": [
    "tenantId",
    "limit"
  ],
  "additionalProperties": false
}

get_material_yield

read

Retrieve material yield data from V_RPT_POIDS_MATIERES_OF for a given OF number, with optional lot filter.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_material_yield",
    "arguments": {
      "tenantId": "<tenantId>",
      "ofNumber": "<ofNumber>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "ofNumber": {
      "type": "string",
      "description": "OF number (NumOF)"
    },
    "lot": {
      "description": "Optional lot filter",
      "type": "string"
    }
  },
  "required": [
    "tenantId",
    "ofNumber"
  ],
  "additionalProperties": false
}

compute_cycle_deviation

read

Compute cycle time deviation between planned and actual for OF operations. Returns deviation percentage and status classification.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "compute_cycle_deviation",
    "arguments": {
      "tenantId": "<tenantId>",
      "ofId": "<ofId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "ofId": {
      "type": "string",
      "description": "OF identifier (OF_ID)"
    },
    "operationNum": {
      "description": "Optional operation number filter",
      "type": "number"
    }
  },
  "required": [
    "tenantId",
    "ofId"
  ],
  "additionalProperties": false
}

get_quality_scrap

read

Retrieve scrap (rebuts) history from HT_REBUTS with optional filters. Can also return the scrap code reference catalog from TRS_CODEREBUTS.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_quality_scrap",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "machineId": {
      "description": "Filter by MA_ID",
      "type": "string"
    },
    "startDate": {
      "description": "Start date filter (ISO 8601)",
      "type": "string"
    },
    "endDate": {
      "description": "End date filter (ISO 8601)",
      "type": "string"
    },
    "scrapCode": {
      "description": "Filter by scrap code (CR_CODE)",
      "type": "string"
    },
    "includeScrapCodes": {
      "description": "If true, also return the scrap code reference catalog",
      "type": "boolean"
    }
  },
  "required": [
    "tenantId"
  ],
  "additionalProperties": false
}

get_aptitudes

read

Retrieve aptitudes (competencies) from TRS_APTITUDE with levels. Optional filters by personnelId or machineId to narrow to assigned aptitudes.

scope operator supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_aptitudes",
    "arguments": {
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    },
    "personnelId": {
      "description": "Filter by PER_ID (personnel)",
      "type": "string"
    },
    "machineId": {
      "description": "Filter by MA_ID (machine)",
      "type": "string"
    },
    "aptitudeId": {
      "description": "Filter by APT_ID",
      "type": "string"
    }
  },
  "required": [
    "tenantId"
  ],
  "additionalProperties": false
}

write 1

invoke_skill

write

Execute a registered skill by name. Skills are higher-level agentic workflows that orchestrate multiple tools via LLM-driven tool-call loops. Restricted to supervisor and admin roles.

scope supervisor admin
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "invoke_skill",
    "arguments": {
      "skillName": "<skillName>",
      "input": "<input>",
      "tenantId": "<tenantId>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "skillName": {
      "type": "string",
      "description": "Name of the skill to invoke (snake_case)"
    },
    "input": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Input parameters for the skill"
    },
    "tenantId": {
      "type": "string",
      "description": "Tenant identifier"
    }
  },
  "required": [
    "skillName",
    "input",
    "tenantId"
  ],
  "additionalProperties": false
}