MCP 전송
Moraya는 MCP 서버 통신을 위한 세 가지 전송 메커니즘을 지원합니다.
stdio 전송
stdio 전송은 자식 프로세스를 생성하고 stdin/stdout을 통해 통신합니다. 이것은 Rust 백엔드(MCPProcessManager)에 의해 관리됩니다.
# 예시: 로컬 MCP 서버에 연결
Command: npx @modelcontextprotocol/server-filesystem
Args: /path/to/workspace
- 로컬 명령줄 MCP 도구에 가장 적합
- Moraya가 프로세스 수명 주기를 관리
- stdin/stdout을 통한 JSON-RPC 통신
SSE 전송 (Server-Sent Events)
SSE 전송은 메시지 수신을 위해 EventSource를 통해 원격 서버에 연결하고 전송을 위해 POST 요청을 사용합니다.
# SSE 엔드포인트 예시
URL: http://localhost:3001/sse
- 장기 실행 원격 서버에 가장 적합
- 서버가 SSE 스트림을 통해 이벤트를 푸시
- 클라이언트가 HTTP POST를 통해 요청을 전송
HTTP 전송
HTTP 전송은 양방향 모두에 상태 비저장 JSON-RPC POST 요청을 사용합니다.
# HTTP 엔드포인트 예시
URL: http://localhost:3002/mcp
- 가장 간단한 전송 — 표준 HTTP POST
- 상태 비저장, 영구 연결 없음
- 서버리스/클라우드 함수에 적합