Skip to content

feat(mcp): Atlas MCP — Neo4j + streamable HTTP #43

@hagyutae

Description

@hagyutae

배경

A 의 설계 결과물 (부분 그래프) 을 graph db 에 저장 / 조회 / merge 하기 위한 MCP. 사용자 답변 Q2 — M3 에서는 깔지 않고 M4 에서 필요한 만큼만.

스코프

Neo4j 컨테이너

  • infra/docker-compose.yml 에 Neo4j 컨테이너 활성화 (이미 .env.exampleNEO4J_* 정의됨)
  • Community Edition 사용
  • 인증 정보 .env 에서 주입

MCP 서버 (mcp/atlas/)

  • 별 컨테이너 + streamable HTTP transport (M3 와 동일 패턴)
  • M4 가 실제로 쓰는 도구만 노출:
도구 시그니처 용도
upsert_nodes(nodes) 노드 list (id, labels, properties incl. status) A 의 부분 그래프 upsert
upsert_edges(edges) 엣지 list (from, to, type, properties) 동상
get_neighborhood(node_id, depth) 영향 범위 조회 A 가 기존 그래프 탐색
query_cypher(stmt, params) 직접 cypher (escape hatch) A / L 의 자유 쿼리
get_node(id) 단건 조회 sync 비교
delete_subgraph(node_ids) 명시적 삭제 거의 안 쓰지만 운영용

FIFO 쓰기 큐 (proposal §6.4)

  • Doc Store MCP 와 동일 패턴, 쓰기 직렬화

Schema 정의

  • docs/doc-store-schema.md 와 별로 docs/atlas-schema.md 신규 — 노드 라벨 / 엣지 타입 / status 프로퍼티 / 인덱스
  • proposal §4.1 의 모델 (Interface / Class / PublicMethod / Module / Task / Feature / BugReport) 기반

비-스코프

  • 코드 정밀 분석 / Diff 색인 (M5+, Eng 가 코드 수정 시작 후)
  • 시각화 대시보드 (M5+)
  • 그래프 풀 검색 (M5+)

검증

  • Neo4j 컨테이너 정상 부팅
  • MCP 서버 streamable HTTP 정상 응답
  • 각 도구 단위 테스트 (모킹된 Neo4j)
  • FIFO 쓰기 검증
  • 통합 테스트 — A 가 부분 그래프 upsert 후 get_neighborhood 로 정상 조회

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions