{"_id":"@concord-ai/concord-mcp","_rev":"18-1e2881dd808599f68c6fe6177a6bce5e","name":"@concord-ai/concord-mcp","dist-tags":{"latest":"0.10.4"},"versions":{"0.1.0":{"name":"@concord-ai/concord-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.1.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"3796dee76fb4b3bcefd7354de3400b33c5c1a874","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.1.0.tgz","fileCount":114,"integrity":"sha512-o9BHeLgyoohDK6A6F6tgJpAwTxTA734hNz0ox1WcJARwFwKCyGXQS68X2g98r+p7G44hwnrviY8fp8i3dV9lTA==","signatures":[{"sig":"MEYCIQC1k1tuAlFxJfr0GMYuCBLnPz9Gf8loqEjOm1GDpvQ37wIhAKcsTWNmFM4c78dYjyI5moD/lZ7JBNkKfJQhMp8wIxUC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149782},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"e8511fb846f3d83cc7bc92ce4b99f1b09920ac24","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"alexechoi","email":"alexchoidev@gmail.com"},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"11.8.0","description":"Shared work-state for coding agents: claim work, leave handoffs, and generate review packets before PRs, over MCP.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.25.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.1.0_1784297814107_0.8299329400968805","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@concord-ai/concord-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.1.1","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"73859dc202471b94df647ecd4a5a16f22f222400","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.1.1.tgz","fileCount":114,"integrity":"sha512-hYKzF6HUWHj1sg1hmXWUZHRcxqYoCcibo505g9kksFWorPhEwyVfQHObeBjUs5KHCl5eToIWVrEnuyvua+tukA==","signatures":[{"sig":"MEUCIDOl3yl3dpwvQEP5w/MZ4o4xWowoMnmu+vvnk6UkKetMAiEA+eLUj3Js2vhfr778T25u05oZbEtHGTDee0i/7XmNnhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":149782},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"12a76248aafc1150119678f037c212d3f65cc27f","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Shared work-state for coding agents: claim work, leave handoffs, and generate review packets before PRs, over MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.1.1_1784300221338_0.567995993173636","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@concord-ai/concord-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.2.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"994d4c2f7066d4a6bdd266f3761777e5d193b030","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.2.0.tgz","fileCount":135,"integrity":"sha512-fwHQQFO2GWXsWaAOkOpObDPJXgUbqg2JABdXO6FnHNxYIUjNnATLNYae6UFrO38nL4n4XLlu8K79T5MPwDNqGQ==","signatures":[{"sig":"MEUCIQDIqumKAhEMASoFfZSNwpQUcaarEixp3/aFEGS/iNzp/wIgU4rfotNS+ICwpQKsSGtlBh6fiKYuktZ0g4I5alxGCw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203021},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"7657e217ffa1e99bef7a76ab3b01bfa1913f54e0","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Shared work-state for coding agents: claim work, leave handoffs, and generate review packets before PRs, over MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.2.0_1784740636182_0.0749617322974192","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@concord-ai/concord-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.3.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"0ad31cde1330fe91134e11d8ab13a85167a97cba","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.3.0.tgz","fileCount":144,"integrity":"sha512-iF61Sz7np429pPjL97x4F4wVOARr5KDRZSRDEljwYHhcTb20/auGEl7zr2MKyl+kE1O+oTIqNPBym+OkGrc+EQ==","signatures":[{"sig":"MEYCIQDWY3AmvPiqdZB3jf45R5/V/OuMEK/FSwqwmy0A3dDSDQIhAIv1unXfNK7iDFRfPvVmojtkQvdrzzDoIMmLEikTngQ5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225915},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"2622a7af79cb5e61117c9fd57ca7fd807939d171","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.3.0_1784846390886_0.5898324159840531","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@concord-ai/concord-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.4.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"35f802485ef030089d38f29d0cb7964d0d447bd2","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.4.0.tgz","fileCount":165,"integrity":"sha512-D1kNjrgiy9OURw5/r3LeYJzCP8jRTMcrpOS3a7eWXdEpXpzB8NWD3TEy/eNDjK76x5XmniMTsvLY5yJuP4k5GA==","signatures":[{"sig":"MEQCIHD5PhCjAFPSXp7HWpuCKC3ZPcRXcD0Wi+xETWvENfqeAiAS8EgIeGmhxigwcznIKwnhZoaxbYHyGfEIAwx3S8N2CA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311563},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"b1cb21a4f79bdbe88dfb405c63d2af9105732acb","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"6.8.0","zod":"^3.25.0","react":"19.2.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","react-devtools-core":"6.1.5","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","@types/react":"19.2.2","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.4.0_1785065949728_0.3591587026440184","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@concord-ai/concord-mcp","version":"0.4.1","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.4.1","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"7ccd5ebd91aecdd48fc56bf9c0bb2f68ffa45a70","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.4.1.tgz","fileCount":168,"integrity":"sha512-9N9KCxyebHHREZHNdnxN7rYBBqmUTWnMVZG/RXZqe3zrn3XPTLbYEvw3xQ9csuPEfXP3lV5vimy2g/WzS5Jnjg==","signatures":[{"sig":"MEUCIQDAHZqH2kMjOVlUKILDYH/Y40mSAHM9Q/dbnqpjyxKp3AIgB43Kwm/ZPIMIto+SQ0hptfrFo7oU+5NWuLknDEQ/np8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":326619},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"e78f22e83c796fa9099f020bb81eace8fc138834","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"6.8.0","zod":"^3.25.0","react":"19.2.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","react-devtools-core":"6.1.5","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","@types/react":"19.2.2","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.4.1_1785067683797_0.6743591289601458","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@concord-ai/concord-mcp","version":"0.5.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.5.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"7ab4d204e42511792d6ebee359c6d2aa741c7104","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.5.0.tgz","fileCount":177,"integrity":"sha512-K30VdcQQyWQ4hVwfTrQ6vuJyIjd/n/VYkMiYcsOCLiD+lSTRvwH7xEBERukEHlwB6Z7QV/fxok69oEvfn+aq7g==","signatures":[{"sig":"MEUCID+M1KCmUEjhWbDtFSk24vZqI7UsnERdSEA2ltpy0nLiAiEA6fIWbQNvFBGi5qocSDUxOaGvgbsofIn+MTYQJ2PLTqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354687},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=20"},"gitHead":"84a8bc592f64d6d51c03a97a8b7b2f75142ee423","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"6.8.0","zod":"^3.25.0","react":"19.2.0","commander":"^14.0.0","better-sqlite3":"^12.11.1","react-devtools-core":"6.1.5","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","@types/react":"19.2.2","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.5.0_1785239780900_0.8349683920364861","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@concord-ai/concord-mcp","version":"0.6.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.6.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"58a6fcd7d31f9643b618a1126838efb115d4eb10","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.6.0.tgz","fileCount":207,"integrity":"sha512-ffpqWPS8PNyUikLubr3+Ed3WhZrmeYouCF3Kln3SKu13ylMRwtHch9zM9tcwg3QLRQvsoDPfhtg5DYy/9lwWzA==","signatures":[{"sig":"MEYCIQC4qoPQF7OntH2IU4g/Idu7w1FmNAXdG2F8pkx/jqTYFAIhAIEN0MW8DiiKoLMP1kMFbaUjrr8hKrrZ6kcaZ8wZqA1u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":463150},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22"},"gitHead":"fc34a210bf24c211946ec58fad4cc6f857ae7d78","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"6.8.0","zod":"^3.25.0","react":"19.2.0","commander":"^14.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"6.1.5","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","@types/react":"19.2.2","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.6.0_1785421440068_0.07895875934594287","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@concord-ai/concord-mcp","version":"0.6.1","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.6.1","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"c3134f02a071498a475c512451d82c22ca017460","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.6.1.tgz","fileCount":231,"integrity":"sha512-OLmXQLQhSkG10l6r5Ox2UKz89q49Gw91TAdMlxAjdlmT4/N6YaXAGj9V3BwiJ1PTA0nrMXbwz2F79Xn8jsD0Lg==","signatures":[{"sig":"MEUCIQC0EZT/RaVmHm7Qld3oXbYRnL3JBDEqKyhJLbAULGfsIgIgfqvvrJRVNRhl04fkknrC861+et+dSZXBXFVB0o4/YSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":573227},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22"},"exports":{"./relay":{"types":"./dist/relay/index.d.ts","import":"./dist/relay/index.js"}},"gitHead":"4909e6d9247ff58c355369591973e7ac36220071","scripts":{"demo":"pnpm build && node examples/two-agent-overlap/demo.mjs","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"6.8.0","zod":"^3.25.0","react":"19.2.0","commander":"^14.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"6.1.5","@modelcontextprotocol/sdk":"^1.29.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^9.19.0","vitest":"^4.1.0","globals":"^17.7.0","prettier":"^3.4.0","@eslint/js":"^9.19.0","typescript":"^5.7.0","@types/node":"^24.0.0","@types/react":"19.2.2","typescript-eslint":"^8.64.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.6.1_1785512427728_0.3114003358254269","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@concord-ai/concord-mcp","version":"0.7.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.7.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"9da53979f7ebe22fe52b05edce5b93040db77f41","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.7.0.tgz","fileCount":225,"integrity":"sha512-zMvp5FCWVgwP31wMwIcqaf/BJf+zoqr8qJCXWnVpJm5VLbFPPrQX3W9QtTtcKUDlaMum6jBAnGiouCR4YlH7Pw==","signatures":[{"sig":"MEQCIE/yhWnqkoR+wetF79EADjHZRNEu3cv6kgAm0samyU68AiAyYc7zns07XO1+tHMkYsP5UyC2XEqCohevg5+onveJnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565630},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"66157870f5cb3cf7bd3e1ce102be563eb9f0e613","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.7.0_1786002879075_0.8701799581522256","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@concord-ai/concord-mcp","version":"0.7.1","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.7.1","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"d3f37026db120b073f05442efcfe994647ecd3bd","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.7.1.tgz","fileCount":232,"integrity":"sha512-S87HZy0mWB2jzZ2yo2idzlY1PiYcr4FJprShOOY1PVSk2P9onv7gynlgOXs5+xNiKSq22GYkU42CQvbBLlUY2w==","signatures":[{"sig":"MEYCIQD9I1XG+gt0Ih/LUOKw3+LECvFF2MFIMPx66s0t3LeovAIhAPc6ZD0P1NxZ2XMnnLY5M9fer5GguEE8rODsl7b9FqvA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":575835},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"e500da9c741cba06940d1452aba90324954a0e0c","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.7.1_1786003564664_0.15603760116153054","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@concord-ai/concord-mcp","version":"0.8.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.8.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"4d1303f998cd34faa31dbd1670ac0651eefc05c6","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.8.0.tgz","fileCount":235,"integrity":"sha512-SJKDecL+xEBih4Yz9uPzXbZChDR8UU8Xe0z6p+XIDxIV61nLsPYJyhmoFjxsTX1jYseJ+yI8arpEXUGnhv82VA==","signatures":[{"sig":"MEUCIBcSAK2CUk10ojO/YgxX4Yl/ZkEo+f57wqiZfMo1mOMCAiEAzKbivQHkFcMHP1KZusZV+v8WN/8HK9S0TARbhWwKrmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594763},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"e090b22311aa7305398aba9e5d9484aa1cd149b7","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.8.0_1786382892513_0.7318333550843776","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@concord-ai/concord-mcp","version":"0.9.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.9.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"61ca28b20d5763932dbefd5cc43d632b2e80c15f","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.9.0.tgz","fileCount":235,"integrity":"sha512-33eOb80GwVFKS2ropto9b7/zEnzdQ21yYbqCEf9HiBSZkVTDwKJLmJDdxgmnzF7Kz5ui+KeNGO51gMqa5a1lmg==","signatures":[{"sig":"MEYCIQCcWoL1AdzMHSYGOHCQXmE2SRSyCmYsH0VHYBKcyFjcuwIhAOq2iORDM6qDGZG59uVBjtw6lMpP/xAwKJKIN7t4ovyi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":595779},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"888d19dd1e1c131a02c671d039447d143e9b23e5","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.9.0_1786720430498_0.8897846620113816","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@concord-ai/concord-mcp","version":"0.10.0","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.10.0","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"30a571b6d3fef8f0dbf45b96f3fe88c1c6f42ece","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.10.0.tgz","fileCount":275,"integrity":"sha512-ZGjJ2D30nHTJASOpPJzRRqTnYMQ1S8BfUa2k4U0jwTt9WQlLi3+1KtduJsy/MsRpKbGDuG5dggBl1hL07AKDUQ==","signatures":[{"sig":"MEYCIQDtuhke4AMUoMranIsyTy40ozjjXjK2QGP7D6fFPYtWCgIhAMVGp0N/fCO9bbOAjLKLNrgkXKUk5Jlk9XpsbyDcSM3B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":772292},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"9763b55c7608e7f1f8d4f9e6ccbbf0b9eae5aaf5","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Shared work-state and task memory for coding agents: coordinate work, preserve decisions, and hand off through MCP.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.10.0_1787376227913_0.07601218797485365","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@concord-ai/concord-mcp","version":"0.10.1","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.10.1","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"f633558864dcfefe9ed36ed943299583521a2963","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.10.1.tgz","fileCount":275,"integrity":"sha512-yn/e+ThUjLdEasesQxSKUN6vodv261NWS6w66zPzMEzEunSIMzBnfkHb1Gynmc+eIwzAYMXjDbHzqYyaVRlEvw==","signatures":[{"sig":"MEUCIG/0dB8/FseqaUnB08tJ4F6MHiH0GvF9/z7dL64EzyLjAiEAle7Ot7yUf6dGssSWRj8gy5LgRTL6xV5XA+jbBiDhpMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":772310},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"06ea4451e78df48b7eff98a5c64551c56bc3571c","mcpName":"io.github.Get-Concord-AI/concord-mcp","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Cross-harness communication and shared work-state for coding agents through MCP.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.10.1_1787589896564_0.65369679308331","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@concord-ai/concord-mcp","version":"0.10.2","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.10.2","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"0f924e5f513179a9d2f6f80788a29a47df096072","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.10.2.tgz","fileCount":275,"integrity":"sha512-c7zAw1Xa0Cm1lRwb/8RoqfOR3SNA4NFq2ZWnn2jZCFBx9ZdsuIu+ZQG3h27tuLgNzApCd2OPu+xbqGU1SFy+4g==","signatures":[{"sig":"MEUCIQDfDzyrnFcWfORVX1BUwy/y3e3SYpmZjQT/l5FaHzngXAIgUhLtvcsF3nLF0tcXVvii6UyJ3WnkqRuKoX5vSM6ycu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":785026},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"519aec923a8f768e4c5a24ebca683e0d479aa022","mcpName":"io.github.Get-Concord-AI/concord-mcp","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Cross-harness communication and shared work-state for coding agents through MCP.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.10.2_1787594319206_0.6669889452727842","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@concord-ai/concord-mcp","version":"0.10.3","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"author":{"name":"Concord AI"},"license":"MIT","_id":"@concord-ai/concord-mcp@0.10.3","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"dist":{"shasum":"071bc810b2cab016a167a0af7d82f5cf8268aa9f","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.10.3.tgz","fileCount":278,"integrity":"sha512-HwivHATJqft5m38E3QVtmsdYQgs0XhXdadQq5jI9B2sZyLQkws6ym5277yRoJJFHuKpfu4WgNC6dxpsDYED0Lw==","signatures":[{"sig":"MEYCIQCpEX228mMpXs7FFM14fORyHhJ1YIK33P3s0upscYjG0wIhAMAlcUlvw4BYjddqTFRGtFQk87AbOir3cyjs138XveKZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":810137},"pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","engines":{"node":">=22.12"},"gitHead":"d640f1d7988b9f33b9e34ccebe556feb944bf77c","mcpName":"io.github.Get-Concord-AI/concord-mcp","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Cross-harness communication and shared work-state for coding agents through MCP.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"tmp":"tmp/concord-mcp_0.10.3_1787648697455_0.627439895654583","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"_id":"@concord-ai/concord-mcp@0.10.4","bin":{"concord":"dist/cli/index.js","concord-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"dist":{"shasum":"dc3a5541dfefb350ed5f1d4c04d7a6798c365ca8","tarball":"https://registry.npmjs.org/@concord-ai/concord-mcp/-/concord-mcp-0.10.4.tgz","fileCount":278,"integrity":"sha512-UtMSceB8R2a6x72xAnMdZtCJY2/RD+KJL2QGnRWRPVRB0tXmjHZA84iwYNb9oCp6wk7WQLsRGlI+OYFQQcVX+w==","signatures":[{"sig":"MEUCIEH2ObM0QKENyy4YC0f6SGNA9s3C28KGz1J4OP0irocIAiEAs5yWFIUPhFUSrMjyUV7CZ/fPuRhBG8uDniUA0bOBzH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC20+BEYP+byE3z3ZILEyPA9IuBrLFAceSlZG0O6ba4jQIhAM4GjLKZyjW60kncwbWgW8YiSJYYg/2FFzK2JIg4yU6O"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@concord-ai%2fconcord-mcp@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":810557},"name":"@concord-ai/concord-mcp","pnpm":{"onlyBuiltDependencies":["better-sqlite3"]},"type":"module","author":{"name":"Concord AI"},"engines":{"node":">=22.12"},"gitHead":"ea013976260e7c2b453a610d408b00237dd0d0d8","license":"MIT","mcpName":"io.github.Get-Concord-AI/concord-mcp","scripts":{"demo":"pnpm build && bash examples/whack-a-mole/run.sh","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","version":"node scripts/sync-version.mjs && git add src/version.ts","lint:fix":"eslint . --fix","demo:stop":"bash examples/whack-a-mole/stop.sh","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build"},"version":"0.10.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9bcde419-438e-4318-9dde-5007b7488413"}},"homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"_npmVersion":"12.0.2","description":"Cross-harness communication and shared work-state for coding agents through MCP.","directories":{},"maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"ink":"7.1.1","zod":"^4.4.3","react":"19.2.8","commander":"^15.0.0","better-sqlite3":"^13.0.2","react-devtools-core":"7.0.1","@modelcontextprotocol/sdk":"^1.30.0","@commander-js/extra-typings":"^15.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^26.1.2","@types/react":"19.2.18","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.0","ink-testing-library":"4.0.0","@types/better-sqlite3":"^9.6.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/concord-mcp_0.10.4_1788625006243_0.9372113030279576"}}},"time":{"created":"2026-07-17T14:16:53.999Z","modified":"2026-09-05T16:16:46.711Z","0.1.0":"2026-07-17T14:16:54.233Z","0.1.1":"2026-07-17T14:57:01.470Z","0.2.0":"2026-07-22T17:17:16.305Z","0.3.0":"2026-07-23T22:39:51.037Z","0.4.0":"2026-07-26T11:39:09.900Z","0.4.1":"2026-07-26T12:08:03.933Z","0.5.0":"2026-07-28T11:56:21.035Z","0.6.0":"2026-07-30T14:24:00.211Z","0.6.1":"2026-07-31T15:40:27.882Z","0.7.0":"2026-08-06T07:54:39.222Z","0.7.1":"2026-08-06T08:06:04.819Z","0.8.0":"2026-08-10T17:28:12.681Z","0.9.0":"2026-08-14T15:13:50.685Z","0.10.0":"2026-08-22T05:23:48.091Z","0.10.1":"2026-08-24T16:44:56.711Z","0.10.2":"2026-08-24T17:58:39.400Z","0.10.3":"2026-08-25T09:04:57.615Z","0.10.4":"2026-09-05T16:16:46.338Z"},"bugs":{"url":"https://github.com/Get-Concord-AI/concord-mcp/issues"},"author":{"name":"Concord AI"},"license":"MIT","homepage":"https://github.com/Get-Concord-AI/concord-mcp#readme","keywords":["mcp","model-context-protocol","claude-code","codex","cursor","ai-agents","coding-agents","developer-tools","agentic-coding"],"repository":{"url":"git+https://github.com/Get-Concord-AI/concord-mcp.git","type":"git"},"description":"Cross-harness communication and shared work-state for coding agents through MCP.","maintainers":[{"name":"alexechoi","email":"alexchoidev@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://getconcord.ai\">\n    <img src=\"./assets/concord-readme-header.png\" alt=\"Concord MCP — shared work-state for coding agents\" width=\"100%\">\n  </a>\n</p>\n\n<h1 align=\"center\">Concord MCP</h1>\n\n<p align=\"center\"><strong>Let Claude Code, Codex, Cursor, Gemini CLI, and Grok Build talk to each other.</strong></p>\n\n<p align=\"center\">\n  The open-source, local-first communication and coordination layer for AI coding agents.\n  Send live messages across harnesses, detect overlapping work before agents edit,\n  share decisions, and hand off tasks with evidence - through one MCP server.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@concord-ai/concord-mcp\"><img src=\"https://img.shields.io/npm/v/@concord-ai/concord-mcp.svg\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/@concord-ai/concord-mcp\"><img src=\"https://img.shields.io/npm/dm/@concord-ai/concord-mcp.svg\" alt=\"npm downloads\"></a>\n  <a href=\"https://github.com/Get-Concord-AI/concord-mcp/actions/workflows/ci.yml\"><img src=\"https://github.com/Get-Concord-AI/concord-mcp/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://www.npmjs.com/package/@concord-ai/concord-mcp\"><img src=\"https://img.shields.io/node/v/@concord-ai/concord-mcp.svg\" alt=\"Node.js version\"></a>\n  <a href=\"./LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"MIT License\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#see-it-work\">Demo</a> ·\n  <a href=\"#quick-start\">Quick start</a> ·\n  <a href=\"#supported-agents\">Supported agents</a> ·\n  <a href=\"https://getconcord.ai\">Website</a> ·\n  <a href=\"./CONTRIBUTING.md\">Contributing</a>\n</p>\n\n## See it work\n\nTwo agents in different harnesses can discover each other, exchange messages,\nand divide work without a human relaying context between them:\n\n```text\nClaude Code → Concord   Claim src/app/page.tsx\nCodex       → Concord   Claim src/app/page.tsx\nConcord     → Codex     Overlap: Claude Code already owns this file\nCodex       → Claude    I'll take src/app/api instead. Does that work?\nClaude      → Codex     Yes. I'll keep the page and use your API contract.\n```\n\nRun the [real Claude Code ↔ Codex demo](./examples/whack-a-mole/) to watch both\nagents resolve an overlapping claim through a live prompt/reply, build a playable\napp, transfer ownership, and hand the result to an independent reviewer.\n\n## Quick start\n\n```bash\nnpm install -g @concord-ai/concord-mcp\ncd /path/to/your/repository\nconcord setup\n```\n\nRestart your agent clients, then ask two of them to work in the same repository.\nConcord gives them a shared workspace and makes reachable sessions available for\ndirect prompts and replies.\n\n<details>\n<summary>What <code>concord setup</code> changes</summary>\n\n`concord setup` creates the local `.concord/` workspace, registers the MCP server\nfor Claude, Cursor, Gemini, Grok, and Codex (`.mcp.json`, `.cursor/mcp.json`,\n`.gemini/settings.json`, `.grok/config.toml`, and `~/.codex/config.toml`) and writes\nConcord's tool instructions into your client configs (`CLAUDE.md`, `AGENTS.md`,\n`.codex/`, `.cursor/rules/`). It merges into existing config rather than replacing\nit and is safe to re-run.\n\nSetup also detects supported clients and attempts to install their global Concord\nadapters independently. Use `--no-adapters` to skip that step or\n`--require-adapters` in managed installs that should fail on degraded support.\nPass `--no-mcp` to write only the workspace and instructions while managing MCP\nregistration yourself.\n\n</details>\n\n## Supported agents\n\n| Agent                              | Integration guide                            |\n| ---------------------------------- | -------------------------------------------- |\n| Claude Code                        | [Setup and delivery](./docs/claude-code.md)  |\n| Codex                              | [Setup and delivery](./docs/codex.md)        |\n| Cursor                             | [Setup and delivery](./docs/cursor.md)       |\n| Gemini CLI                         | [Setup and delivery](./docs/gemini-cli.md)   |\n| Grok Build                         | [Setup and delivery](./docs/grok-build.md)   |\n| Any other MCP-capable coding agent | Shared work-state through the five MCP tools |\n\n> There is no universal `/concord` slash command — commands are client-specific.\n> Concord works through MCP tools plus the installed instructions on any\n> MCP-capable client.\n\nLive delivery depends on the receiving harness and session state. Run\n`concord adapters status` to see which installed agents are reachable and how\nmessages will be delivered.\n\n## Communication is the starting point\n\nMessaging gets agents talking. Concord's shared work-state keeps the resulting\ncollaboration reliable after the message is delivered.\n\n| Without Concord                                     | With Concord                                                   |\n| --------------------------------------------------- | -------------------------------------------------------------- |\n| Agents cannot contact peers in another harness      | Agents send direct, replyable prompts across supported clients |\n| Agents discover collisions after editing            | Agents claim files and modules before work begins              |\n| Context disappears when a session ends              | Decisions, assumptions, and findings stay attached to the task |\n| Ownership is implied by chat history                | Assignments and handoffs are explicit and acknowledged         |\n| Humans reconstruct progress from branches and diffs | Review packets arrive with scope, tests, risks, and provenance |\n\nConcord is not another autonomous agent or orchestrator. It is the shared layer\naround your agents: presence, messaging, task memory, ownership, handoffs, and\nreview state through one small MCP server.\n\n## The tools\n\n| Tool            | Purpose                                                                                     |\n| --------------- | ------------------------------------------------------------------------------------------- |\n| `start_work`    | registers presence, claims or accepts one task, and reports scope overlaps before editing   |\n| `inspect_work`  | reads workspace/task state, an agent inbox/outbox, or a durable prompt/reply thread         |\n| `update_work`   | records task context or immediately prompts/replies to another promptable workspace agent   |\n| `transfer_work` | assigns, accepts, declines, releases, reassigns, offers handoffs, or reopens versioned work |\n| `finish_work`   | records evidence and optionally marks a task review-ready, complete, or closed              |\n\nWrites accept an `agent_id`, which keeps presence live just by working.\n`inspect_work` shows **who is here** and flags **stale claims** — an active\nclaim whose owning agent has gone away without handing off.\n\nFor live agent-to-agent communication, run `concord setup`, then restart existing\nclient sessions once. A prompt uses `update_work` with `operation: \"prompt\"`, the\ntarget `to_agent_id`, content, and an `idempotency_key`; a reply uses\n`operation: \"reply\"` and `reply_to_message_id`. A receipt-bearing adapter steers\na busy turn or starts an idle turn. Hook-only integrations leave a durable pull\nmessage and state that limitation in the result. Delivery fails immediately\nwhen the named agent has no reachable endpoint; Concord does not silently\nreroute it.\n\n`concord adapters status` reports each harness separately, including its\nmonitor/controller kind, verified reachability, required action, and version\nprobe result. `concord adapters install`, `doctor`, and `uninstall` provide the\nsame global lifecycle outside repository setup.\n\nConcord resolves the repository workspace automatically. Operations return its\n`workspace_id` and repository root so a client can detect a misrouted call; the\nid can be passed explicitly when one server is coordinating multiple roots.\n\nLifecycle-changing operations use the task's monotonic `version` as\n`expected_version`. If two agents act on the same version, only the first\ntransition succeeds. Assignment leaves work in `assigned` until the named agent\nuses `transfer_work` with `action: \"accept\"`; a handoff offer likewise keeps\nownership with the sender until the recipient accepts. Every ownership change\nis retained in an append-only audit history.\n\n## What you get\n\nSQLite is the local source of truth, kept in the `.concord/` at the **root of\nthe repo** the work is happening in. The MCP server resolves that root from\n`CONCORD_REPO_ROOT` if set, then Claude Code's `CLAUDE_PROJECT_DIR` (which Claude\nCode sets automatically, even for a user-scoped server), then its working\ndirectory — so every agent in one repo shares one store. Set `CONCORD_REPO_ROOT`\nwhen running the server somewhere its working directory is not inside the repo.\n\nLinked Git worktrees follow Git's `commondir` metadata to the primary checkout,\nso the main checkout and all linked worktrees intentionally share one Concord\ndatabase and workspace id.\n\nTo restrict explicit workspace selection, set `CONCORD_ALLOWED_ROOTS` to a\npath-delimited list of allowed repository roots. Without an allowlist, decoded\nroots must still exist and be directories.\n\n`concord setup` adds `.concord/` to the\nrepository's `.gitignore`, so the generated workspace stays local by default.\nTeams that want selected artifacts in PRs can remove that rule or force-add the\nhuman-readable files:\n\n```text\n.concord/\n├── concord.db          local source of truth\n├── HANDOFF.md          human-readable handoff\n├── REVIEW_PACKET.md    review-ready evidence\n└── WORK_STATE.json     generated export (optional)\n```\n\n## CLI\n\nConcord supports both typed MCP tools and a regular CLI. MCP-capable agents can\ncall the tools directly; humans and CLI-oriented agents can work with the same\nshared workspace through `concord` commands.\n\n```bash\nconcord setup                # set up local state, instructions, and MCP clients\nconcord status               # roster, active work, overlaps, stale claims, review-ready\nconcord dashboard            # live, keyboard-driven view of agents, tasks, alerts, and activity\nconcord who                  # which agents are present and what they are working on\nconcord tasks                # list all tracked tasks\nconcord handoff <task-id>    # print the latest handoff\nconcord review-packet <id>   # print the latest review packet\nconcord export markdown      # regenerate .concord/ artifacts\nconcord doctor               # workspace checks + per-task tool adoption\nconcord adapters status      # global harness delivery capability matrix\n\nconcord --repo ../project status        # select by repository path from anywhere\nconcord --workspace ws_... status       # select an id returned by a Concord operation\n```\n\n`--repo` and `--workspace` are global, mutually exclusive options. The CLI uses\nthe same `CONCORD_REPO_ROOT` → `CLAUDE_PROJECT_DIR` → working-directory priority\nand the same linked-worktree canonicalization as MCP.\n\n`concord dashboard` is a read-only, full-screen local TUI. It refreshes from the\nshared SQLite workspace every second while keeping agents, tasks, alerts,\ncontext, and timeline inside a fixed terminal viewport. Use `Tab` to change\npanes, `j`/`k` or the arrow keys to select work, `/` to filter, `?` for help,\nand `q` to quit.\n\n## Upgrade\n\n```bash\nnpm install -g @concord-ai/concord-mcp@latest\nconcord --version\n```\n\nConcord checks daily and surfaces available updates in the CLI, MCP tools, and\ndashboard; `concord setup` can install one with confirmation, and\n`CONCORD_NO_UPDATE_CHECK=1` disables checks.\n\n## What this is / is not\n\nShared work-state and task memory for coding agents using the same local\ncheckout. **Not** an orchestrator, code reviewer, hosted sync service, memory\nvector DB, or autonomous coding agent.\n\nSee also: [Why not just use markdown?](./docs/why-not-markdown.md)\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](./CONTRIBUTING.md) and [`CLAUDE.md`](./CLAUDE.md). This\nrepo is strictly typed (no `any`, no typecasts) and modular. Good first issues\nare labelled [`good first issue`](https://github.com/Get-Concord-AI/concord-mcp/labels/good%20first%20issue).\n\n## Star History\n\n<a href=\"https://www.star-history.com/?repos=Get-Concord-AI%2Fconcord-mcp&type=date&legend=top-left\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=Get-Concord-AI/concord-mcp&type=date&theme=dark&legend=top-left&sealed_token=PLqZk9LDZSite53TJb5bwyYask4-B5wAFxLcp3Ki_mJ3KlMtSpH09lN3ohwJuoQNs5Kwg_0zPG2DEwcRzJZvCIP1Md6vMdHjNwF_WkjuX6gd44wkwWFzqrAWgXGx2bPFEuJFRhmuWUlbRLnPOw6uW7cVJzrlcxprXCDU3_hHmUlHaFjVjQulH7EkfyuA\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=Get-Concord-AI/concord-mcp&type=date&legend=top-left&sealed_token=PLqZk9LDZSite53TJb5bwyYask4-B5wAFxLcp3Ki_mJ3KlMtSpH09lN3ohwJuoQNs5Kwg_0zPG2DEwcRzJZvCIP1Md6vMdHjNwF_WkjuX6gd44wkwWFzqrAWgXGx2bPFEuJFRhmuWUlbRLnPOw6uW7cVJzrlcxprXCDU3_hHmUlHaFjVjQulH7EkfyuA\" />\n   <img alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=Get-Concord-AI/concord-mcp&type=date&legend=top-left&sealed_token=PLqZk9LDZSite53TJb5bwyYask4-B5wAFxLcp3Ki_mJ3KlMtSpH09lN3ohwJuoQNs5Kwg_0zPG2DEwcRzJZvCIP1Md6vMdHjNwF_WkjuX6gd44wkwWFzqrAWgXGx2bPFEuJFRhmuWUlbRLnPOw6uW7cVJzrlcxprXCDU3_hHmUlHaFjVjQulH7EkfyuA\" />\n </picture>\n</a>\n\n## Privacy & telemetry\n\nConcord sends product and coordination telemetry to `getconcord.ai`. It includes\nrandom installation/invocation identifiers; irreversible per-install workspace\nand task-flow pseudonyms; Concord/Node/platform versions; normalized client\nmetadata; operation names, outcomes, and durations; aggregate overlap/edit-guard\nresults; message delivery stages and latencies; task lifecycle transitions and\nelapsed time; and explicitly reported acceptance,\nintegration, human-intervention, and rework outcomes.\n\nConcord never sends code, raw file or repository paths, remotes, usernames, raw\ntask or agent identifiers, message identifiers or content, command arguments,\ntool inputs/outputs, or task content. The receiving server stores the request IP\naddress and derives/stores a country code. Those server-side fields currently\nhave no automatic expiry. Set `CONCORD_TELEMETRY_DISABLED=1` (or\n`DO_NOT_TRACK=1`) to disable telemetry. Delivery is best effort and can never\nmake a Concord operation fail.\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}