Skip to main content
Glama
TLB-STATION

ApiVault Remote MCP Server

by TLB-STATION

ApiVault 원격 MCP 서버

License: MIT Protocol: MCP Transport: Streamable HTTP TypeScript Node.js Next.js OAuth 2.1

AI 코딩 에이전트를 위한 안전한 암호화 API 키 관리.
ApiVault의 공식 원격 Model Context Protocol (MCP) 서버입니다.

빠른 시작 • 도구 참조 • 아키텍처 • OAuth 2.1 및 스코프 • 오류 코드 및 문제 해결 • 자체 호스팅 및 개발


개요

ApiVault 원격 MCP 서버는 AI 어시스턴트(Cursor, Claude Desktop, Windsurf, Claude Code 등)가 **ApiVault**에 있는 암호화된 시크릿과 안전하고 감사 가능하게 상호작용할 수 있도록 합니다.

AI 에이전트는 원시 API 키를 채팅 프롬프트에 붙여넣거나 .env 파일을 git에 커밋하는 대신 다음을 수행할 수 있습니다:

  1. 마스킹된 미리보기(예: sk_live_••••1234)를 사용하여 사용 가능한 자격 증명을 검색하고 검사합니다.

  2. 범위 지정 권한을 통해 코드를 실행할 때만 원시 시크릿 값을 요청합니다.

  3. 새로 생선된 API 키를 볼트에 직적 자동으로 저장합니다.

  4. 제로 지식 사용자 정의 볼트 키를 지원하여 즉시 메모리에서 복轄화합니다.


Related MCP server: Credential Vault MCP

🤖 공식 AI 에이전트 스킬

AI 코딩 어시스턴트(Cursor, Claude Code, Windsurf, 또는 Google Antigravity)를 사용하는 경우, 공식 ApiVault Agent Skill을 워크스페이스에 설치하세요:

git clone https://github.com/TLB-STATION/apivault-skill.git .agents/skills/apivault

이것은 AI 에이전트에 ApiVault MCP와 상호작용하기 위한 기본 런북, 복사-붙여넣기 프롬프트 템플릿 및 보안 지침을 제공합니다.


빠른 시작

1. Cursor

Cursor 설정(Cmd/Ctrl + Shift + J) → MCP → 새 MCP 서버 추가를 열거나 ~/.cursor/mcp.json에 추가하세요:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

2. Claude Desktop & Claude.ai

  • 방법 1 (UI 커넥터): Claude Desktop / Claude.ai에서 설정 → 커넥터 → 사용자 정의 커넥터 추가로 이동하여 이름: ApiVault, 원격 URL: https://apivault-mcp.vercel.app/mcp를 입력하세요.

  • 방법 2 (설정 파일): Claude Desktop 구성 파일에 추가하세요:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • 리눅스: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "apivault": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://apivault-mcp.vercel.app/mcp"]
    }
  }
}

3. Windsurf

~/.codeium/windsurf/mcp_config.json에 추가하세요:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

4. Claude Code (CLI)

터미널에서 실행하세요:

claude mcp add apivault https://apivault-mcp.vercel.app/mcp

5. VS Code (Cline / Roo Code / Continue)

확장 프로그램의 MCP 설정 JSON에 추가하세요:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp",
      "transport": "http"
    }
  }
}

첫 연결: 에이전트가 처음 초기화되면 브라우저 탭이 열려 ApiVault 메인 웹사이트(https://api-vault-opal.vercel.app)로 이동하여 계정을 인증하고 요청된 스코프를 승인합니다.


도구 참조

서버는 Model Context Protocol을 따르는 6가지 도구를 제공합니다:

1. list_keys

마스킹된 값(예: sk_live_••••1234)으로 저장된 API 키를 나열합니다. 에이전트가 사용 가능한 서비스를 발견할 수 있도록 하면서 프롬프트 오염을 방지합니다.

  • 필요한 스코프: keys:read

  • 매개변수:

    • environment (string, optional): 환경별 필터링 (예: Production, Staging, Development).

    • service (string, optional): 서비스 이름별 필터링 (예: Stripe, OpenAI, Resend).

  • 에이전트 프롬프트 예시:

    "Production에 저장된 Stripe 자격 증명은 무엇인가요?"


2. get_key

ID로 특정 자격 증명의 메타데이터와 마스킹된 미리보기를 검색합니다.

  • 필요한 스코프: keys:read

  • 매개변수:

    • id (string, required): 키의 고유 ID.

  • 에이전트 프롬프트 예시:

    "키 'cm123abc'의 메타데이터와 마지막 업데이트 날짜를 확인해주세요."


3. reveal_key

복호화하여 원시, 마스킹되지 않은 API 키 값을 반환합니다.

  • 필요한 스코프: keys:reveal

  • 매개변수:

    • id (string, required): 복호화할 키의 ID.

    • vault_key (string, optional): 사용자의 사용자 정의 볼트 키 (계정에 사용자 정의 암호화 모드가 활성화된 경우에만 필요합니다).

  • 에이전트 프롬프트 예시:

    "백엔드 통합 테스트를 실행하기 위해 원시 OpenAI API 키가 필요합니다."


4. add_key

새로운 API 키를 볼트에 안전하게 암호화하여 저장합니다.

  • 필요한 스코프: keys:write

  • 매개변수:

    • name (string, required): 키 식별자 (예: STRIPE_SECRET_KEY, RESEND_API_KEY).

    • key (string, required): 암호화할 원시 시크릿 값.

    • service (string, optional): 서비스 이름 (예: Stripe, OpenAI, AWS).

    • environment (string, optional): 대상 환경 (기본값: Production).

    • notes (string, optional): 개발자 문서 또는 사용 노트.

    • vault_key (string, optional): 필요한 경우 사용자 정의 볼트 키.

  • 에이전트 프롬프트 예시:

    "새로 생성된 Supabase 서비스 롤 키를 Production 볼트에 저장해주세요."


5. update_key

기존 키의 메타데이터를 업데이트하거나 시크릿 값을 재암호화합니다.

  • 필요한 스코프: keys:write

  • 매개변수:

    • id (string, required): 업데이트할 키 ID.

    • name, service, environment, notes (string, optional): 메타데이터 업데이트.

    • key (string, optional): 새 원시 시크릿 값 (재암호화 유발).

    • vault_key (string, optional): 시크릿 값 업데이트 시 사용자 정의 볼트 키.

  • 에이전트 프롬프트 예시:

    "Resend API 키의 노트를 '8월 18일에 로테이트됨'로 업데이트해주세요."


6. delete_key

API 키를 볼트에서 영원히 제거합니다.

  • 필요한 스코프: keys:write

  • 매개변수:

    • id (string, required): 삭제할 키 ID.

  • 에이전트 프롬프트 예시:

    "사용되지 않는 스테이징 데이터베이스 자격 증명을 삭제해주세요."


아키텍처

MCP 서버는 스테이트리스 프롤토콜 게이트웨이 아키텍처를 사용하여 공용 트랜스포트 레이어를 데이터베이스 및 암호화 스토리지와 분리합니다:

+----------------------------------------------------------+
|  AI Agent (Cursor / Claude Desktop / Windsurf)           |
+----------------------------+-----------------------------+
                             | Streamable HTTP (JSON-RPC)
                             v
+----------------------------------------------------------+
|  ApiVault MCP Server (apivault-mcp.vercel.app)           |
|  - RFC 9728 Protected Resource Metadata (PRM)           |
|  - Streamable HTTP Transport (/mcp)                      |
|  - Zero Database Credentials / Zero Stored Keys          |
+----------------------------+-----------------------------+
                             | Scoped HTTPS REST Gateway (Bearer Token)
                             v
+----------------------------------------------------------+
|  ApiVault Backend (api-vault-opal.vercel.app)            |
|  - OAuth 2.1 Authorization Server (DCR + PKCE S256)      |
|  - Browser Consent UI (/mcp/authorize)                   |
|  - Cryptographic Key Decryption & MySQL Vault            |
+----------------------------------------------------------+

보안 속성:

  1. 제로 데이터베이스 패스워드: 공용 apivault-mcp 서비스는 MySQL 자격 증명이나 마스터 암호화 키를 보유하지 않습니다.

  2. 스테이트리스 포워딩: 클라이언트 요청은 검증되어 표준 OAuth Bearer 토큰을 사용하여 ApiVault의 범위 지정 게이트웨이(/ai/mcp/v1/keys)로 전달됩니다.

  3. 인-메모리 볼트 키: 사용자 정의 암호화 모드 볼트 키(vault_key)는 단일 요청 파생 동안에만 메모리에서 사용되며 디스크나 로그에 절대 쓰이지 않습니다.


OAuth 2.1 및 스코프

MCP 서버는 동적 클라이언트 등록 (RFC 7591) 및 **PKCE S256 (RFC 7636)**을 포함한 표준 OAuth 2.1을 구현합니다:

스코프

이름

액세스 권한 부여 대상

keys:read

메타데이터 읽기

list_keys, get_key (마스킹된 미리보기만)

keys:write

키 관리

add_key, update_key, delete_key

keys:reveal

시크릿 복호화

reveal_key (원시 마스킹되지 않은 시크릿 값 액세스)

연결 관리 및 취소

사용자는 웹 대시보드에서 연결된 AI 에이전트를 검토하고, 부여된 스코프를 확인하며, 언제든지 액세스를 취소할 수 있습니다:
ApiVault Dashboard → Settings → MCP Connections


오류 코드 및 문제 해결

오류 코드

이유

해결 방법

UNAUTHORIZED

만료되었거나 누락된 OAuth Bearer 토큰.

Cursor 또는 Claude Desktop에서 재연결 작업을 통해 다시 인증하세요.

INSUFFICIENT_SCOPE

토큰에 필요한 스코프가 없음 (예: keys:read만 있는 상태에서 reveal_key 시도).

브라우저 동의 중에 다시 인증하고 keys:reveal 또는 keys:write 스코프를 부여하세요.

VAULT_KEY_REQUIRED

계정이 사용자 정의 암호화 모드를 사용 중이며 vault_key가 전달되지 않음.

도구 인수에 사용자 정의 볼트 키를 제곻하세요.

INVALID_VAULT_KEY

제공된 사용자 정의 볼트 키가 복호화 검증에 실페함.

마스터 볼트 키가 올바른지 확인하고 재시도하세요.

DUPLICATE_KEY

동일한 이름과 환경의 키가 이미 존재함.

update_key를 사용하거나 고유한 키 이름을 선택하세요.

NOT_FOUND

지정된 키 ID가 볼트에 존재하지 않음.

list_keys를 사용하여 활성 키 ID를 확인하세요.

NETWORK_ERROR

ApiVault 백엔드 게이트웨이에 연결할 수 없음.

인터넷 연결을 확인하고 API_VAULT_URL을 확인하세요.


자체 호스팅 및 개발

자체 독립 실형 MCP 서버를 실하거나 프라이빗 클라우드 인프라에 배포할 수 있습니다:

전제 조건

  • Node.js >= 20.12.0

  • npm 또는 pnpm

1. 클론 및 설치

git clone https://github.com/TLB-STATION/apivault-mcp.git
cd apivault-mcp
npm install

2. 환경 구성

.env.local 생성:

# ApiVault Backend URL
API_VAULT_URL=https://api-vault-opal.vercel.app

# Public URL of this MCP server
MCP_SERVER_URL=http://localhost:3001

3. 개발 서버 실행

npm run dev
# Server running at http://localhost:3001

4. 테스트 스위트 실행

npm test

5. 프로덕션 빌드

npm run build
npm start

커뮤니티 및 생태계


라이선스

MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE를 참조하세요.

Copyright (c) 2026 TLB-STATION • ApiVault

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLM agents to securely use credentials like passwords and API keys without exposing them in the context window, through encrypted storage and proxy-based injection.
    3 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables secure credential storage for AI agents by encrypting secrets and providing agent-invisible references, ensuring sensitive data never leaks to the model.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to securely manage API keys and secrets via the MCP protocol, with encrypted storage at rest and a simple CLI and Python SDK.
    1
    MIT