Machine Schema
Cited specs for industrial robots, CNC machines, PLCs, drives, protocols and alarm codes.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWcompare에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://machineschema.com/mcp"
}
}
}원격 엔드포인트
https://machineschema.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
🟢search_entries(query, type, limit)
Full-text search across hardware, controllers, protocols, standards, alarm codes, terms and manufacturers. Returns ids to pass to get_entry.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Model number, manufacturer, protocol or term, e.g. 'UR10e' or 'modbus'"
},
"type": {
"type": "string",
"enum": [
"hardware",
"controller",
"protocol",
"standard",
"operational",
"instruction",
"alarm",
"manufacturer"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"model_id": {
"type": "string"
},
"verification_status": {
"type": "string"
}
},
"required": [
"id",
"type",
"name",
"model_id",
"verification_status"
],
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_entry(id)
Return the full structured record for one id: typed spec values, sources and verification status.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Entry id, e.g. 'fanuc-crx-10ia'"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_hardware(category, manufacturer, controller, protocol, min_payload_kg, ...)
Find hardware matching numeric limits, manufacturer, controller and supported protocols, e.g. cobots with payload >= 10 kg that speak PROFINET.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"industrial_robot",
"collaborative_robot",
"scara_robot",
"delta_robot",
"cnc_mill",
"cnc_lathe",
"cnc_multitasking",
"cnc_edm",
"cnc_grinder",
"cnc_router",
"additive_machine",
"laser_cutter",
"press_brake",
"injection_molding",
"plc",
"embedded_pc",
"servo_motor",
"vfd",
"hmi",
"vision_system",
"gripper",
"servo_drive",
"sensor",
"other"
]
},
"manufacturer": {
"description": "Manufacturer name or id, e.g. 'FANUC' or 'fanuc'",
"type": "string"
},
"controller": {
"description": "Controller entry id, e.g. 'fanuc-r-30ib-plus'",
"type": "string"
},
"protocol": {
"description": "Protocol entry id, e.g. 'opc-ua'",
"type": "string"
},
"min_payload_kg": {
"type": "number"
},
"min_reach_mm": {
"type": "number"
},
"max_repeatability_mm": {
"type": "number"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"model_id": {
"type": "string"
},
"verification_status": {
"type": "string"
}
},
"required": [
"id",
"type",
"name",
"model_id",
"verification_status"
],
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_facets
Valid values, with counts, for find_hardware filters: categories, manufacturers, controllers and protocols.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"value",
"label",
"count"
],
"additionalProperties": false
}
},
"manufacturer": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"value",
"label",
"count"
],
"additionalProperties": false
}
},
"controller": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"value",
"label",
"count"
],
"additionalProperties": false
}
},
"protocol": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"value",
"label",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"category",
"manufacturer",
"controller",
"protocol"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢compare(ids)
Align 2 to 5 entries of the same type into one table of numeric spec values with units, plus each entry's verification status and sources.
입력 스키마
{
"type": "object",
"properties": {
"ids": {
"minItems": 2,
"maxItems": 5,
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"ids"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"unit": {
"type": "string"
},
"values": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"number",
"null"
]
}
}
},
"required": [
"field",
"values"
],
"additionalProperties": false
}
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"verification_status": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"verification_status",
"sources"
],
"additionalProperties": false
}
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"fields",
"entries",
"missing"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_limits(id, payload_kg, reach_mm, tcp_speed_mm_s, repeatability_mm, ...)
Check planned payload, reach, TCP speed, repeatability, ambient temperature or IP rating against a robot's published limits. Returns pass/fail/unknown per check with the limit and its sources. Call this before generating code that moves real hardware.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Hardware entry id, e.g. 'fanuc-crx-10ia'"
},
"payload_kg": {
"description": "Tool plus part mass",
"type": "number",
"exclusiveMinimum": 0
},
"reach_mm": {
"description": "Farthest point the tool must reach from the base axis",
"type": "number",
"exclusiveMinimum": 0
},
"tcp_speed_mm_s": {
"type": "number",
"exclusiveMinimum": 0
},
"repeatability_mm": {
"description": "Repeatability the task needs; the robot's must be equal or tighter",
"type": "number",
"exclusiveMinimum": 0
},
"ambient_temp_c": {
"type": "number"
},
"ip_rating": {
"description": "Protection the environment needs, e.g. IP54",
"type": "string",
"pattern": "^IP[0-9X][0-9X]$"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"overall": {
"type": "string",
"enum": [
"pass",
"fail",
"incomplete"
]
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"check": {
"type": "string"
},
"planned": {
"type": [
"number",
"string"
]
},
"limit": {
"type": [
"number",
"string",
"null"
]
},
"unit": {
"type": "string"
},
"result": {
"type": "string",
"enum": [
"pass",
"fail",
"unknown"
]
},
"note": {
"type": "string"
}
},
"required": [
"check",
"planned",
"limit",
"result"
],
"additionalProperties": false
}
},
"verification_status": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"url",
"title"
],
"additionalProperties": false
}
},
"caveats": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"overall",
"checks",
"verification_status",
"sources",
"caveats"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_related(id, edge, limit)
List entries connected to an id, in both directions: a robot's manufacturer, controllers and protocols, a controller's robots and alarm codes, or a base model's variants.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"edge": {
"description": "Limit to one relationship type",
"type": "string",
"enum": [
"made_by",
"uses_controller",
"supports_protocol",
"conforms_to",
"variant_of",
"alarm_of",
"related"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"model_id": {
"type": "string"
},
"verification_status": {
"type": "string"
},
"edge": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"out",
"in"
]
}
},
"required": [
"id",
"type",
"name",
"model_id",
"verification_status",
"edge",
"direction"
],
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lookup_alarm(code, controller)
Find what a controller alarm or error code means and what to check. Accepts a full code (SRVO-062) or a prefix, optionally limited to one controller id.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"controller": {
"description": "Controller entry id, e.g. 'fanuc-r-30ib-plus'",
"type": "string"
}
},
"required": [
"code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢calculate_metric(id, inputs)
Evaluate a formula entry, such as OEE, with your inputs. Get the variable symbols from get_entry first.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Operational entry id, e.g. 'oee'"
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
}
},
"required": [
"id",
"inputs"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"expression": {
"type": "string"
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"result": {
"type": "number"
},
"unit": {
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"expression",
"inputs",
"result",
"warnings"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_schema(type)
Return the JSON Schema every entry of a type conforms to. Use it to validate generated configs or to build a submission.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"hardware",
"controller",
"protocol",
"standard",
"operational",
"instruction",
"alarm",
"manufacturer"
]
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거