API 인터페이스 명세서 & 프로토콜 규격

WASI 인메모리 런타임, MCPHub 서버 및 클라이언트 SDK API (AMEVA-MCP-Hub)

Release: v3.1.3 PyPI Version NPM Version WASI Engine License
핵심 가치 제안 (Why It Matters)

JSON-RPC 2.0 표준 MCP 프로토콜과 WASI 가상 머신 인터페이스를 완벽히 바인딩하여, 언어 제약 없는 초고속 도구 생태계를 구축할 수 있습니다.

1. MCPHub 서버 API (TypeScript / Node.js)

클래스 / 메서드 시그니처 설명 및 엔지니어링 동작
new MCPHub(options?) constructor(opts?: HubOptions) WASI 런타임 및 stdio/WebSocket 리스너를 갖춘 허브 인스턴스를 생성합니다.
hub.start() async start(): Promise<ServerInfo> 지정 포트에서 서버를 기동하거나, 이미 실행 중인 경우 자동으로 브리지 포워더를 활성화합니다.
hub.registerTool(def) registerTool(name: string, schema: object, handler: Function): void 동적 WASI 또는 자바스크립트 핸들러 함수를 표준 MCP 도구로 등록합니다.
hub.stop() async stop(): Promise<void> 모든 활성 소켓 및 하위 WASI 인스턴스를 메모리 누수 없이 정상 종료합니다.

2. 온디바이스 플릿 테스터 도구군 (Fleet Tester Adapter)

도구 식별자 입력 파라미터 기능 설명
tester_probe_fleet {} 연결된 모든 실기기(Android Termux 등)의 CPU, GPU, NPU, Vulkan HAL 토폴로지를 정밀 진단합니다.
tester_get_devices {} 현재 활성 연결된 단말기 목록과 통신 상태 메타데이터를 반환합니다.
tester_inspect_device { device_id: string } 지정 단말기의 상세 메모리, 커널 버전, Vulkan 드라이버 속성을 조회합니다.
tester_run_benchmark { device_id: string, modality: string } 원격 실기기 상에서 STT, TTS, Diffusion, LLM 온디바이스 AI 벤치마크를 원격 지휘합니다.

3. 에러 핸들링 및 예외 클래스

예외 클래스 원인 및 발생 조건 시스템 안전 조치
WasiFuelExhaustedError WASI 연산이 fuelLimit 한도를 초과한 경우 호스트 프로세스 보호를 위해 즉각 실행을 중단하고 에러 응답 반환.
BridgeConnectionError 다중 인스턴스 브리지 연결 시 원격 허브 소켓이 응답하지 않을 때 독립 신규 허브 프로세스로 자체 폴백 기동.
ToolNotFoundError 등록되지 않은 MCP 도구명을 호출한 경우 사용 가능한 도구 목록 힌트와 함께 JSON-RPC 에러(-32601) 반환.