API 인터페이스 명세서 & 프로토콜 규격
WASI 인메모리 런타임, MCPHub 서버 및 클라이언트 SDK API (AMEVA-MCP-Hub)
핵심 가치 제안 (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) 반환. |