Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
CogMemory MCP Server — Unified context subsystems for AI coding agents
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"cogmemory": {
"command": "npx",
"args": [
"-y",
"cogmemory-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add cogmemory -- npx -y cogmemory-mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"cogmemory": {
"command": "npx",
"args": [
"-y",
"cogmemory-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"cogmemory": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cogmemory-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント skylarng89 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.15.1)がレジストリに届いたのは44 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Systemdox
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A unified Model Context Protocol server providing four context subsystems for AI coding agents:
Storage: SQLite via better-sqlite3. By default, each clone gets its own database under ~/.cogmemory/projects/.
Option A — npx (recommended, always latest):
npx -y cogmemory-mcp@latest
Option B — Global install:
npm install -g cogmemory-mcp
cogmemory-mcp
Option C — pnpm dlx:
pnpm dlx cogmemory-mcp@latest
Option D — From source (developers):
git clone https://github.com/skylarng89/cogmemory-mcp.git
cd cogmemory-mcp pnpm install pnpm run build
CogMemory depends on better-sqlite3 and tree-sitter, which compile native modules on install. You need:
node-gyp)gcc/g++ on Linux, Xcode Command Line Tools on macOS, Visual Studio Build Tools on Windows)Most platforms have prebuilt binaries available, so compilation is usually skipped on:
If installation fails, see Troubleshooting below.
Add to .vscode/mcp.json (workspace-scoped):
{
"servers": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
Or use --workspace for multi-root support (rarely needed — see Workspace Resolution):
{
"servers": { "cogmemory-frontend": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest", "--workspace", "/path/to/frontend"] }, "cogmemory-backend": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest", "--workspace", "/path/to/backend"] } } }
Zero-config default: if you omit
--workspace, CogMemory discovers the
project automatically from the working directory (git root first, then the
nearest
.cogmemory/parent). One server entry is enough for all projects —
each repo gets its own memory bucket. Only pin
--workspacefor monorepo
sub-root targeting.
Add to .cursor/mcp.json:
{
"mcpServers": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
Add to ~/.config/claude/claude_desktop_config.json (Linux/macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
Add to ~/.claude/mcp.json (user-level) or .claude/mcp.json (project-level):
{
"mcpServers": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
In the Cline extension settings, add an MCP server:
cogmemorynpx -y cogmemory-mcp@latestOr in cline_mcp_settings.json:
{
"mcpServers": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
MCP settings → Add server:
{
"mcpServers": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
Add to opencode.json:
{
"mcp": { "cogmemory": { "command": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
Add to Zed settings (settings.json):
{
"context_servers": { "cogmemory": { "binary": "npx", "args": ["-y", "cogmemory-mcp@latest"] } } }
CogMemory is published to the MCP Registry. Registry-aware clients can discover and install it automatically.
CogMemory resolves scope in priority order:
{ "scope": "project" }
COGMEMORY_SCOPE=project, global, or workspace~/.cogmemory/config.json (scope settings only)~/.cogmemory/projects/Default is clone-specific. Each clone receives a UUID in
.cogmemory/config.jsonand stores its database at~/.cogmemory/projects/memory- .db. The UUID, not the folder name or repository origin, identifies the clone. Use{ "scope": "global" }orCOGMEMORY_SCOPE=globalto retain the legacy shared database, or{ "scope": "workspace" }for a database inside the repository.
| Scope | Database Path |
|---|---|
| project | ~/.cogmemory/projects/memory- .db |
| workspace | /.cogmemory/memory.db |
| global | ~/.cogmemory/global.db |
Upgrading? If a workspace has an existing
memory.dbbut no config file, CogMemory logs a stderr advisory when the project default bypasses it — add{ "scope": "workspace" }to that project's.cogmemory/config.jsonto keep using it. Existing data inglobal.dbremains available whenCOGMEMORY_SCOPE=globalis explicitly selected; it is not silently repartitioned.
Every project gets a stable, opaque slug (UUID) stored in .cogmemory/config.json under project_id. This slug — not the folder path or name — is the project's identity. All memories (decisions, conventions, errors, sessions, code graph, etc.) are stamped with a project_id foreign key, so:
${workspaceFolder} can point at a single shared database path; each project's memories remain isolated by slug.~/.cogmemory/global.db can hold many projects, with every read/write implicitly scoped to the active project's slug..cogmemory/config.json & GitKeep .cogmemory/config.json gitignored so each clone gets its own identity on first run. Copying or committing the file intentionally shares its UUID; starting or branching a chat does not create a new project identity.
| Tool | Purpose |
|---|---|
list_projects | All projects with row counts, last-seen timestamps, staleness flags |
rename_project | Change a project's display label (slug is immutable) |
prune_projects | Permanently delete a project and all of its rows (requires confirm) |
switch_project | Re-resolve the active project at runtime from a workspace root |
cogmemory_status reports workspace_root, root_path_hint, resolution_source (override | git-root | dotcogmemory | cwd-fallback | runtime-switch), and active_project: { id, slug, label }, plus per-table counts in verbose mode.
If your client pins a fixed --workspace/cwd that doesn't match the repo you're actually working in (e.g. an agent opened a different repository mid-session), call switch_project with the target repo's absolute root:
{ "root_dir": "/mnt/repos/my-project" }
The target workspace's configured scope, database, UUID, numeric project ID, and root switch together after initialization succeeds. Status, indexing, and source snippets use the new root. An asynchronous call already in progress finishes using its original context. Invalid paths, corrupt configuration, or database initialization failures leave the previous context usable.
At the start of a new or branched chat:
cogmemory_status and compare workspace_root with the actual workspace. Chat history and cached numeric IDs are not authoritative.switch_project with the intended absolute root, then fetch memory again. Do not clear the identity file to resolve a client workspace mismatch.start_session if needed; a chat branch is not a new project.Tool JSON responses include project_identity: { id, slug, workspace_root }. Tools accept optional expected_project_id, containing the UUID slug, to reject stale context before reading or writing. This is especially useful because numeric IDs can coincide across separate databases. On PROJECT_MISMATCH, check status and switch to the intended root before retrying. Existing calls without the optional guard remain compatible. CogMemory cannot infer a chat's intended workspace when the client supplies neither a correct launch root nor a switch request.
Optional stale session/plan links on memory writes are ignored with a response warning; the memory still saves under the active project. Explicit session reads and updates are project-scoped and return a not-found response with recovery instructions for a stale session ID.
Earlier project-scope startup could choose memory-A.db and then persist UUID B inside that database and the workspace config. Startup now keeps one UUID throughout initialization, serializes concurrent initialization, and publishes config changes atomically.
For existing affected stores, startup inspects project databases read-only. If exactly one stored identity matches the UUID or exact workspace root, it reuses that database in place, preserving its row IDs and memories. The config records project_database_id as the UUID from the existing database filename; this can legitimately differ from project_id. No database is renamed, merged, or deleted.
If several candidates match, PROJECT_IDENTITY_AMBIGUOUS lists { databaseId, slug } pairs and leaves the config unchanged. Select the intended pair in .cogmemory/config.json, preserving other settings:
{
"scope": "project", "project_id": " ", "project_database_id": " " }
Then restart the MCP server, or retry switch_project if it is already running. The selected database must contain that UUID. Other candidate databases remain available; combining fragmented histories is a separate, explicit operation.
Malformed JSON, invalid UUIDs, and invalid local scopes produce PROJECT_CONFIG_INVALID instead of silently replacing identity. Restore a valid config from backup. Initialization locks have a bounded wait and report PROJECT_BUSY; if a process crashed while holding a lock, inspect the reported directory's owner.json, confirm that owner has exited, remove only that abandoned lock directory, and retry. Never delete an active process's lock.
Run pnpm test:identity for isolated regression tests of restart/branch continuity, concurrent processes, recovery, switching, stale IDs, UUID guards, and in-flight calls.
Git-root discovery takes precedenc
冒頭だけを表示しています。続きはリポジトリで読めます