프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Docket

제작자: pasichDev버전 3.1.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.pasichDev/docket

설치

개요

제작자가 쓴 설명(영어 원문)

One list every AI tool you use can write to — scoped per project, local-first, self-hostable.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

  • npmNode.js 설치(npx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "docket": {
      "command": "npx",
      "args": [
        "-y",
        "@pasichdev/docket"
      ]
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add docket -- npx -y @pasichdev/docket

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "docket": {
      "command": "npx",
      "args": [
        "-y",
        "@pasichdev/docket"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "docket": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@pasichdev/docket"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 pasichDev 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32368개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32368개 중 56%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32368개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Docket, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(3.1.0)은 32일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Usaspending

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211어제 업데이트
설치

Usaspending

제작자: pipeworx-io

USAspending MCP — Federal spending data from USAspending.gov API

컴퓨터 또는 클라우드오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Docket

One list every AI tool you use can write to — Claude Code, Codex, Cursor, Warp — across every project, before the work is worth a ticket. Local-first, self-hostable, no SaaS account.

Watch the one-minute demo · download the mp4

Quick start

You need: Node.js 18+ and at least one MCP host — Claude Code, Codex, Cursor, Windsurf, Claude Desktop, Zed or Warp.

npx -y @pasichdev/docket setup

That configures every host it finds on this machine and ends by telling you which ones. Then restart your agent and ask it *"add a todo: buy milk"* — it shows up at http://localhost:8787, a dashboard that started by itself the moment the agent connected.

Only want Claude Code, and nothing written anywhere else? claude mcp add docket -- npx -y @pasichdev/docket does just that part. Other hosts: Supported hosts.

Optional: see what's open in a project when a session starts

npm install -g @pasichdev/docket        # the hook runs a command, so it needs one on PATH

docket hook install # then: docket hook doctor

hook install works without the global install too — it pins the command to this exact copy of docket and tells you it did — but the short form survives moving or reinstalling, and npx leaves nothing on PATH.

Why

A thought that shows up mid-session is worth capturing but not worth the ceremony: a Notion template, a GitLab issue format, a ticket id you have to invent. So today it evaporates. Docket is the layer underneath all of that — work lands here at the speed an agent can type, from any tool, in any project, and graduates to Notion/GitLab/Obsidian when it's earned it.

Nobody else occupies this space, and it isn't an accident: Anthropic will not integrate Claude Code with Cursor, and Cursor will not integrate with Codex. Every vendor optimises its own closed loop. The space *between* the tools is structurally nobody's.

One list, many projects

Docket files every item under the project it was captured in, automatically — resolved from the git remote of wherever the agent is running. You never type it, and no agent has to remember to.

~/work/backend      claude-code, codex   ─┐

~/side/tracker claude-code ─┼──▶ docket ──▶ one list, three scopes ~/side/notes codex, warp ─┘

  • todo_list in ~/work/backend shows that project's open items, not all three projects' — compact, one line each.
  • The web dashboard has a workspace switcher with per-project open counts.
  • Items with no project context land under Unfiled and stay visible, never guessed at.

Using the git *remote* rather than the path means the same repo cloned to ~/src/backend on a laptop and /work/backend on a desktop is one workspace — which matters precisely because sync exists. Full resolution order and the .docket.json override: [`docs/workspaces.md`](docs/workspaces.md).

Regenerate these with node docs/assets/demo-seed.mjs — it builds the workspace they show, so they stay a picture of the real dashboard rather than a staged one.

Upgrading from 2.x

Read this before you upgrade if you have existing items.

3.0 migrates your store from data format v7 to v8 on first run, automatically. The migration itself is safe and is not the risk. Downgrading afterwards is.

docket 2.3.1 writes the store from its own v7 shape: it has never heard of the fields v8 adds, so its very first write after a reinstall silently strips them from every item. Nothing errors, and a later re-upgrade hands out fresh sequence numbers that no longer mean what your paired devices think they mean. 2.3.1 is published and cannot be patched, so 3.0 defends the only way it can — by keeping a copy of your pre-migration store:

~/.docket/todos.v7-pre-upgrade.enc

It is written once, before the first v8 write, and never overwritten. The upgrade prints its path on the run that creates it.

To go back to 2.x, restore it first:

docket restore --from-v7                     # puts the v7 store back; moves the v8 one aside

npm install -g @pasichdev/docket@2.3.1

In that order. restore --from-v7 deletes nothing — your v8 store is renamed aside, so you can come forward again later.

If you would rather have a portable copy as well, docket backup ./pre-v3.backup before upgrading gives you one that includes your identity and paired peers.

Bridges, not replaces

Docket is deliberately not where work lives forever. It's where work lands *first*, before anyone knows whether it deserves a ticket. Most of it doesn't and gets closed by hand; the rest graduates.

sourceUrl is the bridge in both directions. Set it whenever an item maps to something with a URL — a GitLab issue, a Notion page, an Obsidian share link, a Slack thread, a GitHub PR — and the card carries a clickable link straight back to it.

*Why not just use GitHub Issues?* Because an issue costs a title you have to

phrase for an audience, a repo you have to pick, and labels you have to

maintain — and because your Cursor session can't write one for you while

you're mid-thought in a different project. Docket costs one sentence, from

whichever tool you already have open. When the item turns out to matter, it

becomes an issue, and sourceUrl remembers where it went.

Supported hosts

Any MCP host works — the tools are identical everywhere:

{

"mcpServers": { "docket": { "command": "npx", "args": ["-y", "@pasichdev/docket"] } } }

HostConfig file
Claude Codeclaude mcp add docket -- npx -y @pasichdev/docket
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
Cursor.cursor/mcp.json or Global MCP settings
Windsurf~/.codeium/windsurf/mcp_config.json
Codex~/.codex/config.toml (mcp_servers)
Zed~/.config/zed/settings.json — uses context_servers, see below

Zed's config shape is slightly different

{

"context_servers": { "docket": { "command": { "env": {}, "path": "npx", "args": ["-y", "@pasichdev/docket"] } } } }

</details>
The one hook

Claude Code additionally gets a `SessionStart` hook, and only that one:

docket hook install      # writes .claude/settings.json (--global for user-wide)

docket hook doctor # proves it fires, and reports measured latency docket hook uninstall # removes only the entries docket owns

When a session starts it injects the items open in that project — compact, at most 7, under 120 tokens. Nothing at all when the project has nothing open. Its whole job is continuity: you come back to a terminal and the thread is already there.

Don't want it? export DOCKET_HOOKS=off disables it immediately, without editing any config or uninstalling anything. docket hook doctor measures the real round trip and says so if it is slow enough to notice.

It fails open, always. Server not running, request timed out, malformed response, DOCKET_HOOKS=off — every one of those exits 0 and prints nothing. A tool that degrades your session when the tool itself is broken gets uninstalled, at which point it helps nobody. docket hook doctor runs the configured command for real and reports what a session would actually see, so a hook that never fires is visible rather than merely silent.

No PreToolUse, no blocking, no other hosts — the hook's only job in this release is continuity, not enforcement.

Guidance for non-Claude-Code agents

The tools work everywhere; the *guidance* ships as a Claude Code plugin. For any other agent, copy skills/docket/SKILL.md (everything below the --- frontmatter) into whichever file your agent reads — AGENTS.md for Codex, .cursor/rules/docket.mdc for Cursor, .windsurfrules for Windsurf, CLAUDE.md for Claude Desktop, or Warp's custom-instructions setting.

/plugin marketplace add pasichDev/docket

/plugin install docket@docket

Tools

ToolDescription
todo_add(title, description?, list?, category?, priority?, dueDate?, sourceUrl?, workspace?)Capture an item. Filed under the current project automatically.
todo_list(filter?, list?, category?, agent?, session?, inProgress?, workspace?, verbose?, limit?, offset?)Scoped to the current project and compact by default. workspace:"*" for everything.
todo_edit(id, ...)Edit any subset of fields by id. Pass "" to clear an optional field.
todo_claim(id) / todo_release(id)Mark an item in progress, or drop the claim. Auto-expires after 15 minutes.
todo_complete(id)Mark done (also clears any claim).
todo_history(id)Full change log for one item.
todo_delete(id)Permanently remove an item.
todo_version() / todo_check_update()Data-format version; read-only npm version check.
digest_publish(title, summary, sections?, metrics?, highlights?, sources?, windowFrom?, windowTo?)Save a digest an agent compiled from your GitLab/GitHub/Notion/git — see Digests.
digest_list(limit?) / digest_get(id) / digest_delete(id)Recent digests, one in full, remove one (everywhere it synced).
digest_take(item)Hand item 7 (or D-7K2F9A/7) to the calling agent: its brief, plus a docket task claimed in its name.
digest_seen()Items the user marked seen, so the next digest leaves them out.

Full field and workflow reference: skills/docket/SKILL.md.

Digests

Ask your agent *"make a digest"* (or *"зроби дайджест"*). The docket:digest skill reads your merge requests, pull requests, Notion tickets, local commits and docket items, checks every status at the source, and publishes the result — which becomes the dashboard's home page: what needs you, what shipped, what is in review, what is stuck, each item linked back to where it lives and one click away from becoming a task.

Docket never holds a GitLab, GitHub or Notion credential: the agent reads them with the CLIs and MCP servers it already has, and Docket only keeps what it wrote — on this machine in L

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기