POST /api/v1/mcp 로 노출합니다. 코딩 에이전트가 로컬 URL 을 가리키기만 하면 Flow CRUD, 블록 조작, 배선, 변수, 배포, 트레이스까지 SaaS 와 같은 도구 표면을 그대로 씁니다.
URL
- 데스크톱 앱 과 compose 경로는 기본이
http://localhost:8090/api/v1/mcp입니다. 포트가 겹치면.env.onprem의NORA_HOST_PORT를 바꾸세요. MCP URL 도 함께 이동합니다. - Kubernetes 경로는 Helm 차트의
publicUrl에 설정한 호스트네임을 씁니다 (예:https://nora.example.internal/api/v1/mcp). Kubernetes (Helm) 을 참고하세요.
연결하기
- Claude Code
- Codex CLI
- Cursor · 기타 호스트
nora-local은 Claude Code 툴 목록에 보일 별칭입니다. 이미 등록된 SaaSnora와 구분되도록 이름을 지어 주세요.--scope user는~/.claude.json에 씁니다. 이 노트북의 모든 프로젝트에서 로컬 서버가 보입니다. 플래그를 빼면 현재 프로젝트에만 등록됩니다.- 첫 툴 호출에서 브라우저가 로컬 서버 자체 로 OAuth 로그인 창을 엽니다. Nora Local 계정으로 로그인해
read·build·run에 동의합니다.
OAuth 는 NORA_PUBLIC_URL 이 맞아야 동작합니다
OAuth 흐름은 서버가 광고하는 콜백 URL 로 브라우저를 되돌립니다. 이 URL 은NORA_PUBLIC_URL (과 NORA_OAUTH_REDIRECT_BASE) 이 결정하므로, 브라우저가 실제로 접속하는 URL 과 정확히 같아야 합니다.
- 로컬호스트 기본값 — 데스크톱 앱과 단일 호스트 compose 는 기본
http://localhost:${NORA_HOST_PORT:-8090}로 그대로 됩니다. - 리버스 프록시 · 인그레스 뒤 —
NORA_PUBLIC_URL=https://nora.example.internal(또는 Helm 의publicUrl) 을 실제 공개 URL 로 세팅합니다. 안 그러면 OAuth 콜백이http://localhost:8090으로 돌아가고 브라우저가 그 주소에 못 닿아 로그인이 멈춥니다.
SaaS 와 함께 등록하기
별칭을 다르게 지으면 툴 이름이 겹치지 않습니다.nora_list_flows 와 nora-local_list_flows 가 깔끔하게 분리됩니다.
노출되는 도구
도구 표면은 SaaS 와 동일합니다. 전체 목록은 MCP 도구 표면 을 참고하세요. 권한도 Nora Local 의 역할을 그대로 따릅니다. Guest 는 읽기만 가능하고, 승인이 필요한 액션은 MCP 로 실행해도 승인 절차를 그대로 거칩니다.에어갭 노트
MCP 는 인터넷 접근이 필요 없습니다. OAuth 로그인과 툴 호출을 포함한 전체 흐름이 로컬 호스트 안에서 끝납니다.NORA_AIRGAP=1이 켜져 있어도 서버는 MCP 를 그대로 서빙합니다. 부팅 프로브는 서버가 공용 인터넷 에 못 닿는지만 확인하고, 로컬 브라우저 · CLI 의 인바운드 트래픽은 제한하지 않습니다.- 타겟 호스트에 브라우저가 없는 헤드리스 서버 설치라면, LAN 으로 서버에 닿을 수 있는 노트북에서 코딩 에이전트를 실행하고
NORA_PUBLIC_URL을 LAN 호스트네임 (예:http://nora.internal:8090) 으로 설정해 브라우저가 콜백을 받을 수 있게 하세요.
문제 해결
claude mcp add에서connection refused. 스택이 꺼져 있는 상태입니다.docker ps또는 데스크톱 앱 트레이로 확인하세요. URL 에는 스킴 (http://) 이 반드시 포함되어야 합니다.- OAuth 로그인 페이지가 404 · 무한 로딩.
NORA_PUBLIC_URL이 브라우저 접속 URL 과 일치하지 않는 경우입니다. 스킴 · 호스트 · 포트가 실제와 정확히 같은 값으로 지정하고 스택을 재시작하세요. - 로그인 후 툴 목록이 비어 있음. 로그인한 계정이 이 서버의 워크스페이스에 접근 권한이 없는 경우입니다. SPA 의
Settings → Members에서 권한을 확인한 뒤 재연결합니다. nora-local과nora가 부딪히는 것처럼 보임. 실제로는 안 부딪힙니다. Claude Code 는 서버별로 툴 이름 앞에 별칭을 붙입니다. 픽커에 중복이 보이면 호스트를 재시작해 툴 목록을 새로고침하세요.
관련
MCP (SaaS)
호스팅된
platform.nora.my 서버에 대한 같은 페이지.Settings — 호스트 포트
기본 8090 이 겹칠 때
NORA_HOST_PORT 를 바꿉니다.Kubernetes (Helm)
Helm
publicUrl 값과 인그레스 세팅.