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: Vela 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 deployed
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
One governed MCP endpoint for 40+ business systems. Read-only, source-cited answers.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseNot gradedqualityDmaintenanceEnables 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.8 npmApache 2.0

Atlas MCPofficial
AlicenseNot gradedqualityAmaintenanceEnables natural language querying of SQL databases and REST APIs through the MCP protocol, grounded in a semantic layer.165 npm1AGPL 3.0- AlicenseNot gradedqualityDmaintenanceMCP server that enables natural-language SQL queries across multiple databases (ClickHouse, Teradata, PostgreSQL, MySQL, SQL Server, DB2, Oracle, MongoDB) with dialect-correct SQL generation, PII masking, and security-by-construction controls.MIT


