MCP 서버
ADHDev는 외부 MCP 클라이언트가 ADHDev 세션을 도구로 사용할 수 있도록 MCP stdio 서버를 제공합니다. 이 서버는 @adhdev/mcp-server로 게시되며 메인 클라우드 CLI인 adhdev mcp로도 래핑됩니다.
Claude Desktop 같은 MCP 클라이언트가 활성 ADHDev 세션을 나열하고, 채팅 히스토리를 읽고, 메시지를 보내거나, 대기 중인 프롬프트를 승인하도록 하려면 사용하세요. Mesh 모드에서는 전체 Repo Mesh 코디네이터 툴 표면이 됩니다 — 등록의 전체 흐름은 에이전트 주도 Repo Mesh 셋업을 참고하세요.
모드
| 모드 | MCP 서버가 사용하는 전송 | 도구 |
|---|---|---|
| 로컬 스탠드얼론 | http://localhost:3847 스탠드얼론 API | 기본 15개 도구 + screenshot + Mesh 부트스트랩 3개 도구 (총 19개) |
| IPC | localhost:19222의 클라우드 데몬 로컬 IPC | 동일한 기본 15개 도구 + Mesh 부트스트랩 3개 도구, screenshot 제외 (총 18개) |
| Mesh | 로컬 또는 IPC + --repo-mesh <id> | 코디네이터 범위 세트 — 아래 Mesh 도구 참고 |
| Worker | 로컬 또는 IPC + --worker | 최소한의 위임 워커 툴셋: report_completion, progress_update, peer_context_pull, git_status, git_log, git_diff (6개 도구) |
로컬 모드는 OSS/셀프호스트 표면의 일부입니다. 스탠드얼론 설정 및 인증 세부 사항은 OSS 문서를 참고하세요:
서버 시작
# 로컬 모드: 실행 중인 스탠드얼론 데몬 필요
adhdev mcp
adhdev mcp --port 4000
adhdev mcp --password my-standalone-passwordOSS 패키지를 직접 실행할 수도 있습니다:
npx @adhdev/mcp-server
npx @adhdev/mcp-server --mode ipc --repo-mesh mesh_abc123환경 변수도 지원됩니다:
ADHDEV_PASSWORD=my-standalone-password adhdev mcp
ADHDEV_MESH_ID=mesh_abc123 adhdev mcpClaude Desktop 설정
{
"mcpServers": {
"adhdev": {
"command": "adhdev",
"args": ["mcp"]
}
}
}Mesh 모드 (코디네이터 범위 도구):
{
"mcpServers": {
"adhdev-mesh": {
"command": "adhdev",
"args": ["mcp", "--mode", "ipc", "--repo-mesh", "mesh_abc123"]
}
}
}표준 모드 도구
표준 모드(--repo-mesh 없음)는 직접 세션 제어 표면에 더해, Mesh가 아직 없을 때 MCP 전용 에이전트가 Mesh를 먼저 만들 수 있게 해주는 부트스트랩 도구 3개를 노출합니다.
세션 및 데몬
list_daemons— 연결된 데몬의 ID를 보고합니다.list_sessions— 데몬의 사용 가능한 세션을 검색합니다.launch_session/stop_session— CLI/IDE 에이전트 수명 주기를 관리합니다.check_pending— 승인 대기 중인 세션을 나열합니다.
채팅 및 승인
read_chat— 선택된 세션의 최근 채팅을 읽습니다.read_chat_debug— 선택된 세션의 채팅 상태에 대한 경계 있는 디버그 번들.spec_debug— 프로바이더 스펙 파싱 디버그 헬퍼.send_chat— 선택된 세션에 메시지를 보냅니다.approve— 승인 프롬프트를 승인하거나 거부합니다.
Git
git_status,git_diff,git_log,git_checkpoint,git_push— 워크스페이스 git 작업을 관리합니다.
로컬 전용
screenshot— 데몬을 통해 현재 IDE 창을 캡처합니다. P2P/로컬 데몬 접근이 필요하므로 로컬 모드에서만 사용 가능하고 IPC에서는 사용할 수 없습니다.
Mesh 부트스트랩 (로컬·IPC 표준 모드 양쪽에서 사용 가능 — 아직 Mesh가 없는 경로)
mesh_create— 새 Mesh를 생성하며, 선택적으로 현재 워크스페이스를 첫 노드로 등록합니다.mode: "plan"으로 호출하면 Mesh 생성/참여 시 일어날 일을 제안만 하고 아무것도 쓰지 않는 읽기 전용 dry-run이 됩니다 — 먼저 이것부터 실행하세요.mesh_add_node— 기존 워크스페이스를 기존 Mesh의 노드로 등록합니다.
Mesh가 존재하면 --repo-mesh <mesh_id>로 MCP 서버를 재등록하여 Mesh 모드로 전환하고 아래의 전체 코디네이터 툴셋을 사용할 수 있습니다 — Mesh 모드는 도구 표면에 추가하는 것이 아니라 완전히 교체합니다.
Mesh 도구
Mesh 도구는 Mesh 모드(--repo-mesh)에서만 사용 가능합니다. 표준 도구를 코디네이터 범위 도구 세트로 교체합니다.
이름과 개수의 권위 있는 출처는 코드입니다
이 페이지는 방향성을 위해 도구를 패밀리별로 묶어 소개합니다. 정확한 이름·현재 개수·전체 입력 스키마의 권위 있는 목록은 oss/packages/mcp-server/src/tools/mesh-tool-schemas.ts의 ALL_MESH_TOOLS입니다. 아래 목록과 코드가 다르면 코드가 맞습니다 — 이 목록은 과거에 낡은 적이 있습니다.
상태 및 검사
mesh_status— 집계 스냅샷: 모든 노드의 상태, git 상태, 활성 세션, 복구 힌트, 데몬별 빌드/오래됨 정보.mesh_list_nodes— Mesh 설정 기반의 가벼운 노드 목록: 모든 노드의 워크스페이스 경로, 머신 식별, 노드 정책, 기능(라이브 git이나 세션은 없음 — 그건mesh_status).mesh_read_chat— 위임된 에이전트의 채팅 히스토리를 읽습니다.mesh_read_debug— 위임된 세션을 위한 경계 있는 디버그 번들.mesh_read_terminal— 위임된 세션의 현재 원시 PTY 뷰포트(지금 사람이 화면에서 보는 것)를 읽습니다.mesh_git_status— 노드 워크스페이스의 git 상태를 가져옵니다.mesh_read_node_logs— 노드의 데몬 로그 파일을 grep합니다(꼬리만이 아니라 파일 전체).mesh_task_history— Mesh 원장: 태스크, 완료, 실패, 체크포인트, 노드·미션 생명주기.kind(하나 또는 쉼표 목록),since,node로 거르고 최신tail건을 반환합니다.mesh_ledger_query—mesh_task_history의 퇴역 예정 별칭(퇴역된 별칭 참고).mesh_review_inbox— 코디네이터의 검토/승인 대기 항목.mesh_list_pending_approvals— 현재 승인 결정을 기다리는 모든 세션의 Mesh 전체 목록.mesh_route_preview— 현재 인메모리 mesh/큐/쿼터-팩트 스냅샷을 기준으로 가상의 작업이 어디로, 왜 라우팅될지 미리 보여주는 읽기 전용, fetch 없는 프리뷰(용량 우선 순서, 난이도 하한, 적합도 구성요소, 쿼터 보너스, 게이트 결과). enqueue·쓰기·CLI 프로브·쿼터 갱신을 전혀 하지 않습니다.
디스패치·세션·제어
mesh_send_task— 위임된 에이전트 세션으로 자연어 태스크를 직접 전송합니다.mesh_launch_session— Mesh 노드에 새 에이전트 세션을 실행합니다.mesh_send_keys— 위임된 워커 세션에 구조화된 키 시퀀스를 주입합니다.mesh_restart_daemon— Mesh 노드의 데몬을 재시작합니다.mesh_approve— 위임된 에이전트의 보류 중인 액션을 승인/거부합니다.mesh_answer_question— 위임된 세션이 대기 중인 다지선다 질문(AskUserQuestion)에 답합니다.mesh_checkpoint— 노드 워크스페이스에 git 체크포인트를 생성합니다.mesh_cleanup_sessions— 노드의 오래되거나 고아 상태인 위임된 세션을 중지/정리합니다.mode: "prune_stale_direct"는 대신 Mesh 전체의 오래된 직접 디스패치 레코드를 정리합니다(execute: true가 아니면 dry-run).
작업 큐 및 미션
mesh_enqueue_task— 유휴 노드가 자율적으로 클레임하는 태스크를 큐에 추가합니다 (target_node_id/prefer_worktree라우팅,task_mode,mission_id,depends_on지원, 그리고 메시의 다른 곳에서 겹치는code_change태스크가 경합 대신 클레임 시점에 거부되도록 하는 선택적owned_paths선언). 기존 태스크에depends_on으로 새 태스크를 체이닝하는 것이 다단계 계획을 쌓아 올리는 기본 방식입니다 — 작업이 발견될 때마다 계획이 한 번에 하나씩 링크를 늘려갑니다.depends_on이 있는 태스크는 선행 태스크(들)가 완료 시 보고한 내용을 요약하는 "Upstream results" 부록을 자동으로 받습니다.mesh_enqueue_batch— 여러 태스크(와 그depends_on연결)를 한 번의 호출로 원자적으로 큐에 넣으며, 항목 중 하나라도 유효하지 않으면 배치 전체가 롤백됩니다. 단계가 이미 확정된 계획을 위한 편의 도구이며 — 태스크를 체이닝하는 기본 방식이 아닙니다(위의mesh_enqueue_task참고).mesh_view_queue— 현재 활성 작업 소스 (pending/assigned/terminal).mesh_queue_cancel/mesh_queue_requeue— 큐에 있는 태스크를 취소하거나 재큐에 추가합니다.mesh_mission_upsert— 미션 생성/업데이트 (목표 그룹화 + 수명 주기 상태).mesh_mission_list— 목표, 상태, 실시간 태스크 진행률(전체/대기/할당/완료/실패)과 함께 미션을 나열합니다.mesh_reconcile_ledger— 피어의 경계 있는 슬라이스에 맞게 로컬 원장을 조정합니다.mesh_note—action: "record"/"forget": 향후 코디네이터가 이어받는 지속적인 운영 노트를 기록하거나 철회합니다.
부트스트랩 및 설정 (Mesh 모드; 위의 표준 모드 부트스트랩 2종과는 구분됨)
mesh_init— 기존 git 프로젝트를 위한 원클릭 온보딩: 설치된 CLI 프로바이더를 감지하고 레포의.adhdev/*설정 3종(Refinery, worktree bootstrap, change-impact)을 제안합니다. 기본값은 미리보기이며write: true로 적용합니다.mode: "reinit"은 이미 초기화된 레포를 위한 같은 동작으로,overwrite가 기본 true이고 현재-vs-제안 diff를 반환합니다.mesh_config—kind로 선택하는 레포 설정 헬퍼.kind: "refine"과kind: "change_impact"는 읽기 전용 헬퍼로mode(schema/validate/suggest)로 동작을 고르고,kind: "mesh_json"은 머신 로컬 mesh 항목으로부터 레포에 커밋되는.adhdev/mesh.json을 씁니다(write: true가 아니면 dry-run). 아래 퇴역된 도구 이름 참고.
노드
mesh_clone_node— 노드를 격리된 git 워크트리 노드로 복제합니다.mesh_remove_node— (워크트리) 노드를 제거하며 선택적으로 세션을 정리합니다.mesh_cleanup_worktree_nodes— 브랜치가 병합/푸시됨이 증명되고 모든 안전 제외 조건을 통과한 수렴된 로컬 워크트리 노드의 안전한 제거를 계획(기본 dry-run)하거나 실행합니다.mesh_fast_forward_node— 기본적으로 안전하게 dry-run하거나 명시적으로 실행하여, 에이전트 세션을 실행하지 않고 명확한 clean fast-forward를 수행합니다; fetch/recheck,merge --ff-only, 선택적 서브모듈 업데이트, 사후 상태 검증만 사용합니다.
Refinery (워크트리 → 베이스 수렴)
mesh_refine_node/mesh_refine_batch— 하나 또는 여러 워크트리 브랜치를 베이스로 수렴합니다(검증 → 머지 → 푸시 → 정리). 둘 다 기본값은 계획 미리보기이며execute: true를 주기 전에는 아무것도 실행하지 않습니다.
노드 슬롯 (프로바이더/모델/사고 수준 라우팅)
mesh_node_slots— 노드의 슬롯 목록(프로바이더/모델/사고 수준을 난이도 클래스에 바인딩)을action으로 다룹니다:list는 현재 슬롯을 나열하고,set은 슬롯 목록을 제안(dry-run)하거나 적용하며,propose는 노드에 설치된 CLI 에이전트를 자동 감지해 역량-슬롯 프로필 초안을 만드는 읽기 전용 동작입니다("일단 허용하면 알아서 슬롯을 파악하는" 경로).propose는 절대 쓰지 않습니다 — 검토 후mesh_node_slots({ action: "set", node_id, slots: proposedSlots, write: true })로 초안을 적용하세요. 슬롯 쓰기는 전체 교체이므로 수동으로 조정한 슬롯을 지울 수 있습니다.
Worker 모드
adhdev mcp --mode ipc --worker는 Repo Mesh 워커 세션(메시 코디네이터가 다른 에이전트 세션에 태스크를 디스패치하고, 그 세션들이 워커로 동작함)이 사용하는 최소한의 위임 워커 툴셋을 시작합니다. 이 모드는 보통 데몬이 워커 세션을 시작할 때 데몬 자체가 실행하는 것이지, 손으로 직접 실행하는 것이 아닙니다 — 워커 프로세스는 데몬이 제공하는 세션 바인드(ADHDEV_WORKER_SESSION_BIND) 또는 태스크 토큰(ADHDEV_WORKER_TASK_TOKEN)이 필요합니다. --worker는 --repo-mesh를 오버라이드합니다: 워커 세션은 코디네이터 툴셋을 절대 받지 않습니다.
워커 도구: report_completion, progress_update, peer_context_pull, git_status, git_log, git_diff.
퇴역된 도구 이름
2026-09-26에 같은 대상을 다루던 도구들을 action / kind / mode 인자로 고르는 하나의 도구로 합쳐, Mesh 도구 표면을 60개에서 48개로 통합했습니다. 모든 기능은 그대로 사용할 수 있습니다. 옛 이름은 tools/list에 더 이상 게시되지 않으며 포워딩되지 않습니다: 호출하면 대체 도구와 추가할 인자를 알려주는 오류가 반환되므로, 옛 프롬프트로 도는 에이전트도 다음 호출에서 바로 복구됩니다.
| 옛 이름 | 대신 호출 |
|---|---|
mesh_node_slots_list | mesh_node_slots + action: "list" |
mesh_node_slots_propose | mesh_node_slots + action: "propose" |
mesh_node_slots_set | mesh_node_slots + action: "set" |
mesh_record_note | mesh_note + action: "record" |
mesh_forget_note | mesh_note + action: "forget" |
mesh_reinit | mesh_init + mode: "reinit" |
mesh_refine_config | mesh_config + kind: "refine" |
mesh_change_impact_config | mesh_config + kind: "change_impact" |
mesh_write_mesh_json_config | mesh_config + kind: "mesh_json" |
mesh_plan_onboarding | mesh_create + mode: "plan" |
mesh_prune_stale_direct | mesh_cleanup_sessions + mode: "prune_stale_direct" |
그래프 오케스트레이션 도구(mesh_graph_view, mesh_graph_gate, mesh_graph_node_patch)는 2026-09-30에 대체 도구 없이 제거되었습니다. 태스크는 depends_on으로 체이닝하세요.
MAGI 도구(mesh_magi_review, mesh_magi_collect, mesh_magi_kind_panel)는 2026-09-30에 제거되었습니다. 호출하면 대체 방법을 담은 오류가 반환됩니다: 같은 읽기 전용 질문을 서로 다른 프로바이더의 워커 2~3개에 mesh_send_task로 보내고, report_completion을 기다린 뒤 답을 직접 합성하세요.
mesh_refine_plan은 2026-10-08에 제거되었습니다. mesh_refine_node의 기본 드라이런 별칭이었습니다. 호출하면 mesh_refine_node를 안내하는 오류가 반환되며, mesh_refine_node는 아무것도 실행하지 않고 같은 계획을 반환합니다.
mesh_coordinator_prompt_append(퇴역 이름 _get / _set 포함)는 2026-10-08에 머신별 ~/.adhdev/coordinator-prompts/ 파일과 함께 제거되었습니다. 데몬은 이 파일을 더 이상 읽지 않습니다. 호출하면 대체 방법을 안내하는 오류가 반환됩니다: 프로젝트 코디네이터에 늘 적용할 지시는 저장소 .adhdev/mesh.json의 coordinator.systemPromptAppend에 넣고(mesh_config, kind: "mesh_json"), 교훈은 mesh_note로 기록하세요.
퇴역된 별칭
mesh_refine_config_schema, mesh_suggest_refine_config, mesh_validate_refine_config와 그 change-impact 대응물(mesh_change_impact_config_schema, mesh_suggest_change_impact_config, mesh_validate_change_impact_config)은 위 통합 이전의 이름입니다. tools/list에는 게시되지 않지만, 서버는 하위 호환을 위해 계속 디스패치하며 일치하는 kind와 mode로 mesh_config에 포워딩합니다. 새로 작성하는 코드는 mesh_config를 직접 사용해야 합니다.
mesh_ledger_query는 mesh_task_history의 퇴역 예정 별칭입니다. 2026-10-08에 kind / since / node 필터가 mesh_task_history로 옮겨졌습니다. 한 릴리스 동안은 계속 게시되고 동작하지만(전체 페이로드, tail 기본값 50) 그 뒤 제거됩니다. 새로 작성하는 코드는 mesh_task_history를 쓰고, 전체 페이로드가 필요하면 verbose: true를 주세요.
관련 레퍼런스
- 에이전트 주도 Repo Mesh 셋업 — 등록 전체 흐름 (표준 모드 부트스트랩 → Mesh 모드)
- CLI 명령어
- API 키
- REST API
