ServiceNow 포털을 개발하면서 시작된 일입니다 — 위젯, 페이지, 스크립트 인클루드까지 얽힌
의존성 그래프요.
진짜 어려운 건 코드를 고치는 게 아니라, 뭐가 왜 깨졌는지 손대기 전에 정확히 진단하는
거였습니다.
AI 에이전트가 그 진단을 믿을 만하게 해낼 수 있다는 걸 확인하고 나니, 다음 질문은 자연스럽게
테스트와 배포까지 안전하게 맡길 수 있느냐였습니다.
그 진단을 위해서는 Table API만으로는 부족했습니다.
Flow Designer의 실제 구조 — 트리거, 액션, 플로우가 왜 실행됐는지 안 됐는지 — 는 일반 REST
인증으로는 닿을 수 없는 세션 전용 엔드포인트 뒤에 있습니다.
그래서 이 도구는 설정 파일에 박힌 API 키가 아니라 진짜 브라우저 인증으로 확장돼야
했습니다.
관리자에게 진짜 필요한 건 실제 관리자가 이미 갖고 있는 것 — MFA/SSO/SAML로 보호되는 진짜
세션입니다.
ServiceNow에 대해 이걸 해주는 MCP가 없길래, 그게 이 프로젝트의 핵심 구조가 됐습니다 —
에이전트는 키를 들고 있는 대신 살아있는 브라우저 세션을 그대로 물려받습니다.
거기서부터 이건 단순한 API 래퍼가 아니게 됐습니다.
모든 쓰기 작업은 숙련된 엔지니어가 손으로 직접 할 때와 같은 절차를 거칩니다 — 로컬 우선,
푸시 전에 라이브 서버와 diff, 충돌하는 수정은 조용히 덮어써지는 대신 잡아내도록 앵커링,
그리고 증명 가능함 — 배포 XML은 실제로 라이브 인스턴스에서 나왔다는 증명서를 함께 지니고
있습니다.
토큰 비용도 같은 취급을 받았습니다 — 모든 스키마는 압축되고, 모든 패키지는 에이전트가
실제로 쓸 수 있는 만큼만 노출됩니다.
여기 있는 모든 설계 결정은 스펙이 아니라 실제 ServiceNow 포털 업무에서 실전 검증을 거쳐
나온 것들입니다.
🔎 정확한 진단
어떤 위젯, 어떤 스크립트 인클루드, 어떤 플로우인지 — 스택 트레이스로 대충 짐작하는 대신 실제 의존성 체인을 추적합니다.
🔑 비밀 값이 아니라 세션
Flow Designer의 실제 구조는 Table API가 닿지 못하는 세션 전용 엔드포인트 뒤에 있습니다. 에이전트는 API 키 대신 살아있는 관리자 세션 — MFA, SSO, SAML —을 그대로 물려받습니다.
🧭 앵커링된 동기화
모든 푸시는 먼저 라이브 레코드와 diff되고 앵커링됩니다 — 충돌하는 수정은 조용히 덮어써지지 않고 잡힙니다.
🪶 설계 단계부터 토큰을 의식함
압축된 스키마, 패키지 단위 도구, 필요한 필드만 읽기 — 비용은 나중에 생각할 문제가 아니라 설계 제약입니다.
빠른 시작
이 한 줄만 복사하세요. 끝입니다.
아래 명령어를 AI 코딩 어시스턴트에 붙여넣으세요.
uv, Playwright, MCP 설정, 스킬 설치까지 한 번에 자동으로 설정됩니다.
Install and configure mfa-servicenow-mcp by following the instructions here:
curl -s https://raw.githubusercontent.com/jshsakura/mfa-servicenow-mcp/main/docs/llm-setup.md
Claude Code, Cursor, Codex, OpenCode, Windsurf, VS Code Copilot, Antigravity, Zed 등과 호환됩니다.
AI가 클라이언트와 OS를 감지한 뒤, 대화형으로 설정을 진행해 줍니다.
설정이 완료되면 AI 클라이언트를 재시작하여 MCP 서버를 로드하세요.
터미널에서 직접 하려면: uv + Chromium 설치 후, MCP 클라이언트 설정파일에 서버를 추가하세요(아래 예시).
별도 installer 명령도, 클라이언트별 플래그도 없습니다.
# 1. uv 설치 (이미 있으면 생략)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 서버 + Chromium 미리 받기 (첫 브라우저 호출에서 ~150 MB# 받다가 timeout 나는 걸 예방)
uvx --refresh --with playwright --from mfa-servicenow-mcp servicenow-mcp --version
uvx --with playwright playwright install chromium
# 3. MCP 클라이언트 설정파일에 서버 추가 — 아래 예시 복사
# 1. uv 설치 (이미 있으면 생략)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 2. 서버 + Chromium 미리 받기 (첫 브라우저 호출에서 ~150 MB# 받다가 timeout 나는 걸 예방)
uvx --refresh --with playwright --from mfa-servicenow-mcp servicenow-mcp --version
uvx --with playwright playwright install chromium
# 3. MCP 클라이언트 설정파일에 서버 추가 — 아래 예시 복사
uvx가 막힐 때
pip으로 설치하기
Windows Smart App Control이 uvx를 차단합니다. uvx가 실행될 때마다 서명되지 않은 임시 실행 파일을 풀어내기 때문입니다. 얼마 전까지 잘 되던 uvx가 Windows 업데이트 직후부터 안 된다면 이게 원인입니다. pip으로 설치한 뒤 서버를 모듈로 실행하세요 — servicenow-mcp 콘솔 스크립트는 pip이 만들어 주는 서명 없는 .exe 래퍼라 같은 이유로 차단됩니다.
# Homebrew나 배포판 기본 Python은 전역 pip 설치를 거부합니다 (PEP 668).# python.org 배포판을 쓰거나, 그냥 위의 uvx를 그대로 쓰세요.
pip install mfa-servicenow-mcp playwright
python -m playwright install chromium
# 확인:
python -m servicenow_mcp --version
# 나중에 업데이트할 때:
pip install --upgrade mfa-servicenow-mcp playwright
python -m playwright install chromium
읽기 전용 standard 패키지가 기본 로드됩니다 — MCP_TOOL_PACKAGE를 적을 필요 없습니다.
쓰기 권한이 필요하면 어드밴스 패키지(service_desk, portal_developer,
platform_developer, full)로 지정하세요 — 자세한 내용은
툴 패키지 (어드밴스) 가이드 참고.
수동 설치 — 3단계
LLM 최적화 스킬 추가하기
도구(Tool)만으로는 단순한 API 호출일 뿐입니다.
안전 장치, 롤백, 문맥 인식을 통한 위임 파이프라인이 포함된 스킬(Skill)들이 결합되었을 때
LLM은 진정으로 유용해집니다. 현재 4개 스킬을 지원하며 릴리스마다 더 추가되고 있습니다.
uvx --from mfa-servicenow-mcp servicenow-mcp-skills claude