{"_id":"@3w-witim/mcp-server","name":"@3w-witim/mcp-server","dist-tags":{"latest":"0.3.0"},"versions":{"0.3.0":{"name":"@3w-witim/mcp-server","version":"0.3.0","description":"WITIM(위팀) MCP server — Claude Code / Codex에서 받은 DM·프로젝트를 읽고 본인 명의로 DM을 발송","type":"module","bin":{"witim-mcp":"dist/cli.js"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.23.8"},"devDependencies":{"@types/node":"^20.14.0","tsup":"^8.3.0","tsx":"^4.19.0","typescript":"^5.5.0"},"scripts":{"build":"tsup","start":"tsx src/cli.ts","login":"tsx src/cli.ts login","type-check":"tsc --noEmit"},"_id":"@3w-witim/mcp-server@0.3.0","_integrity":"sha512-bQdOg1aF2YCGeHvH/H2TV27cbDm0nAET7NlnvCgmFqVIclSbXXijyeTjAirpy9qiAA8ODewrGFkHFmfVu3eaoA==","_resolved":"/private/var/folders/2f/w72y6z2x3990bfgnx6gmh2vr0000gn/T/08a4ca26625dd95851ae6fabee3f8e00/3w-witim-mcp-server-0.3.0.tgz","_from":"file:3w-witim-mcp-server-0.3.0.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-bQdOg1aF2YCGeHvH/H2TV27cbDm0nAET7NlnvCgmFqVIclSbXXijyeTjAirpy9qiAA8ODewrGFkHFmfVu3eaoA==","shasum":"099cd43f622e9ca497b002bb8d0eb788750da786","tarball":"https://registry.npmjs.org/@3w-witim/mcp-server/-/mcp-server-0.3.0.tgz","fileCount":3,"unpackedSize":28022,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICufXTbiFiC0Qe641HE7wAidX4LJLQeGlx6KPgjKJi/ZAiEA6uZEzhcE1iRlz2h3AkAz3uppYf/D1/+fSHEnHU6BHGc="}]},"_npmUser":{"name":"3w-witim","email":"admin@witim.net"},"directories":{},"maintainers":[{"name":"3w-witim","email":"admin@witim.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.3.0_1781077683427_0.06523876469859302"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-10T07:48:03.266Z","0.3.0":"2026-06-10T07:48:03.566Z","modified":"2026-06-10T07:48:03.794Z"},"maintainers":[{"name":"3w-witim","email":"admin@witim.net"}],"description":"WITIM(위팀) MCP server — Claude Code / Codex에서 받은 DM·프로젝트를 읽고 본인 명의로 DM을 발송","readme":"# @3w-witim/mcp-server\n\n위팀(WITIM) **MCP 서버**. Claude Code / Codex에서 **내가 받은 DM·프로젝트를 읽어** 정리하고,\n각 사용자에게 **내 명의로 DM을 발송**한다. 봇이 아니라 본인 명의로 동작한다.\n\n> 누구나 자기 위팀 계정으로 붙일 수 있다. MCP는 위팀 API에 자기 토큰으로 접근하는 얇은 클라이언트일 뿐이다.\n\n## 동작 개요\n\n```\nClaude Code / Codex ──stdio──► @3w-witim/mcp-server ──Bearer──► 위팀 API\n```\n\n- **무인프라**: Claude Code/Codex가 로컬에서 자식 프로세스로 실행. 호스팅/포트 없음.\n- **인증**: 전용 service 토큰. 토큰은 **이 기기에만** 저장되고, access 만료 시 자동 갱신된다.\n  다른 기기에 로그인해도 끊기지 않는다.\n\n## 제공 도구\n\n| 도구                    | 설명                                                     |\n| ----------------------- | -------------------------------------------------------- |\n| `witim_whoami`          | 토큰 유효성 + 연결 계정/기본 워크스페이스 확인           |\n| `witim_list_workspaces` | 내가 속한 워크스페이스 목록(멀티 워크스페이스 시작점)    |\n| `witim_list_members`    | 워크스페이스 멤버 목록(신규 발송 대상 후보)              |\n| `witim_list_dm_threads` | 받은 DM 대화 목록(인박스)                                |\n| `witim_get_dm_thread`   | 특정 사용자와의 대화 전문                                |\n| `witim_list_projects`   | 프로젝트 목록·진행 상태                                  |\n| `witim_send_dm`         | 본인 명의 DM 발송 — **`confirm=true` 없이는 미리보기만** |\n| `witim_send_dm_batch`   | 여러 명 일괄 — **`confirm=true` 없이는 미리보기만**      |\n\n**멀티 워크스페이스:** `witim_list_workspaces` 로 목록을 보고, 읽기·발송 도구에 `workspaceId` 를 넘겨\n해당 워크스페이스로 스코프한다(생략 시 토큰 기본 워크스페이스).\n\n**발송 안전장치:** `send_dm*`은 `confirm`이 빠지면 절대 발송하지 않고 미리보기만 반환한다(미리보기에\n대상 워크스페이스 표시 — 오발송 방지). 권장 흐름: 인박스 읽기 → 사용자별 초안 → 검토 → 승인 → `confirm:true` 재호출.\n\n## 설치\n\n### 1) 등록\n\n**Claude Code** — `claude mcp add witim -- npx -y @3w-witim/mcp-server`\n또는 `.mcp.json`(프로젝트 루트) / `~/.claude.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"witim\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@3w-witim/mcp-server\"]\n    }\n  }\n}\n```\n\n**Codex** — `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.witim]\ncommand = \"npx\"\nargs = [\"-y\", \"@3w-witim/mcp-server\"]\n```\n\n### 2) 1회 로그인 (토큰 안 만짐)\n\n```bash\nnpx -y @3w-witim/mcp-server login\n```\n\n브라우저가 열리고 (구글/애플/매직링크 포함 **이미 로그인된 세션**) **\"허용\"** 클릭 → 끝.\n토큰은 `~/.config/witim-mcp/credentials.json`(mode 600)에 저장된다.\n\n폴백(브라우저 불가): `... login --paste`(헤드리스) / `... login --password`(비밀번호 계정).\n\n### 3) 클라이언트 재시작 → `witim_*` 도구 등장 → `witim_whoami` 로 확인.\n\n## 환경변수\n\n| 변수                 | 기본          | 설명                              |\n| -------------------- | ------------- | --------------------------------- |\n| `WITIM_API_URL`      | 위팀 운영 URL | API 베이스 URL (보통 설정 불필요) |\n| `WITIM_WORKSPACE_ID` | (토큰 기본값) | 멀티 워크스페이스일 때 명시       |\n\n## 보안\n\n- service 토큰은 **장수명 자격증명**이다. 유출 시 본인 명의 DM 발송이 가능하므로\n  `~/.config/witim-mcp/credentials.json`(mode 600)을 안전하게 보관한다.\n- 발송 도구는 `confirm` 없이는 미리보기만 반환한다(대량 오발신 방지).\n\n## 요구사항\n\n- Node.js 18+\n","readmeFilename":"README.md","_rev":"1-6998f06b08c27823467c0ec5a32b85fd"}