Skip to main content
Glama

작동 확인

서로 다른 하네스에 있는 두 에이전트가 서로를 발견하고, 메시지를 교환하고, 사람이 그 사이에서 컨텍스트를 전달하지 않고도 작업을 분담할 수 있습니다:

Claude Code → Concord   Claim src/app/page.tsx
Codex       → Concord   Claim src/app/page.tsx
Concord     → Codex     Overlap: Claude Code already owns this file
Codex       → Claude    I'll take src/app/api instead. Does that work?
Claude      → Codex     Yes. I'll keep the page and use your API contract.

실제 Claude Code ↔ Codex 데모를 실행하여 두 에이전트가 실시간 프롬프트/응답을 통해 중복 클레임을 해결하고, 플레이 가능한 앱을 만들고, 소유권을 이전하고, 결과를 독립적인 검토자에게 넘기는 과정을 지켜보세요.

Related MCP server: ccg-mcp-tool

빠른 시작

npm install -g @concord-ai/concord-mcp
cd /path/to/your/repository
concord setup

에이전트 클라이언트를 다시 시작한 다음, 두 에이전트에게 같은 저장소에서 작업하도록 요청하세요. Concord는 그들에게 공유 작업 공간을 제공하고, 도달 가능한 세션을 직접 프롬프트와 응답에 사용할 수 있게 합니다.

concord setup은 로컬 .concord/ 작업 공간을 만들고, Claude, Cursor, Gemini, Grok, Codex용 MCP 서버를 등록하며(.mcp.json, .cursor/mcp.json, .gemini/settings.json, .grok/config.toml, ~/.codex/config.toml), Concord의 도구 지침을 클라이언트 구성(CLAUDE.md, AGENTS.md, .codex/, .cursor/rules/)에 작성합니다. 기존 구성을 대체하지 않고 병합하며, 다시 실행해도 안전합니다.

설정은 또한 지원되는 클라이언트를 감지하고 해당 전역 Concord 어댑터를 독립적으로 설치하려고 시도합니다. 이 단계를 건너뛰려면 --no-adapters를 사용하거나, 지원이 저하된 경우 실패해야 하는 관리형 설치에서는 --require-adapters를 사용하세요. MCP 등록을 직접 관리하면서 작업 공간과 지침만 작성하려면 --no-mcp를 전달하세요.

지원 에이전트

에이전트

통합 가이드

Claude Code

설정 및 전달

Codex

설정 및 전달

Cursor

설정 및 전달

Gemini CLI

설정 및 전달

Grok Build

설정 및 전달

기타 MCP 지원 코딩 에이전트

다섯 가지 MCP 도구를 통한 공유 작업 상태

보편적인 /concord 슬래시 명령은 없습니다 — 명령은 클라이언트별로 다릅니다. Concord는 MCP 도구와 설치된 지침을 통해 모든 MCP 지원 클라이언트에서 작동합니다.

실시간 전달은 수신 하네스와 세션 상태에 따라 달라집니다. concord adapters status를 실행하여 설치된 에이전트 중 어떤 것이 도달 가능한지, 메시지가 어떻게 전달될지 확인하세요.

커뮤니케이션이 출발점입니다

메시징은 에이전트가 대화를 시작하게 합니다. Concord의 공유 작업 상태는 메시지가 전달된 후에도 결과적인 협업을 안정적으로 유지합니다.

Concord 없이

Concord 사용

에이전트는 다른 하네스의 동료에게 연락할 수 없습니다

에이전트는 지원되는 클라이언트 간에 직접 응답 가능한 프롬프트를 보냅니다

에이전트는 편집 후에 충돌을 발견합니다

에이전트는 작업 시작 전에 파일과 모듈을 클레임합니다

세션이 끝나면 컨텍스트가 사라집니다

결정, 가정, 발견 사항이 작업에 계속 연결됩니다

소유권은 채팅 기록에 암시됩니다

할당과 인계는 명시적이며 승인됩니다

인간은 브랜치와 diff에서 진행 상황을 재구성합니다

검토 패킷은 범위, 테스트, 위험, 출처와 함께 도착합니다

Concord는 또 다른 자율 에이전트나 오케스트레이터가 아닙니다. 에이전트 주변의 공유 레이어입니다: 존재, 메시징, 작업 메모리, 소유권, 인계, 검토 상태를 하나의 작은 MCP 서버로 제공합니다.

도구

도구

목적

start_work

존재를 등록하고, 하나의 작업을 클레임하거나 수락하며, 편집 전에 범위 중복을 보고합니다

inspect_work

작업 공간/작업 상태, 에이전트 받은 편지함/보낸 편지함, 또는 지속적인 프롬프트/응답 스레드를 읽습니다

update_work

작업 컨텍스트를 기록하거나 다른 프롬프트 가능한 작업 공간 에이전트에게 즉시 프롬프트/응답을 보냅니다

transfer_work

할당, 수락, 거절, 해제, 재할당, 인계 제안, 또는 버전 관리된 작업 재개를 수행합니다

finish_work

증거를 기록하고 선택적으로 작업을 검토 준비 완료, 완료, 또는 종료로 표시합니다

쓰기 작업은 agent_id를 허용하며, 작업만으로도 존재를 활성 상태로 유지합니다. inspect_work누가 여기 있는지 보여주고 오래된 클레임을 표시합니다 — 소유 에이전트가 인계 없이 사라진 활성 클레임.

에이전트 간 실시간 통신을 위해 concord setup을 실행한 다음 기존 클라이언트 세션을 한 번 다시 시작하세요. 프롬프트는 update_workoperation: "prompt", 대상 to_agent_id, 내용, idempotency_key와 함께 사용합니다. 응답은 operation: "reply"reply_to_message_id를 사용합니다. 영수증을 제공하는 어댑터는 바쁜 턴을 조정하거나 유휴 턴을 시작합니다. 훅 전용 통합은 지속적인 풀 메시지를 남기고 결과에 그 제한을 명시합니다. 명명된 에이전트에 도달 가능한 엔드포인트가 없으면 전달은 즉시 실패합니다. Concord는 조용히 경로를 변경하지 않습니다.

concord adapters status는 각 하네스를 별도로 보고합니다. 모니터/컨트롤러 종류, 확인된 도달 가능성, 필요한 조치, 버전 프로브 결과를 포함합니다. concord adapters install, doctor, uninstall은 저장소 설정 외부에서 동일한 전역 수명 주기를 제공합니다.

Concord는 저장소 작업 공간을 자동으로 해석합니다. 작업은 workspace_id와 저장소 루트를 반환하므로 클라이언트가 잘못 라우팅된 호출을 감지할 수 있습니다. 하나의 서버가 여러 루트를 조정할 때 id를 명시적으로 전달할 수 있습니다.

수명 주기 변경 작업은 작업의 단조 versionexpected_version으로 사용합니다. 두 에이전트가 같은 버전에 대해 작업하면 첫 번째 전환만 성공합니다. 할당은 명명된 에이전트가 transfer_workaction: "accept"로 사용할 때까지 작업을 assigned 상태로 유지합니다. 인계 제안도 수신자가 수락할 때까지 소유권을 보낸 사람에게 유지합니다. 모든 소유권 변경은 추가 전용 감사 기록에 보존됩니다.

제공되는 것

SQLite는 로컬 진실의 원천이며, 작업이 발생하는 저장소의 루트에 있는 .concord/에 보관됩니다. MCP 서버는 CONCORD_REPO_ROOT가 설정된 경우 그 루트를 해석하고, 그 다음 Claude Code의 CLAUDE_PROJECT_DIR(Claude Code가 자동으로 설정, 사용자 범위 서버에서도), 그 다음 작업 디렉토리를 사용합니다 — 따라서 한 저장소의 모든 에이전트가 하나의 저장소를 공유합니다. 서버가 저장소 내부에 없는 작업 디렉토리에서 실행될 때 CONCORD_REPO_ROOT를 설정하세요.

연결된 Git 워크트리는 Git의 commondir 메타데이터를 따라 기본 체크아웃으로 이동하므로, 기본 체크아웃과 모든 연결된 워크트리는 의도적으로 하나의 Concord 데이터베이스와 작업 공간 id를 공유합니다.

명시적 작업 공간 선택을 제한하려면 CONCORD_ALLOWED_ROOTS를 허용된 저장소 루트의 경로 구분 목록으로 설정하세요. 허용 목록이 없어도 디코딩된 루트는 존재하고 디렉토리여야 합니다.

concord setup은 저장소의 .gitignore.concord/를 추가하므로 생성된 작업 공간은 기본적으로 로컬로 유지됩니다. PR에서 선택한 아티팩트를 원하는 팀은 해당 규칙을 제거하거나 사람이 읽을 수 있는 파일을 강제로 추가할 수 있습니다:

.concord/
├── concord.db          local source of truth
├── HANDOFF.md          human-readable handoff
├── REVIEW_PACKET.md    review-ready evidence
└── WORK_STATE.json     generated export (optional)

CLI

Concord는 타입이 지정된 MCP 도구와 일반 CLI를 모두 지원합니다. MCP 지원 에이전트는 도구를 직접 호출할 수 있습니다. 인간과 CLI 지향 에이전트는 concord 명령을 통해 동일한 공유 작업 공간을 사용할 수 있습니다.

concord setup                # set up local state, instructions, and MCP clients
concord status               # roster, active work, overlaps, stale claims, review-ready
concord dashboard            # live, keyboard-driven view of agents, tasks, alerts, and activity
concord who                  # which agents are present and what they are working on
concord tasks                # list all tracked tasks
concord handoff <task-id>    # print the latest handoff
concord review-packet <id>   # print the latest review packet
concord export markdown      # regenerate .concord/ artifacts
concord doctor               # workspace checks + per-task tool adoption
concord adapters status      # global harness delivery capability matrix

concord --repo ../project status        # select by repository path from anywhere
concord --workspace ws_... status       # select an id returned by a Concord operation

--repo--workspace는 전역 상호 배타적 옵션입니다. CLI는 MCP와 동일한 CONCORD_REPO_ROOTCLAUDE_PROJECT_DIR → 작업 디렉토리 우선순위와 동일한 연결된 워크트리 정규화를 사용합니다.

concord dashboard는 읽기 전용, 전체 화면 로컬 TUI입니다. 공유 SQLite 작업 공간에서 매초 새로 고쳐지며 에이전트, 작업, 알림, 컨텍스트, 타임라인을 고정된 터미널 뷰포트에 유지합니다. Tab으로 창을 전환하고, j/k 또는 화살표 키로 작업을 선택하고, /로 필터링하고, ?로 도움말을 보며, q로 종료합니다.

업그레이드

npm install -g @concord-ai/concord-mcp@latest
concord --version

Concord는 매일 확인하고 CLI, MCP 도구, 대시보드에서 사용 가능한 업데이트를 표시합니다. concord setup은 확인 후 업데이트를 설치할 수 있으며, CONCORD_NO_UPDATE_CHECK=1은 확인을 비활성화합니다.

이것이 무엇인지 / 아닌지

동일한 로컬 체크아웃을 사용하는 코딩 에이전트를 위한 공유 작업 상태 및 작업 메모리. 아닌 것: 오케스트레이터, 코드 검토자, 호스팅 동기화 서비스, 메모리 벡터 DB, 자율 코딩 에이전트.

참조: 왜 마크다운만 사용하지 않나요?

기여

CONTRIBUTING.mdCLAUDE.md를 참조하세요. 이 저장소는 엄격한 타입(any 없음, 타입 캐스트 없음)과 모듈식입니다. 좋은 첫 이슈는 good first issue로 표시되어 있습니다.

스타 기록

개인정보 및 원격 측정

Concord는 제품 및 조정 원격 측정 데이터를 getconcord.ai로 전송합니다. 여기에는 무작위 설치/호출 식별자, 설치별 비가역적 워크스페이스 및 작업 흐름 가명, Concord/Node/플랫폼 버전, 정규화된 클라이언트 메타데이터, 작업 이름·결과·기간, 집계된 중복/편집 가드 결과, 메시지 전달 단계 및 지연 시간, 작업 수명 주기 전환 및 경과 시간, 그리고 명시적으로 보고된 승인·통합·인적 개입·재작업 결과가 포함됩니다.

Concord는 코드, 원시 파일 또는 저장소 경로, 원격 저장소, 사용자 이름, 원시 작업 또는 에이전트 식별자, 메시지 식별자 또는 내용, 명령 인수, 도구 입력/출력, 작업 내용을 절대 전송하지 않습니다. 수신 서버는 요청 IP 주소를 저장하고 국가 코드를 파생/저장합니다. 이러한 서버 측 필드에는 현재 자동 만료가 없습니다. 원격 측정을 비활성화하려면 CONCORD_TELEMETRY_DISABLED=1(또는 DO_NOT_TRACK=1)을 설정하세요. 전송은 최선의 노력(best effort)으로 이루어지며 Concord 작업이 실패하게 만들 수 없습니다.

라이선스

MIT

Available Tools

5 tools
finish_workFinish workB

Record completion evidence and atomically leave the task active as a handoff, mark it review-ready, or close it with a complete/closed outcome.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoAudited terminal reason; defaults to the change summary
outcomeNoFinal task state; handoff records evidence without changing lifecycle statecomplete
task_idYesStable task identifier, e.g. TASK-12
agent_idNoUsually omit — Concord derives your identity from your session. Pass only the id your client told you (Codex); a session Concord can see always wins.
decisionsNoNotable decisions and why
diff_sizeNoRough diff size, e.g. +120 / -30
tests_runNoTest commands run
next_stepsNoRemaining work or follow-ups
provenanceNoEvidence source for review claims
assumptionsNoAssumptions made
known_risksNoKnown risks introduced
what_changedYesConcise summary of what changed
workspace_idNoWorkspace id returned by a Concord operation. Omit to use the automatically resolved repository workspace.
changed_filesNoFiles that changed
open_questionsNoUnresolved review questions
expected_versionYesTask version last read by the caller; stale versions are rejected
reported_outcomeNoOptional measured acceptance, integration, or intervention result
needs_review_fromNoWho should review
guardrails_checkedNoGuardrails checked

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses atomicity and that the handoff outcome does not change lifecycle state, which is useful. However, it does not mention other behaviors like version staleness rejection, permission requirements, or idempotency—only the schema covers these.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core action and concisely lists the three outcome alternatives. Every word earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 19-parameter schema with full descriptions and no output schema, the description provides key behavioral context (recording evidence and state transitions). It is adequate for the tool's primary purpose, though it leaves the return value or side effects unexplained, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds minimal semantic value beyond the schema; it ties outcomes to lifecycle changes, but that is already documented in the outcome property. No additional parameter context is offered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('record') and resource ('completion evidence') and enumerates the three possible task state outcomes. It clearly identifies the tool as the finalization step, though it does not explicitly contrast with update_work or transfer_work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but provides no explicit guidance on when to use it versus the sibling tools (e.g., update_work, transfer_work). The outcome choices are described, but the description lacks conditions or exclusions that would help an agent decide to pick this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_workInspect workA
Read-onlyIdempotent

Read the workspace, one task, one agent communication inbox/outbox, or one durable prompt/reply thread by supplying at most one selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idNoTask to inspect; omit for the whole workspace state
agent_idNoAgent communication inbox/outbox to inspect
message_idNoPrompt/reply thread to inspect
workspace_idNoWorkspace id returned by a Concord operation. Omit to use the automatically resolved repository workspace.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare this as read-only, idempotent, and non-destructive, so the description correctly aligns with them. Beyond that, it adds the constraint that only one selector can be supplied at a time and clarifies the different scopes (workspace, task, agent, message). This additional behavioral context is valuable and not present in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core action ('Read') and lists the scope. There is zero fluff; every word earns its place, and the selector constraint is clearly stated at the end.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only inspection tool with four optional parameters, the description adequately explains the various selection modes and the workspace resolution behavior. It does not describe the return format, but given the tool name and the read-only nature, the output is self-evident. With no output schema, this would be a minor gap, but the description covers enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter already has a clear description. The tool description adds the global constraint of 'at most one selector' and restates the resource types, but it does not provide deeper semantics beyond the schema. This meets the baseline for a well-covered schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Read' and lists the distinct resources (workspace, task, agent inbox/outbox, prompt/reply thread), making the tool's purpose unmistakable. It also clearly distinguishes it from the sibling tools (start_work, update_work, etc.) which are all actions, while this is the only inspection tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating that at most one selector can be supplied, which is useful for invoking the tool correctly. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusions or conditions. The distinction from siblings is obvious from the tool names, but the description itself does not verbalize it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_workStart workA

Enter one task before editing: register or refresh this agent, accept addressed work when needed, claim the declared scope, and return actionable overlap warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoAgent working directory
pidNoAgent process id, if known
kindYesAgent type or provider, e.g. claude-code or codex
modelNoModel the agent is running
notesNoConcise task notes
ownerNoHuman accountable for this agent and task
titleYesShort human-readable title
branchNoGit branch, if known
domainsNoProduct domains touched
modulesNoLogical modules touched
summaryNoOne-line description of the current work
task_idYesStable task identifier, e.g. TASK-12
agent_idNoUsually omit — Concord derives your identity from your session. Pass only the id your client told you (Codex); a session Concord can see always wins.
worktreeNoGit worktree path, if used
risk_tagsNoRisk tags shared with related work
workspace_idNoWorkspace id returned by a Concord operation. Omit to use the automatically resolved repository workspace.
expected_filesNoFiles expected to change
parent_task_idNoParent task for a smaller claimed unit

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does well: it discloses the multi-step side effects (register/refresh agent, accept addressed work, claim scope) and the return value ('actionable overlap warnings'). It communicates stateful behavior agents would not otherwise know from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence, efficiently front-loaded with the when ('Enter one task before editing') before the action list. The list of steps is dense but each item earns its place; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 18-parameter workflow tool, the description captures the essential journey (register, accept, claim, return warnings) and names the output. The required parameters are covered by the schema, so nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented and the baseline is 3. The description's mention of 'claim the declared scope' and 'overlap warnings' loosely maps to workspace_id/risk_tags/expected_files, but it adds no concrete format or syntax guidance beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Enter one task before editing: register or refresh this agent, accept addressed work when needed, claim the declared scope') with a clear resource and purpose. It implicitly differentiates from siblings (inspect/update/transfer/finish) by being the task-entry and scope-claiming action, though it doesn't name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Enter one task before editing' establishes when to use the tool as a pre-edit registration step, and 'accept addressed work when needed' gives conditional context. However, it never names alternatives such as update_work or finish_work or states when NOT to use it, leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_workTransfer workC

Apply one versioned ownership action: assign, accept, decline, release, reassign, offer an evidence-bearing handoff, or reopen terminal work.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo
actionYesOwnership action to apply through the versioned task state machine
reasonNo
task_idYesStable task identifier, e.g. TASK-12
agent_idNoUsually omit — Concord derives your identity from your session. Pass only the id your client told you (Codex); a session Concord can see always wins.
decisionsNoNotable decisions and why
tests_runNoTest commands run
handoff_idNoPending handoff to resolve; inferred from the task when omitted
next_stepsNoRemaining work or follow-ups
assumptionsNoAssumptions made
known_risksNoKnown risks introduced
to_agent_idNoRequired for assign, reassign, and offer
what_changedNoRequired for offer
workspace_idNoWorkspace id returned by a Concord operation. Omit to use the automatically resolved repository workspace.
changed_filesNoFiles that changed
lease_secondsNo
expires_secondsNo
expected_versionYesTask version last read by the caller; stale versions are rejected
guardrails_checkedNoGuardrails checked

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It hints at 'versioned' and 'evidence-bearing handoff' but does not explain what versioning entails, whether actions are reversible, what state transitions occur, or what happens on failure. The description is too sparse to convey the operational impact of this mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core action set and concept. It contains no filler and gets to the point immediately. For a tool with 19 parameters, it is appropriately terse, though it could arguably benefit from more structure to improve scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (19 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain the versioning mechanism, the required fields for each action, the nature of an 'evidence-bearing handoff', or how these actions fit into the broader workflow with siblings. An agent would need to infer too much to use it correctly and safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 79%, which is high, so the baseline is 3. The tool description adds no parameter-specific details beyond listing the action enum values, which are already present in the schema. Since the schema already documents parameters like task_id, action, expected_version, and to_agent_id, the description's lack of parameter elaboration does not significantly hinder understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Apply') and a specific resource ('versioned ownership action') and enumerates all seven allowed actions, making the tool's purpose unambiguous. It does not explicitly contrast with sibling tools, but the action list clearly distinguishes it from start_work, update_work, and finish_work, so the purpose is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus its siblings. The description does not mention that this is for transferring ownership between agents, nor does it reference start_work, update_work, or finish_work, or any conditions that would make this tool the right choice. An agent is left to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_workUpdate workC

Record task context or deliver a live prompt/reply to another promptable workspace agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoKind of task-scoped update
contentYesConcise context another agent needs
task_idNoRequired for record; optional context for prompts
agent_idNoUsually omit — Concord derives your identity from your session. Pass only the id your client told you (Codex); a session Concord can see always wins.
operationNoDefaults to record; prompt and reply deliver live inter-agent messages
to_agent_idNoRecipient required for prompt
workspace_idNoWorkspace id returned by a Concord operation. Omit to use the automatically resolved repository workspace.
delivery_modeNoLive delivery mode; steer is the only mode in v1
idempotency_keyNoRequired for prompt and reply; makes delivery safe to retry
reply_to_message_idNoMessage being answered for reply

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'live' delivery for prompts/replies but does not disclose idempotency requirements, delivery semantics, persistence of records, or any side effects. The schema covers idempotency_key requirement for prompt/reply, but that is in the schema, not this description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, which is efficient, but for a tool with 10 parameters and 3 operations it is too underspecified to be adequately informative. It is not verbose, but it fails to convey the operational complexity or usage nuances, so it earns a middle score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 10 parameters, three distinct operations, no annotations, and no output schema. The description merely lists two high-level capabilities and provides no clarity on operation selection, delivery behavior, or any edge cases. It is grossly incomplete for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no parameter-level detail beyond what the schema already provides. It does not clarify the distinction between operations (record/prompt/reply) or explain any parameter interactions, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Record' and 'deliver') with a resource ('task context' and 'live prompt/reply'), clearly distinguishing this tool from siblings like start_work and finish_work by its messaging capability. However, it doesn't explicitly name sibling alternatives, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives; the description only states what it does without any conditions, prerequisites, or exclusions. It does not explain which operation (record vs. prompt vs. reply) to choose based on context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.0
    • First observedfinish_work
    • First observedinspect_work
    • First observedstart_work
    • First observedtransfer_work
    • First observedupdate_work

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct phase of the work lifecycle: starting, inspecting, updating, transferring ownership, and finishing. The actions are clearly separated with no overlap or ambiguous boundaries.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with 'work' as the noun, using only snake_case and imperative verbs (start, inspect, update, transfer, finish). The pattern is fully uniform.

Tool Count5/5

Five tools is well-scoped for a workflow management server. Each tool covers a necessary stage without redundancy or bloat, making the set easy to navigate.

Completeness5/5

The tool set covers the entire task lifecycle: start, inspect (read), update (modify/communicate), transfer (ownership changes), and finish (close/handoff). It handles all major operations including reopening via transfer_work, so no critical gaps are apparent.

Maintenance

ActivityActive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    This is a powerful Model Context Protocol (MCP) server that integrates multiple AI coding agents—Anthropic Claude Code, OpenAI Codex, and Google Gemini—directly into your workflow. It enables seamless cross-provider analysis, leveraging Gemini's massive token window, Codex's specialized coding capabilities, and Claude's advanced reasoning.
    10
    19
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables MCP clients like Claude Code and Cursor to use multiple AI models (Gemini, GPT, Grok, DeepSeek, Kimi, Ollama) via a unified chat tool with conversation memory.
    3
    1
    Apache 2.0

Latest Blog Posts

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/Get-Concord-AI/concord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server