agentic-ops-builder
SENTINEL AGENT — 에이전트 기반 운영 앱 빌더
Foundry 스타일 운영 온톨로지를 위한 AI 명령 계층: MCP를 통해 연결되고, 실제 조회된 데이터로 자연어 질문에 답변하며, 인간 승인을 거친 작업을 제안하고, 요청 시 운영 대시보드를 생성하는 LLM 에이전트 — 자체 구축된 Palantir-AIP 스타일 운영 도구입니다.
계보: 이 프로젝트는 Locari (제가 운영하는 리드 생성 SaaS — 프로덕션에서 운영 중, 비공개 저장소)를 위해 구축한 AI 사이트 생성 에이전트를 "LLM이 웹사이트를 생성"하는 것에서 "LLM이 거버넌스 하에 엔터프라이즈 온톨로지를 운영"하는 것으로 발전시킵니다: 동일한 에이전트 루프 DNA이지만, 모든 기능이 이제 타입화되고, 허용 목록에 등록되며, 미리보기, 인간 승인, 감사가 적용됩니다. 이는 PACIFIC SENTINEL (프로젝트 1)과 연동되며, 해당 프로젝트의 FastAPI 온톨로지를 이 에이전트가 직접 사용할 수 있습니다.

3-프롬프트 데모
모든 것을 실행하세요 (오프라인, API 키 불필요):
.venv/bin/python scripts/demo.py또는 웹 앱에 다음을 입력하세요:
# | 프롬프트 | 확인할 내용 |
1 |
| 에이전트가 온톨로지 스키마에 기반하여 필터링된 쿼리를 실행하고, 테이블과 함께 답변합니다 — 모든 도구 호출이 오른쪽 패널에서 실시간으로 스트리밍됩니다. |
2 |
| 에이전트가 제안합니다; 미리보기 카드에 변경 전/후 상태와 제약 조건 검사 결과가 표시됩니다. 승인 및 실행을 클릭하기 전까지는 아무것도 변경되지 않습니다. 그런 다음 보급소 재고를 다시 질문하여 상태 변경을 확인하고, |
3 |
| 에이전트가 실시간 데이터를 조회하고 JSON 대시보드 스펙을 게시합니다; 캔버스에 통계 타일, 테이블, 막대 차트가 렌더링됩니다. |
|
|
|
|
Related MCP server: Enterprise Architecture MCP Server
MCP란 무엇이며, 이것이 Palantir AIP를 어떻게 반영하는가
MCP (Model Context Protocol) 는 LLM에 외부 시스템에 대한 타입화되고, 발견 가능하며, 경계가 있는 도구 표면을 제공하는 개방형 프로토콜입니다. 서버는 도구(이름 + 설명 + JSON 스키마)를 노출합니다; 모든 클라이언트(에이전트, IDE, 채팅 앱)가 연결하여 이를 나열하고 호출합니다. 프로토콜 경계는 거버넌스 경계입니다: 모델은 서버가 노출하는 것만 수행할 수 있습니다.
이 프로젝트는 Palantir의 AIP 아키텍처를 축소한 것입니다:
이 프로젝트 | Palantir AIP / Foundry 대응 |
온톨로지 백엔드 ( | Foundry 온톨로지: 원시 데이터 위의 의미론적 객체, 모든 다운스트림 표면이 사용하는 하나의 허브 |
MCP 읽기 도구 ( | AIP 에이전트가 기반 정보를 얻기 위해 사용하는 온톨로지 API / 객체 쿼리 |
| 제출 기준 + 인간 승인 워크플로우가 있는 AIP 액션 타입 — 쓰기는 거버넌스된 검증된 작업이며, 원시 테이블 편집이 아님 |
운영자 키 게이트 승인 + 단일 사용 토큰 + 에이전트 도구 허용 목록 | 에이전트 기능과 인간 권한을 분리하는 AIP |
모든 제안/승인/실행/거부의 추가 전용 감사 로그 | AIP 평가 및 감사 추적 |
| 온톨로지 데이터 위의 Workshop 스타일 운영 앱 (선언적 구성, 임의 코드 아님) |
에이전트 루프 (Claude + MCP 도구 + 이벤트 스트림) | 도구 접근 + 스트리밍 추론이 있는 AIP Agent Studio 에이전트 |
인간-인-더-루프 작동 방식
user ──ask──▶ Agent (LLM) MCP server FastAPI (operator)
│ propose_action(...) ──▶ validate params
│ run constraint checks
│ build before/after PREVIEW (no mutation)
│ ◀── proposal + action_id ─┘
UI shows preview card ──── human clicks Approve ──▶ approve_action(operator_key)
└─ mints SINGLE-USE token
execute_action(token)
├─ re-validates vs CURRENT state
├─ applies the change
└─ audit log: proposed→approved→executed세 가지 강제 계층이 에이전트를 제안 전용으로 유지합니다:
허용 목록 —
approve_action/reject_action/execute_action은 LLM의 도구 목록에서 제거됩니다; 에이전트 루프는 부여되지 않은 도구에 대한 호출을 거부합니다.기능 게이팅 — 승인에는 오케스트레이션 서버의 프로세스에만 존재하는
OPERATOR_KEY가 필요합니다 (MCP 하위 프로세스 환경에 주입됨). 어떤 LLM 컨텍스트도 이를 포함하지 않으므로, 에이전트는 원칙적으로도 승인 토큰을 생성할 수 없습니다.토큰 메커니즘 — 토큰은 단일 사용 (
secrets.compare_digest, 첫 사용 시 소멸)이며 실행은 현재 상태에 대해 모든 제약 조건을 재검증하므로, 오래된 승인으로 보급소를 초과 인출할 수 없습니다.
동일한 철학이 대시보드에도 적용됩니다: 에이전트는 엄격하게 검증된 JSON 스펙 (extra="forbid", 3가지 위젯 유형, 제한된 크기)을 생성하며, 이는 고정된 React 컴포넌트가 해석합니다 — HTML, JSX 또는 실행 코드는 절대 아닙니다.
아키텍처
React 18 + Vite + TS + Tailwind FastAPI (port 8100) MCP server (stdio subprocess)
┌──────────────┬───────────────┐ WS ┌──────────────────────┐ MCP ┌─────────────────────────┐
│ Chat panel │ Actions cards │ ◀─────▶ │ /ws agent events │ ◀─────▶ │ 9 tools over ontology │
│ (markdown) │ Live trace │ HTTP │ /actions/{id}/approve│ stdio │ ┌─ StubOntology (dflt) │
│ │ Dashboard │ ◀─────▶ │ /actions/{id}/reject │ │ └─ HttpOntology ──▶ Project 1
│ │ canvas │ │ /audit /health │ │ (pacific-sentinel)
└──────────────┴───────────────┘ │ OpsAgent loop + LLM │ └─────────────────────────┘
│ (Claude ⟷ MockLLM) │
└──────────────────────┘실행 방법
# Backend
python3.11 -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/python -m pytest # 60 tests, fully offline
.venv/bin/python scripts/demo.py # scripted 3-prompt demo (mock LLM)
.venv/bin/python scripts/smoke_mcp.py # raw MCP stdio smoke run
# CLI
.venv/bin/python -m ops_agent.cli --llm mock "Which units are critically low on water?"
# Web app: API on :8100, frontend on :5174
LLM_MODE=mock .venv/bin/python -m uvicorn ops_agent.server:app --port 8100
cd frontend && npm install && npm run dev # open http://localhost:5174
npm test # 8 Vitest component tests
# Real LLM (claude-opus-4-8; key read from env, never hardcoded)
export ANTHROPIC_API_KEY=sk-ant-...
.venv/bin/python -m ops_agent.cli "Which units are critically low on water?"
# Against Project 1's live ontology instead of the stub
ONTOLOGY_BACKEND=http ONTOLOGY_API_URL=http://localhost:8000 ...LLM 모드 — LLM_MODE=auto (기본값: ANTHROPIC_API_KEY가 설정되면 실시간, 그렇지 않으면 모의) / mock / live. MockLLM은 도구 호출 모델처럼 동작합니다 (기반 쿼리 → 필터링된 쿼리 → 답변; 액션 파싱; 대시보드 구축) 따라서 테스트와 데모를 포함한 모든 흐름이 오프라인에서 결정론적으로 실행됩니다.
마일스톤
M1 MCP 서버: 교체 가능한 백엔드 + 테스트를 통한 읽기 전용 온톨로지 도구
M2 에이전트 루프: MCP를 통한 LLM 도구 호출, 허용 목록, 감사 이벤트, CLI
M3 FastAPI WebSocket 스트리밍 + React 채팅/추적 UI
M4 제안 → 인간 승인 (운영자 키 + 단일 사용 토큰) → 실행 → 감사
M5 대시보드 스펙 생성 (안전한 JSON) + React 렌더러 (recharts)
M6 데모 스크립트, 스크린샷, 이 README
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceTurns warehouse/lakehouse tables into a governed entity-relationship knowledge graph exposed through MCP, enabling AI agents to answer multi-table business questions without hard-coded SQL or large schema prompts.Apache 2.0
- Flicense-qualityCmaintenanceEnables natural language interaction with enterprise tools including file, database, GitHub, Slack, browser, calendar, email, vector search, and Python calculation through OpenAI and MCP Client.
- Flicense-qualityCmaintenanceEnables engineers and plant managers to interact with manufacturing systems using natural language, providing machine health analysis, KPI dashboards, predictive maintenance, and automated workflow execution via MCP.
- Alicense-qualityBmaintenanceEnables governed, agent-agnostic data exploration by allowing users to ask natural language questions through MCP-compatible agents, executing safe, permission-scoped queries against data sources and returning interactive charts.48Apache 2.0
Related MCP Connectors
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
GibsonAI MCP server: manage your databases with natural language
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aryanpatel27/sentinel-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server


