rei-lads-mcp
rei-lads-mcp
⚠️ v0.1.0-preview — 초기 피드백 릴리스. 프로덕션용이 아님. API는 v1.0.0 이전에는 안정적이지 않습니다. 0.x 버전에서는 호환되지 않는 변경이 있을 수 있습니다. X.509 인증서 인증은 0.1.x 라인에서 지원되지 않습니다 (사용자 이름/비밀번호만). Phase 5 항목은 ROADMAP.md를 참조하세요.
OPC UA LADS (Laboratory Agnostic Device Standard) 기기를 LLM 에이전트에 노출하는 MCP 서버로, 두 가지 Rei 고유 규율이 내장되어 있습니다:
승인 게이트 실행 — 모든 상태 변경 도구는 서버가 선언한 열거형(LADS 상태 머신 메서드, 프로그램 템플릿)에 대해 작업 이름을 검증합니다. 임의의 문자열은 네트워크 호출이 발생하기 전에 MCP 경계에서 거부됩니다.
입증된 출처 — 모든 상태 변경 호출은 SHA-256 레코드(개시자, 노드, 작업, 매개변수, 샘플, 타임스탬프)를 생성하며, 이는 로컬 추가 전용 JSONL에 저장되고 접두사로 검색할 수 있습니다.
LADS 참조 구현(opcua-lads)을 모델로 하고, Rei / D-FUMT 승인 게이트 + witnessed by 설계에 기반합니다.
Install
Python 3.12+ 필요.
python -m venv .venv
./.venv/bin/pip install -r requirements.txt # Linux/macOS
./.venv/Scripts/pip install -r requirements.txt # WindowsRelated MCP server: SiLA MCP Server
Quick start
LADS 참조 서버(예: opcua-lads/lads-server-collection의 lads-viscometer)를 부팅한 후 실행하세요:
python server.py이것은 stdio MCP 서버를 시작합니다. 아무 MCP 클라이언트나 연결하세요.
프로그래밍 방식의 기본 확인(MCP 클라이언트 불필요):
python test_tools_list.py # 15 tools registered, schemas generated
python test_live_phase4.py # end-to-end against a running LADS server on
# opc.tcp://localhost:4840도구 (15)
연결
lads_connect(alias, server_url, user?, password?, wait_timeout_s?, cert_path?, key_path?)lads_register_alias(alias, server_url, description?, user?, password?)lads_list_aliases()lads_connect_by_alias(alias, wait_timeout_s?)
검색 (읽기 전용)
lads_list_devices(alias)lads_get_functional_units(alias, device_index)lads_get_sensor_value(alias, device_index, unit_index, function_index)lads_get_state(alias, device_index, unit_index)lads_get_state_machine_methods(alias, device_index, unit_index)lads_list_program_templates(alias, device_index, unit_index)lads_list_results(alias, device_index, unit_index)
상태 변경 (증인 레코드 생성)
lads_call_state_machine_method(alias, device_index, unit_index, method_name)— 서버가 선언한 인벤토리에 대해 method_name 검증lads_start_program(alias, device_index, unit_index, template_name, properties?, samples?, supervisory_job_id?, supervisory_task_id?)— ProgramManager 템플릿에 대해 template_name 검증
증인 검색
lads_list_witness_recent(limit?)lads_show_witness(sha256_prefix)— 최소 4자
승인 게이트 데모
lads_call_state_machine_method(alias, 0, 0, "Start")
# -> {invocation: "queued (async)", witness_hash: "..."}
lads_call_state_machine_method(alias, 0, 0, "ArbitraryExec")
# -> {error: "method 'ArbitraryExec' not declared by this state machine",
# valid_methods: ["Start", "StartProgram", "Stop"]}거부는 MCP 도구 경계에서 발생합니다 — LADS 서버가 선언하지 않은 작업 이름에 대해서는 OPC UA 호출이 실행되지 않습니다. lads_start_program(template_name=...)에도 동일한 패턴이 적용됩니다.
입증된 출처
모든 상태 변경 도구 호출은 다음과 같은 레코드를 생성합니다:
{
"initiator": "mcp-caller",
"node_alias": "viscometer",
"server_url": "opc.tcp://localhost:4840",
"device_browse_name": "myViscometer",
"unit_browse_name": "ViscometerUnit",
"operation": "StartProgram",
"template_name": "Analytical Method A (30rpm)",
"params": {"Speed": "30", "Duration": "60"},
"sample_context": [{"ContainerId": "vial-01", "SampleId": "sample-a",
"Position": "A1", "CustomData": "phase4-test"}],
"timestamp_utc": "2026-08-26T00:23:54.333266+00:00",
"phase": "accepted",
"sha256_hex": "174b5e1498a5d0cca55ce9291adf95f612161ed590b839258e700e994cba25ae"
}~/.rei-lads/witness/YYYY-MM.jsonl에 저장됩니다(환경 변수 REI_LADS_WITNESS_DIR로 재정의 가능). 두 lads_*_witness_* 도구를 통해 SHA-256 접두사로 검색할 수 있습니다.
관련 작업
opcua-lads/lads-server-collection— LADS 참조 OPC UA 서버 (Viscometer / pH-Meter / Balance / Freezer / FT-NIR)opcua-lads/lads-client-py— 이 브리지가 래핑하는 Python 클라이언트TECTOS-JP/lab-visa-mcp— PyVISA 제어 기기를 위한 자매 MCPfc0web/rei-lang— 이 브리지가 구현하는 규율을 가진 Rei 언어 프로젝트Rei-Certified program (초안) — 이 브리지가 G1 파일럿 후보인 준수 표면
미리보기 상태
Phase 1-4 스파이크 완료 — 15개 도구, L2 및 L3 모두 실제 LADS 점도계 시뮬레이션에서 통과
이미 코드에 반영된 Phase 4 수정 사항: import 시 배너 음소거,
Connection.initialized폴링,QualifiedName언랩Phase 5는 아직 구현되지 않음 — ROADMAP.md 참조
API 안정성: v1.0.0 이전에는 없음 — 0.x에서 호환되지 않는 변경 예상
전체 스파이크 기록은 SPIKE-HISTORY.md에 보존되어 있습니다.
라이선스
MIT — LICENSE 참조. LADS 생태계 관례.
기여
CONTRIBUTING.md 참조. 외부 기여자는 Rei 프로젝트 CLA가 확정되면 서명된 CLA가 필요합니다.
This server cannot be installed
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
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Runtime permission, approval, and audit layer for AI agent tool execution.
Connect agents to 6DuckLearn memory, approvals, and runtime control.
Human-in-the-loop approval for agent actions, with verifiable action-bound receipts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI agents to OPC UA-enabled industrial systems for real-time monitoring and control of operational data. It enables users to read, write, and browse industrial device nodes through natural language interactions.MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with laboratory devices via a SiLA server, allowing querying device info, listing commands, executing commands, and monitoring status.
- AlicenseBqualityAmaintenanceExposes a deterministic IoT edge runtime — Modbus/CAN/J1939 acquisition, local rules, alarms, and history — to AI assistants as typed, governed MCP tools. Reads are safe by default; device control stays deny-by-default, explicitly confirmed, and audited.233Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables LLMs to read, write, browse, search, and subscribe to live data on OPC-UA industrial automation servers, with caching, discovery index, and support for stdio or HTTP transports.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fc0web/rei-lads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server