@1pass/mcp
v0.2.0
Published
MCP server for logi Identity Provider — end-user tools via Personal API Key
Maintainers
Readme
@1pass/mcp
logi (1pass) Identity Provider 의 end-user MCP 서버. Claude Code / Claude Desktop 에서 자연어로 logi 계정과 OAuth 앱(RP)을 관리합니다.
"내 logi 로그인 이력 보여줘", "내 RP에 redirect_uri 추가해줘" 같은 자연어가 바로 API 호출로 매핑됩니다.
설치
방법 1: npx (권장)
~/.claude.json (또는 Claude Desktop config) 에 다음을 추가:
{
"mcpServers": {
"logi": {
"command": "npx",
"args": ["-y", "-p", "@1pass/mcp", "logi-mcp"],
"env": {
"LOGI_API_URL": "https://start.1pass.dev",
"LOGI_API_KEY": "logi_pak_..."
}
}
}
}방법 2: 전역 설치
npm i -g @1pass/mcp그리고 ~/.claude.json:
{
"mcpServers": {
"logi": {
"command": "logi-mcp",
"env": {
"LOGI_API_URL": "https://start.1pass.dev",
"LOGI_API_KEY": "logi_pak_..."
}
}
}
}방법 3: 저장소에서 직접 (개발용)
cd mcp && npm install && npm run build{
"mcpServers": {
"logi": {
"command": "node",
"args": ["~/toy/logi/mcp/dist/index.js"],
"env": {
"LOGI_API_URL": "http://localhost:3000",
"LOGI_API_KEY": "logi_pak_..."
}
}
}
}Personal API Key (PAK) 발급
- 브라우저에서 https://start.1pass.dev/developer/api_keys 접속
- logi SSO 로 로그인
- "새 키 발급" (Create new key) → 이름·scope 선택 (예:
claude-code-mcp-apps-manage) - 최근 OTP step-up 통과
- reveal 페이지에서 plaintext 키를 한 번만 표시 — 즉시 복사해서 안전한 곳에 저장
키 이름에 사용 맥락 + scope 힌트를 포함하면 회전·감사가 쉬워집니다. 예:
claude-code-mcp-apps-manage,cli-readonly,ci-deploy.
제공 도구 (12)
| Tool | 용도 | 필요 scope |
|------|------|-----------|
| logi_whoami | PAK 연결 확인 (현재는 /api/v1/applications 호출로 검증 — 서버 응답 + 조회 가능한 앱 수만 반환) | apps:read or apps:manage (현 구현 기준) |
| logi_list_login_history | 최근 로그인 이력 (N≤100) | login_history:read |
| logi_delete_login_log | 로그인 로그 soft-delete (90일 복구 가능) | login_history:write |
| logi_list_trashed_logs | 휴지통 조회 | login_history:write |
| logi_restore_login_log | 휴지통에서 복구 (idempotent) | login_history:write |
| logi_list_passkeys | 등록된 Passkey 목록 | passkeys:read |
| logi_delete_passkey | Passkey 삭제 (irreversible) | passkeys:manage |
| logi_list_connected_apps | 내가 권한 부여한 third-party OAuth 앱 + 공유 claim 목록 | profile:read |
| logi_list_apps | 내가 소유한 RP(OAuth app) 목록 | apps:read or apps:manage |
| logi_show_app | RP 상세 (redirect_uris, scopes, status 등) | apps:read or apps:manage |
| logi_add_redirect_uri | RP 에 redirect_uri 추가 (idempotent + audit) | apps:manage |
| logi_remove_redirect_uri | RP 에서 redirect_uri 제거 (마지막 1개 차단) | apps:manage |
logi_list_connected_apps 는 end-user 권한 부여 목록(/api/v1/me/connected_apps,
profile:read 필요)이고 logi_list_apps 는 RP 소유자 관점의 앱 목록
(/api/v1/applications) 입니다 — 헷갈리지 마세요.
logi_whoami는 현재 별도 식별 엔드포인트가 없어/api/v1/applications를 ping 용으로 호출하기 때문에apps:read또는apps:managescope 가 필요합니다. 향후 서버에/api/v1/me가 들어오면 어떤 scope 로도 동작하도록 바뀔 예정입니다.
보안
PAK 저장
~/.claude.json은 반드시chmod 600(편집 전/후 모두 확인)stat -f "%Sp %N" ~/.claude.json # -rw------- /Users/<you>/.claude.json.gitignore에.claude.json포함 확인 — 절대 git 에 들어가면 안 됨- 가능하면 OS Keychain 에 저장하고 셸 wrapper 로 inject 하는 것이 더 안전
회전 (rotation)
- 90일마다 회전 (개인 캘린더에 reminder)
- 회전 = 새 키 발급 →
~/.claude.json교체 → 구 키 revoke - 스코프 축소가 필요하면 in-place 수정 대신 새 키 발급 후 구 키 revoke
즉시 revoke 트리거
- 키가 git/chat/문서/screenshot 에 노출된 정황
- 디바이스 폐기 직전 (wipe 전에 revoke)
- 의심스러운
developer_audit_logs.api_key_created행 발견 - 사용하지 않는 키 (분기별 점검)
전송
PAK 는 Authorization: Bearer logi_pak_... 헤더로만 전송됩니다.
HTTPS 강제, URL/쿼리스트링에 절대 포함하지 않습니다.
Troubleshooting
| 증상 | 원인 | 처치 |
|------|------|------|
| logi API error 401 | 잘못된/만료된/revoke 된 PAK | https://start.1pass.dev/developer/api_keys 에서 신규 발급 |
| logi API error 403 (scope_missing) | 키 발급 시 해당 scope 미선택 | 더 넓은 scope 로 새 키 발급 (in-place 수정 불가) |
| logi API error 404 | LOGI_API_URL 잘못됨 | https://start.1pass.dev 확인 (apex 1pass.dev 는 301 redirect) |
| ENOTFOUND start.1pass.dev | DNS / 오프라인 | 네트워크 확인, 캐시 flush |
| Claude 가 logi tool 을 인식 못 함 | MCP config 미적용 | Claude 재시작, ~/.claude.json 문법 검증 (jq . ~/.claude.json) |
| logi_add_redirect_uri 가 reject | URI shape / sandbox host / app_link host mismatch | 서버 에러 메시지의 reason 확인 후 정정 |
개발 (contributors)
npm install
npm run build # tsc
npm run dev # tsc --watch
LOGI_API_KEY=logi_pak_... node dist/index.js # stdio MCP serverpublish 전 점검:
./scripts/prepublish-check.sh라이선스
MIT © Dcode
