understanding-graph
Understanding Graph 이해하기: 지속적 이해를 위한 재귀적 매체
지속적이고 검사 가능한 이해를 위한 재귀적 매체.
Understanding Graph는 AI 에이전트에게 구조화되고 지속적인 메모리를 제공하는 MCP 서버입니다. 사실을 저장하는 지식 베이스와 달리, 외부에서 유용한 이해 업데이트—긴장, 놀라움, 결정, 증거, 그리고 신념이 시간에 따라 어떻게 진화했는지—를 저장합니다. 비공개 chain-of-thought를 요구하지 않습니다. 여러 에이전트가 그래프 자체를 통해 조정할 수 있습니다: 각 에이전트는 다른 에이전트가 작성한 내용을 읽고, 그 위에 구축하며, 다음 에이전트를 위해 검사 가능한 흔적을 남깁니다—stigmergy.
왜 Understanding Graph인가?
전통적 메모리 | Understanding Graph |
사실을 저장함 | 저자가 작성한 이해 업데이트를 저장함 |
"사용자는 다크 모드를 선호함" | "사용자는 눈의 피로 후 다크 모드로 전환함—미학과 편안함 사이의 긴장이 편안함 쪽으로 해소됨" |
평면적 검색 | 유형화되고 수정 가능한 해석 |
해석적 중간 과정을 잃음 | 기록된 근거와 수정을 보존함 |
단일 에이전트 | 공유 그래프를 통한 다중 에이전트 조정 |
핵심 통찰: AI 에이전트는 사실을 기억하는 것만 필요한 것이 아니라, 사용 가능한 이전 상태, 전환의 증거, 업데이트된 결론, 그리고 남은 불확실성이 필요합니다. 그래야 이후 작업이 숨겨진 숙고를 재구성하지 않고도 결론을 시험하거나 수정할 수 있습니다.
Related MCP server: Loxo
빠른 시작
권장: Codex 또는 Claude 구독 사용
그래프 기반 작업이 이루어질 디렉터리에서 초기화 프로그램을 실행하세요:
cd your-project
npx -y understanding-graph@0.1.30 init이것은 Codex와 Claude Code 모두를 위한 프로젝트 범위 MCP 구성을 생성하고, AGENTS.md와 CLAUDE.md에 동일한 유동적 이해 계약을 설치하며, 두 클라이언트 모두를 위한 프로젝트 범위 reading-mode 스킬을 설치하고, 스타터 그래프를 설치하지 않고 무시 규칙에 로컬 projects/ 경로를 추가합니다. 두 클라이언트 중 하나를 열고, 일반 ChatGPT 또는 Claude 구독으로 로그인한 후 실제 연구, 글쓰기, 코딩 또는 의사 결정 작업을 요청하세요. 에이전트는 실제 작업이 시작될 때 설명적인 이름의 그래프를 생성합니다. "그래프를 사용하세요"라고 말할 필요가 없습니다. 모델은 구독 클라이언트에서 실행됩니다; Understanding Graph 자체는 모델 API 호출을 하지 않습니다.
새로운 연대기적 읽기를 위해 에이전트에게 파일 경로를 주고 리더 모드를 켜도록 요청하세요. 에이전트는 본문을 반환하거나 샘플링하지 않고 소스를 스테이징한 다음, source_read를 통해 다음 순서의 구절만 만나며 계속하기 전에 일반적이고 구절에 근거한 이해를 첨부할 수 있습니다. Codex는 또한 $reading-mode를 노출합니다; Claude Code는 /reading-mode를 노출합니다. 채팅에 직접 붙여넣은 텍스트는 이미 만난 것이므로, 진정으로 새로운 읽기가 중요할 때는 파일 경로를 사용하세요.
Codex는 적격 ChatGPT 플랜을 통해 이용 가능하며, Claude Code는 Claude Pro 또는 Max를 사용할 수 있습니다. 일반 플랜 제한은 여전히 적용됩니다.
설치 가능한 플러그인 (워크플로 스킬 + MCP 서버)
패키지는 .codex-plugin과 .claude-plugin 매니페스트를 모두 제공합니다. 플러그인은 MCP 기능과 understanding-work 스킬을 결합합니다. 모드가 활성화된 동안, 작업이나 향후 문의에 중요할 수 있는 실질적이고 전달 가능한 이해가 그래프에서 발전합니다. 그래프는 상태에 따라 달라지는 작은 구체적인 다음 행동 세트를 굴립니다; 모델은 사용자 작업에 대한 가중치를 판단하고 자유롭게 선택, 결합, 변경 또는 거부합니다. 위의 초기화 프로그램은 플러그인 디렉터리 목록을 기다리지 않고 동일한 계약을 제공합니다.
Claude Code의 경우, 기존 마켓플레이스 흐름은 다음과 같습니다:
# One-time: add the Emergent Wisdom marketplace
claude plugin marketplace add emergent-wisdom/marketplace
# Install the plugin
claude plugin install understanding-graph로컬 개발의 경우:
claude --plugin-dir /path/to/understanding-graph이것은 MCP 서버와 다음 스킬을 제공합니다:
스킬 | 호출 | 가르치는 내용 |
understanding-work | (자동 로드) | 가중치가 적용되고 모델이 선택한 자극을 통한 유동적 그래프 매개 이해 |
orient |
| 대화 시작 시 그래프 상태 읽기 |
quality-check |
| 점수 매기기, 분석, 온도 조절 |
reading-mode |
| source_read를 통한 심층 소스 읽기 |
serendipity |
| 근거 기반/순수 serendipity를 통한 새로움 주입 |
web-ui |
| :3030에서 3D 시각화 실행 |
graph-workflow | (자동 로드) | 공유 그래프 법칙과 작업-워크플로 라우팅 |
code-work | (자동 로드) | 그래프 네이티브 코드 노드, 생성, 실행 가능한 증거 |
collaborative-code | (자동 로드) | 코드 하위 트리 소유권, 인계, 잠금, 통합 증거 |
creative-work | (자동 로드) | 책, 산문, 대본, 편집 수정 |
원시 MCP 서버는 호환되는 모든 클라이언트와 작동하지만, 번들된 스킬 또는 생성된 프로젝트 지침이 권장 경험입니다. 도구 스키마만으로는 다단계 이해 워크플로를 안정적으로 활성화하지 못합니다.
초기화 프로그램이 생성하는 것
다음을 생성합니다:
.codex/config.toml-- Codex MCP 구성.mcp.json-- Claude Code 프로젝트 MCP 구성AGENTS.md및CLAUDE.md-- 동일한 표준 이해 워크플로.agents/skills/reading-mode/SKILL.md-- 명시적 Codex 리더 워크플로.claude/skills/reading-mode/SKILL.md-- 명시적 Claude Code 리더 워크플로projects/에 대한.gitignore항목 -- 그래프 데이터를 로컬로 유지; 스타터 프로젝트는 생성되지 않음
디렉터리에서 열린 모든 세션은 동일한 프로젝트 루트를 공유합니다. 명명된 그래프가 선택되면, 그곳에서 작업하는 에이전트는 그것을 공유합니다. 작업에 실제 독립적인 분기가 있을 때만 추가 에이전트를 사용하세요.
원시 MCP 구성 (고급)
클라이언트가 플러그인을 설치하거나 초기화 프로그램을 실행할 수 없는 경우, MCP 서버에 직접 연결하세요:
claude mcp add ug -- npx -y understanding-graph@0.1.30 mcpMCP 초기화는 여전히 간결한 그래프 사용 계약을 제공하지만, 서버 지침에 대한 클라이언트 지원은 다양합니다. 일관된 동작을 위해 번들된 understanding-work 스킬 또는 생성된 프로젝트 지침도 제공하세요.
클라이언트별 설정 가이드: Claude Code · Claude Desktop · Cursor · mcporter
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"understanding-graph": {
"command": "npx",
"args": ["-y", "understanding-graph@0.1.30", "mcp"],
"env": {
"PROJECT_DIR": "/path/to/your/projects",
"UG_SOURCE_ROOT": "/path/to/your/source-project"
}
}
}
}UG_SOURCE_ROOT는 파일 기반 소스 로딩을 해당 디렉터리로 제한합니다. 프로젝트 초기화 프로그램은 이를 프로젝트 루트로 자동 설정합니다.
Cursor / Windsurf
MCP 구성에 추가하세요:
{
"mcpServers": {
"understanding-graph": {
"command": "npx",
"args": ["-y", "understanding-graph@0.1.30", "mcp"],
"env": {
"PROJECT_DIR": "/path/to/your/projects"
}
}
}
}웹 UI / 3D 시각화
루트 npm 패키지는 빌드된 프론트엔드를 포함하고 웹 서버에 의존하므로, 게시된 패키지는 UI를 직접 실행할 수 있습니다:
PROJECT_DIR=/path/to/your/projects npx -y understanding-graph@0.1.30 start
# open http://localhost:3000각 프로세스에 자체 포트와 프로젝트 저장소 루트를 지정하여 독립적인 사이드카를 실행하세요. 루트는 동일한 볼륨의 형제 디렉터리일 수 있습니다:
PORT=3101 PROJECT_DIR=/srv/undergraph/worker-1 npx -y understanding-graph@0.1.30 start
PORT=3102 PROJECT_DIR=/srv/undergraph/worker-2 npx -y understanding-graph@0.1.30 start배포에서는 절대 경로를 사용하세요. 설치된 패키지와 읽기 전용 프론트엔드를 공유하는 것은 안전합니다; 독립적인 사이드카를 동일한 PROJECT_DIR에 지정하지 마세요.
서버는 기본적으로 루프백에 바인딩됩니다. 다른 호스트에서 워커를 실행하려면 HOST와 비공개 워커 토큰을 명시적으로 설정하세요; 둘 다 없으면 비루프백 시작은 안전하게 실패합니다:
HOST=0.0.0.0 PORT=3101 \
UG_WORKER_TOKEN=replace-with-a-long-random-secret \
PROJECT_DIR=/srv/undergraph/worker-1 \
npx -y understanding-graph@0.1.30 start신뢰할 수 있는 호출자는 모든 /api 또는 /admin 요청에 Authorization: Bearer <UG_WORKER_TOKEN>을 보내야 합니다. 원격 트래픽은 TLS 또는 비공개 인증 네트워크 뒤에 두세요.
대신 체크아웃에서 UI를 개발하려면:
git clone https://github.com/emergent-wisdom/understanding-graph.git
cd understanding-graph
npm install
npm run build
npm run start:web
# open http://localhost:3000선택 사항: 임베딩 기반 검색 활성화
graph_semantic_search, graph_similar, graph_semantic_gaps, graph_backfill_embeddings는 @huggingface/transformers(로컬 임베딩 모델, 컴파일 후 약 160 MB)를 사용할 수 있습니다. 기본 설치를 작게 유지하기 위해 선택적 peer dependency입니다. npx 기반 프로젝트의 경우, Node가 동일한 의존성 트리에서 peer를 해결할 수 있도록 두 패키지를 모두 로컬에 설치하세요:
npm install --save-dev understanding-graph@0.1.30 @huggingface/transformers@4.2.0
npx understanding-graph@0.1.30 init별도의 전역 @huggingface/transformers 설치는 격리된 npx 캐시 설치를 안정적으로 충족하지 못합니다.
이것이 없어도 그래프의 나머지 부분은 정상적으로 작동합니다. graph_understand와 graph_semantic_search는 임베딩을 사용할 수 없을 때 결정적 어휘 검색을 사용합니다; 의미 전용 분석 도구는 선택적 모델이 필요할 때 설명합니다.
작동 방식
직접적인 개념 및 엣지 변형은 graph_batch를 통해 이루어집니다. 관련 워크플로 모드는 또한 최상위 수준에서 문서 헬퍼를 노출합니다; 관련 문서, 개념 및 엣지 변경이 함께 적용되어야 할 때 배치를 사용하세요. 모든 배치는 commit_message를 요구하며 SQLite 트랜잭션에서 실행됩니다: 어떤 작업이 실패하면 전체 배치는 실행되지 않은 것처럼 롤백됩니다. source_read와 같은 워크플로 도구는 자체 원자적 업데이트를 관리합니다. 일반 작업은 기록을 보존하면서 노드를 수정, 아카이브 또는 대체합니다; 되돌릴 수 없는 제거는 별도의 명시적으로 선택된 관리 작업입니다. 커밋 스트림은 검사 가능한 업데이트 로그가 됩니다—각 노드의 커밋 메시지는 Origin Story가 됩니다.
1. project_switch({ project: "my-project" })
2a. DIRECT: use graph_understand, graph_batch, or another graph tool immediately
2b. GUIDED: graph_suggest_next({ task, workflow: "coding" })
3. [if guided, judge, modify, reject, skip, or choose a sampled route]
4. graph_batch({ commit_message, agent_name, ... }) # preserve artifact + understanding선택적 chooser는 이해를 심화하거나 다양화하고, 소홀히 된 자료를 회수하고, 현재 관점을 시험하거나, 유용한 연결을 노출할 수 있는 그래프 특정 포인터를 표면화하는 보조 도구입니다. 제안은 그래프 및 워크플로 가중 압력에서 서버 측에서 샘플링되며, 가능할 때 구체적인 노드 또는 영역을 포함하고, 최근에 제안된 작업 종류를 일시적으로 가중치를 낮춥니다. 모델은 작업 적합성에 대한 책임을 유지하며 항상 직접 작업하거나, 다른 일을 하거나, 작업을 만들어내기보다 중단할 수 있습니다. UG_GUIDANCE_MODE를 direct로 설정하여 주변 제안 프롬프트를 제거하세요; graph_suggest_next는 요청 시 계속 사용할 수 있습니다.
원자적 커밋
graph_batch는 개념 및 엣지 변경과 원자적 다단계 문서 변경을 위한 진입점입니다. 하나의 배치 안에서 graph_add_concept, graph_connect, graph_question, graph_supersede, doc_create 등을 연결할 수 있습니다. 사전 검증 검사는 graph_connect에 대해 ID와 제목 참조를 모두 허용하며, 전이적 도달 가능성을 계산합니다(따라서 A → B → existing 체인은 A가 existing에 직접 닿지 않더라도 유효합니다). 배치 중간에 실패하면 전체 트랜잭션이 롤백되며, 절반 상태는 남지 않습니다.
프로젝트 간 참조
한 프로젝트의 그래프 노드는 graph_add_reference({ refProject, refNodeId })를 통해 다른 프로젝트의 노드를 참조할 수 있습니다. 다른 프로젝트는 graph_lookup_external로 전환 없이 읽거나, graph_global_lookup으로 ID만으로 찾을 수 있습니다. 이것은 entangled-alignment 연대기 주석 파이프라인에서 사용되는 계층적 이해 그래프의 기반이며, 시대와 문서가 상호 참조를 그립니다.
핵심 개념
노드(이해 단위)
각 인지 노드는 트리거로 왜 생성되었는지를 표시하는 작성된 이해 업데이트를 포착합니다.
트리거는 인지 행위이지 범주가 아닙니다. 에이전트가 바로 이 순간에 노드를 생성한 이유를 포착하며, 그것이 어떤 종류의 것인지를 나타내지 않습니다. 가장 자주 사용하게 될 일곱 가지:
트리거 | 사용 시점 |
| 핵심 개념, 공리, 출발점 |
| 예상치 못한 발견, 기존 신념과 모순됨 |
| 아이디어 간 갈등, 해결되지 않음 |
| 하위 영향 |
| 탐구할 열린 질문 |
| 대안 사이에서 내린 선택, 근거 포함 |
| 나중에 검증할 수 있는 미래 지향적 신념 |
덜 일반적이지만 사용 가능: hypothesis, model, evaluation, analysis, experiment, serendipity, repetition, randomness, reference, library. 이러한 일반 인지 노드는 미래 에이전트가 작업에 다시 들어갈 때 도움이 될 경우, 확정된 결론뿐만 아니라 풍부하고 잠정적이며 해결되지 않은 증언을 보존할 수 있습니다. thinking 트리거는 다릅니다. 이는 별도의 합성 Reader/CMP 합성기를 위해 예약되어 있으며, 기본 그래프에서 연대기적 훈련 블록을 재구성합니다. 예약된 블록은 일반 읽기, 쓰기, 코딩 및 일반 워크플로우에 숨겨지고 불변입니다. 오직 TOOL_MODE=synthetic_reader만 접근할 수 있습니다. 의도적으로 선택된 18가지 트리거 유형 전체는 understanding-graph 논문(섹션 3.1)에 문서화되어 있습니다. 이는 주장된 형식적 최소값이 아니라 진화하는 설계입니다.
엣지(연결)
엣지 유형 | 의미 |
| 새로운 이해가 이전 것을 대체함. 전용 |
| 갈등 중인 아이디어 |
| 기존 이해에 정밀성을 추가함 |
| 통찰의 귀속 |
| 질문을 해결하거나 제기함 |
| 부모-자식 계층 |
| 순차적 순서 |
문서
구조화된 산문, 원본 자료, 그래프 네이티브 코드는 동일한 주소 지정 가능한 문서 트리를 공유합니다. 리프는 구절, 함수, 클래스, 타입 또는 테스트일 수 있으며, 각각 고유한 목적, 원본 커밋, 개정, 그리고 그것을 형성한 질문, 결정, 증거 또는 긴장에 대한 타입 링크를 기록합니다. 이를 통해 나중에 Reader는 doc_read({ nodeId, showProvenance: true, showRevisions: true })를 호출하여 파일이 존재하는 이유뿐만 아니라 정확히 하나의 단위가 존재하는 이유를 물을 수 있습니다.
implements는 추상적 약속에서 구체적 단위로 향합니다. expresses와 inspired_by는 아티팩트 단위에서 그것이 렌더링하는 것 또는 작성자가 영향력 있다고 보고한 것으로 향합니다. learned_from은 인지 업데이트에서 그것을 유발한 소스 또는 아티팩트 조우로 향합니다. 이들은 검증된 원인이 아니라 검사 가능한 작성된 주장입니다. 코드 루트는 실행 가능한 파일을 생성합니다. 단위는 재생성 전에 분할, 병합, 이동 및 재정렬될 수 있습니다.
프로젝트
다른 컨텍스트를 위한 격리된 그래프. 각 프로젝트는 자체 SQLite 데이터베이스를 가집니다.
도구 개요
배치 연산
도구 | 목적 |
| 필수 |
개념 및 노드 관리(선택된 모드에 나열되지 않는 한 배치 연산)
도구 | 목적 |
| 중복 감지와 함께 새 개념 추가 |
| 탐구를 위한 질문 노드 생성 |
| 개념 이해 업데이트 |
| 오래된 개념 대체 |
| 외부/프로젝트 간 참조 추가 |
| 노드 이름 변경(소프트 참조 업데이트) |
| 기록을 보존하는 소프트 삭제 |
| 노드에 임의 메타데이터 설정 |
| 노드 메타데이터 검색 |
| 노드 분류 변경 |
| 이해 진화 기록 가져오기 |
연결 관리(선택된 모드에 나열되지 않는 한 배치 연산)
도구 | 목적 |
| 개념 간 엣지 생성 |
| 질문 노드에 답변 기록 |
| 엣지 제거/보관 |
| 엣지 유형 또는 설명 업데이트 |
| 관계 기록 가져오기 |
읽기 및 분석
도구 | 목적 |
| 사전 지식, 저항, 증거, 타입 관계를 포함한 워크플로우별 재진입 패킷 구성 |
| 구조적 개요(~150 토큰) |
| 개념에 대한 주변 컨텍스트 |
| 여러 관련 노드에 대한 컨텍스트 |
| 의미로 노드 찾기 |
| 개념적으로 유사한 노드 찾기 |
| 유형으로 노드 찾기 |
| 개념 및 패턴 빈도 |
| 연결되지 않은 개념 찾기 |
| 그래프 건강 지표 |
| 개념 간 추론 경로 |
| 가장 영향력 있는 개념 |
| 레거시 설명적 그래프 상태 펄스; |
| 커밋 기록 및 변경 사항 |
합성 및 탐구
도구 | 목적 |
| 먼 그래프 자료의 기본 제한 비교; 유효한 연결 없음 |
| 진정한 근거 기반 다리 이후의 선택적 교란( |
| 명시적으로 추측적이고 근거 없는 우연성( |
| 구체적인 무작위 자극, 선택적 정밀 검토된 물리 What-If 강제 포함 |
| 배치 전용: 소스 엣지와 함께 합성 기록 |
| 배치 전용: 제안된 합성 검증 |
| 제어된 무작위성 주입( |
| 배치 전용: 옵션에 대한 타입 결정 기록 |
| 대안 아이디어 비교 |
문서 연산(가용성은 워크플로우 모드에 따라 다름)
도구 | 용도 |
| 콘텐츠로 문서 생성 |
| 문서 텍스트 수정 |
|
|
|
|
소스 읽기
도구 | 용도 |
| 단계적 읽기를 위한 텍스트 로드 |
| 다음 부분 읽기, 노드 자동 생성 |
| 읽기 진행 상황 확인 |
| 로드된 소스 목록 |
| 정확한 소스 텍스트 재구성; |
프로젝트 관리
도구 | 용도 |
| 활성 프로젝트 전환 |
| 사용 가능한 프로젝트 목록 |
프로젝트 간
도구 | 용도 |
| 다른 프로젝트에서 노드 조회 |
| 접근 가능한 외부 프로젝트 목록 |
| 개념을 참조하는 노드 찾기 |
| 프로젝트 간 참조 검증 |
| 모든 프로젝트에서 검색 |
멀티 에이전트 조정 (Solver)
도구 | 용도 |
| 전문화된 solver 에이전트 등록 |
| solver 큐에 작업 게시 |
| 대기 중인 작업 수락 (작업자 모드) |
| 작업 결과 제출 |
| 등록된 solver 목록 |
| 작업 큐 통계 |
Claude Code 에이전트 팀과의 멀티 에이전트
Understanding Graph는 Claude Code 에이전트 팀을 위한 공유 영구 매체로 설계되었습니다. npx -y understanding-graph@0.1.30 init 실행 후, 리드는 이름이 지정된 그래프를 생성하거나 선택합니다. 해당 프로젝트 루트에서 작업하는 모든 팀원은 이를 공유할 수 있습니다 — 번들 데이터 없이 스티그머지(stigmergy) 방식입니다.
작동 방식
You: "Create an agent team to research and implement auth for this app"
Claude (Team Lead):
├── Researcher teammate ─── reads/writes shared graph ───┐
├── Backend teammate ─── reads/writes shared graph ───┤ Same Understanding Graph
├── Security teammate ─── reads/writes shared graph ───┤ (via MCP)
└── synthesizes findings from graph_history() ┘init은 모든 팀원에게 동일한 유동 프로토콜을 설치합니다 — 각 에이전트는 그래프를 표준 매체로 취급하며, 직접 작업하거나 자연스러운 선택 지점에서graph_suggest_next에 구체적인 가능성을 요청할 수 있습니다.커밋 메시지가 조정 계층입니다 — 각
graph_batch에는commit_message가 필요합니다. 보안 팀원이 "보안 에이전트: localStorage에서 JWT 발견 — 편의성과 XSS 위험 사이의 긴장"이라고 작성하면, 백엔드 팀원은graph_history()를 통해 이를 확인하고 조치를 취합니다.트리거가 기여를 분류합니다 — 팀원들은 노드에 태그(
tension,question,decision,surprise)를 지정하여 중요한 것을 쉽게 찾을 수 있게 합니다: "해결되지 않은 모든 긴장 표시" 또는 "아직 열려 있는 질문은?"필수 직접 메시징 없이 지속적인 인계 — 팀원들은 그래프 자체를 통해 조정할 수 있습니다. 연구자는
question노드를 남기고, 백엔드 에이전트는graph_find_by_trigger로 이를 찾아answers엣지를 생성합니다.
스웜으로 시작하기
cd your-project
npx -y understanding-graph@0.1.30 init # one-time setup그런 다음 Claude Code에서:
Create an agent team with 3 teammates to [your task].
Each teammate should work through the shared Understanding Graph,
preserve material understanding as it emerges, and use graph_batch
with descriptive commit messages so the team can coordinate.장기 실행 조정 (solver 시스템)
단일 팀을 넘어 여러 세션에 걸친 작업이나 비동기 인계가 필요한 경우:
도구 | 용도 |
| 전문가 등록 (예: "SecurityReviewer", "ArchiveKeep") |
| 큐에 작업 게시 |
| 대기 중인 작업 수락 (작업자 모드) |
| 결과 제출 |
| 공유 노드의 충돌 방지 |
solver 시스템은 SQLite 데이터베이스에 유지되므로 작업이 세션 간에 유지됩니다. 한 팀이 위임한 작업을 향후 팀이 이어받을 수 있습니다.
아키텍처
packages/
core/ # Graph logic, SQLite storage, embeddings
mcp-server/ # MCP server (41 default / 69 full tools + batch operations)
web-server/ # REST API + serves frontend
frontend/ # 3D visualization (React + Three.js)스택:
SQLite + better-sqlite3 -- 영구 저장소
Graphology -- 인메모리 그래프 연산
MCP 프로토콜 -- 에이전트 통합
Transformers.js -- 의미 검색을 위한 로컬 임베딩
개발
git clone https://github.com/emergent-wisdom/understanding-graph.git
cd understanding-graph
npm install
npm run build
npm run start:web # Web UI at http://localhost:3000개발 모드
# Terminal 1: Web server with hot reload
npm run dev:web
# Terminal 2: Frontend dev server
cd packages/frontend && npm run dev환경 변수
변수 | 기본값 | 설명 |
|
| 프로젝트 데이터를 저장할 위치 |
| 현재 작업 디렉토리 |
|
|
| 웹 서버 포트 |
|
| 웹 바인드 주소; 루프백이 아닌 경우 |
| -- | 원격 작업자 API/관리 요청에 필요한 Bearer 비밀 |
| -- | 저장소 자율 작업자 스크립트용 (선택 사항) |
| -- | 선택적 Anthropic 자율 작업자용 명시적 모델 ID |
|
| 적용되는 도구 표면: 안전한 교차 도메인 |
|
| 제안 지원: |
| 설정 안 됨 | 시작 시 로드하거나 명시적으로 생성할 선택적 프로젝트 |
작동 원칙
그래프를 매체로 사용 — Understanding 모드가 활성화된 동안, 작업에 중요한 전달 가능한 이해와 주소 지정 가능한 아티팩트 단위를 보존하십시오. 단순한 최종 답변만이 아니라.
모델에 주도권 유지 —
graph_suggest_next는 선택적 지원이 유용할 때 가중치가 적용된 구체적인 자극을 제공합니다. 모델은 사용자의 작업에 따라 직접 작업하거나 이를 선택, 결합, 수정, 거부, 대체 또는 건너뛸 수 있습니다.작업을 변경할 수 있을 때 다시 진입 — 고정된 타이머나 의례가 아니라, 진정한 선택 지점, 예상치 못한 상황, 저항 또는 불확실성에서 축적된 그래프를 다시 방문하십시오.
전사가 아닌 종합 — 입력을 복사하는 대신, 만남이 무엇을 변경했는지 보존하십시오. 해결되지 않은 함의와 긴장을 포함하여. PURE는 개방적 탐색 후 선택적 안정화 확인으로 사용할 수 있습니다. 이는 할당량이나 출현에 대한 게이트가 아닙니다.
출처 보존 — 설명적 커밋, 전용 수정 및 대체 작업, 실제 아티팩트의 증거, 그리고 협업이 실제로 요구할 때 명시적 소유권 또는 인계를 사용하십시오.
sema와 함께 사용
Understanding Graph는 에이전트에게 공유 일화적 메모리를 제공합니다 — 결정 뒤에 기록된 해석적 추적입니다. Sema는 공유 의미적 메모리를 제공합니다 — 인지 패턴의 콘텐츠 주소 지정 어휘입니다. 이 둘은 결합됩니다:
# Add both to Claude Code
claude mcp add ug -- npx -y understanding-graph@0.1.30 mcp
claude mcp add sema -- uvx --from semahash sema mcp둘 다 설치된 상태에서 에이전트는 다음을 수행할 수 있습니다:
노드의
understanding또는why텍스트 내에서 sema 패턴 URI(예:sema://StateLock#7859)를 참조하여 조정 프리미티브의 의미를 고정합니다.graph_semantic_search를 사용하여 현재 프로젝트에서 패턴을 참조하는 노드를 찾습니다. 검색이 여러 그래프에 걸쳐 있을 때는 프로젝트를 명시적으로 전환하거나 프로젝트 간 참조 도구를 사용하십시오.sema_handshake를 호출하여 두 에이전트가 그래프에서 서로의 사고 위에 구축하기 전에 동일한 패턴 정의를 공유하는지 확인합니다 — 실패 시 폐쇄되는 핸드셰이크는 조용한 의미적 드리프트를 방지합니다.
전체 워크스루: sema와 함께 Understanding Graph 사용
그래프 내부에서 코딩
코드는 그래프 문서 루트와 그 순서가 지정된 자식 노드에 있습니다.
doc_generate 또는 doc_generate_all로 실행 가능한 파일을 생성하고, 실제 빌드와
테스트를 실행한 다음, 소스 노드를 수정하거나 재배열하고 재생성하십시오 — 생성된
프로젝션을 직접 패치하지 마십시오.
전체 워크플로는 coding-inside-the-graph를 참조하십시오.
인용
@misc{westerberg2026understanding,
title = {Understanding Graph: A Recursive Medium for Persistent Understanding},
author = {Westerberg, Henrik},
year = {2026},
month = aug,
publisher = {Zenodo},
doi = {10.5281/zenodo.19462658},
url = {https://doi.org/10.5281/zenodo.19462658}
}기계 판독 가능 버전은 CITATION.cff를 참조하십시오 (GitHub는
이를 통해 "이 저장소 인용" 버튼을 렌더링합니다).
라이선스
MIT -- LICENSE
GitHub: emergent-wisdom/understanding-graph npm: understanding-graph MCP 프로토콜: modelcontextprotocol.io
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
- AlicenseNot gradedqualityDmaintenanceProvides persistent knowledge graph memory for AI agents, enabling them to store, recall, and query facts about people, projects, and relationships across sessions.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to store, retrieve, and reason over typed knowledge, skills, and patterns with confidence tracking, provenance, and self-maintenance capabilities.
- AlicenseNot gradedqualityBmaintenanceEnables persistent, graph-based memory for AI agents, allowing them to store, traverse, and recall relationships between facts, decisions, and context across sessions for efficient reasoning and reduced token usage.MIT

Hebbrix MCP Serverofficial
AlicenseAqualityAmaintenanceProvides long-term memory and a temporal knowledge graph for AI agents, enabling persistent memory and reasoning across sessions.261MIT
Related MCP Connectors
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
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/emergent-wisdom/understanding-graph'
If you have feedback or need assistance with the MCP directory API, please join our Discord server