npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@1pass/mcp

v0.2.0

Published

MCP server for logi Identity Provider — end-user tools via Personal API Key

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) 발급

  1. 브라우저에서 https://start.1pass.dev/developer/api_keys 접속
  2. logi SSO 로 로그인
  3. "새 키 발급" (Create new key) → 이름·scope 선택 (예: claude-code-mcp-apps-manage)
  4. 최근 OTP step-up 통과
  5. 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:manage scope 가 필요합니다. 향후 서버에 /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 server

publish 전 점검:

./scripts/prepublish-check.sh

라이선스

MIT © Dcode