EKB Runtime
엔드포인트: /runtime/mcp
권한: Use (odin:use) — 동의 레이블 Use your agents and tools
Runtime은 EKB에 이미 존재하는 것을 이름이 지정된 MCP 도구로 변환합니다. 초안 / 게시되지 않은 작업은 절대 노출되지 않습니다 — 게시해야 사용자 정의 도구가 MCP에서 사용 가능해집니다.
전제 조건
- 이 클라이언트에 대한 Use your agents and tools 동의
- 사용하려는 에이전트, 도구, KB, 스마트 테이블이 있는 프로젝트에 대한 접근
run_*도구가 필요한 경우 게시된 워크플로우 / 사용자 정의 도구
클라이언트가 보는 도구
항상 존재
| 도구 | 목적 | 주요 입력 |
|---|---|---|
list_odin_projects | 프로젝트 id, 이름, 설명 발견 | (없음) |
search_knowledge | 프로젝트 지식 베이스 검색 및 출처가 포함된 일치 구절 반환 | query (필수); project_id (고정하지 않은 경우 필수); 선택적 max_results (기본값 10) |
query_smart_table | 이름 또는 id로 스마트 테이블에서 행 읽기 | table (필수); project_id (고정하지 않은 경우 필수); 선택적 search, limit, page, sort_column, sort_direction |
문서에서 사실을 확인하려면 search_knowledge를 사용하세요. 에이전트가 해당 결과 위에서 추론하기를 원하면 ask_<agent> 도구를 사용하세요.
동적 도구 (프로젝트별)
| 패턴 | 의미 | 주요 입력 |
|---|---|---|
ask_<agent_name> | 접근 가능한 에이전트에 질문 | message (필수); 선택적 chat_id로 대화 계속 |
run_<tool_name> | 게시된 사용자 정의 도구 / 워크플로우 실행 | 입력은 도구의 선언된 스키마를 따름 (실제 이름과 유형) |
명명 참고 사항:
- 에이전트 및 도구 이름은 MCP를 위해 슬러시화됩니다 (구두점 정규화)
- 다중 프로젝트에서 고정하지 않으면 이름에 프로젝트 한정자가 포함될 수 있습니다
- 도구 목록이 클 수 있으므로 대상이 명확하면 프로젝트를 고정하세요
모든 ask_* 응답에는 chat_id가 포함됩니다. 다음 호출에 전달하면 동일한 대화를 계속할 수 있으며, 생략하면 새로 시작합니다.
프로젝트 고정
MCP 클라이언트 구성에서 이 헤더를 전달하세요:
x-project-id: <your-project-id>
| 모드 | 동작 |
|---|---|
| 고정 포함 | 도구가 해당 프로젝트로 범위 지정; 정적 도구에서 project_id가 많은 경우 선택적 |
| 고정 없음 | 접근 가능한 프로젝트 간에 집계될 수 있음; search_knowledge / query_smart_table에서 project_id 필수 |
이미 알지 못하는 경우 list_odin_projects로 id를 발견하세요.
게시 및 가시성
| 리소스 | Runtime에서 노출되는 조건 |
|---|---|
| 에이전트 | 동일한 계정으로 EKB에서 접근 가능한 경우 |
| 사용자 정의 도구 / 워크플로우 | 게시된 경우 (초안은 제외) |
| 지식 베이스 구절 | 문서가 본인에게 표시되는 경우 (Access Tag 포함) |
| 스마트 테이블 행 | 접근 가능한 프로젝트에 테이블이 존재하는 경우 |
Runtime은 추가 가시성을 부여하지 않습니다. Access Tag와 프로젝트 구성원 자격은 검색과 에이전트가 반환할 수 있는 내용을 계속 필터링합니다.
Runtime을 사용해야 할 때
- "Claude에서 우리 지원 / HR / 운영 에이전트에게 질문하기"
- "이 게시된 워크플로우를 이 입력으로 실행하기"
- "KB 검색" 또는 "스마트 테이블에서 행 가져오기"
- 구성을 변경할 권한 없이 EKB를 사용만 해야 하는 모든 클라이언트
팁
- 워크플로우를
run_*도구로 기대하기 전에 게시하세요 - 에이전트를 편집해서는 안 되는 노트북 및 어시스턴트에는 Runtime 전용 연결을 권장합니다
- 판단이 필요하면
ask_*를, 직접 조회는search_knowledge/query_smart_table를 권장합니다 chat_id를 재사용하여 대화의 일관성을 유지하세요
문제 해결
| 증상 | 확인할 사항 |
|---|---|
기대한 run_* 누락 | 도구를 게시하세요. 계정이 제품에서 볼 수 있는지 확인하세요 |
| 잘못되었거나 과도하게 큰 도구 목록 | x-project-id를 설정하세요 |
| 숨겨야 할 것으로 예상한 민감한 검색 결과가 반환됨 | 호출 사용자의 Access Tag / 프로젝트 접근을 확인하세요. Runtime은 해당 사용자로 행동합니다 |
project_id is required | list_odin_projects를 호출하거나 x-project-id로 고정하세요 |
| 매 턴마다 대화가 초기화됨 | 이전 ask_* 응답의 chat_id를 전달하세요 |