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

Pincer

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

설치

개요

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

Secure grip for your agent's secrets - security-hardened MCP gateway with proxy token architecture

PopNx MCP의 세 기둥

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

할 수 있는 일

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

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타
  • 입력해야 할 값: PINCER_PROXY_TOKEN

설치

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

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: PINCER_PROXY_TOKEN, OPENWEBUI_URL, OPENAI_COMPATIBLE_URL, AUDIT_LOG_PATH

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

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

어떤 앱을 쓰세요?

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

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

{
  "mcpServers": {
    "pincer": {
      "command": "npx",
      "args": [
        "-y",
        "pincer-mcp"
      ],
      "env": {
        "PINCER_PROXY_TOKEN": "your-value",
        "OPENWEBUI_URL": "your-value",
        "OPENAI_COMPATIBLE_URL": "your-value",
        "AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

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

claude mcp add pincer --env PINCER_PROXY_TOKEN=your-value --env OPENWEBUI_URL=your-value --env OPENAI_COMPATIBLE_URL=your-value --env AUDIT_LOG_PATH=your-value -- npx -y pincer-mcp

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

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

{
  "mcpServers": {
    "pincer": {
      "command": "npx",
      "args": [
        "-y",
        "pincer-mcp"
      ],
      "env": {
        "PINCER_PROXY_TOKEN": "your-value",
        "OPENWEBUI_URL": "your-value",
        "OPENAI_COMPATIBLE_URL": "your-value",
        "AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

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

VS Code에서 열기

또는 설정을 직접 복사하기

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

{
  "servers": {
    "pincer": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "pincer-mcp"
      ],
      "env": {
        "PINCER_PROXY_TOKEN": "your-value",
        "OPENWEBUI_URL": "your-value",
        "OPENAI_COMPATIBLE_URL": "your-value",
        "AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

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

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

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

직접 입력할 값

  • PINCER_PROXY_TOKEN 비밀 필수 env
    Proxy token for agent authentication (generated via 'pincer agent add')
  • OPENWEBUI_URL env
    Optional: Base URL for OpenWebUI instance
  • OPENAI_COMPATIBLE_URL env
    Optional: Base URL for OpenAI-compatible instance
  • AUDIT_LOG_PATH env
    Optional: Custom path for audit logs (default: ~/.pincer/audit.jsonl)

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

할 수 있는 일

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

기본 점검i

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

  • ✓ 통과

    제작자와 저장소 일치

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

  • … 아직 점검 안 함

    계속 관리되고 있음

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

  • … 아직 점검 안 함

    라이선스 있음

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

  • – 해당 없음

    엔드포인트 응답

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

  • – 해당 없음

    OAuth로 로그인

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

  • … 아직 점검 안 함

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

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

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

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

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

자주 묻는 질문

Pincer, 안전한가요?

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

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

입력해야 할 값: PINCER_PROXY_TOKEN

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

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

아직 관리되고 있나요?

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

어떤 앱에서 쓸 수 있나요?

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

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

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

대안

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

카드 보는 법:★ 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그저께 업데이트
설치

SwarmMemo

제작자: Hugo0

Talk with agent swarms: rooms, private messages and paid tasks for AI agents

클라우드에서 실행오늘 업데이트
설치

제작자의 README

README 열기

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

Pincer MCP 🦀

Pincer-MCP is a security-hardened Model Context Protocol (MCP) gateway that eliminates the "Lethal Trifecta" vulnerability in agentic AI systems. By acting as a stateless intermediary, Pincer ensures agents never see your real API keys.

🔒 The Problem

Current AI agents store long-lived API keys in plain-text .env files or local databases. If compromised via prompt injection or host intrusion, attackers gain direct access to your:

  • Database passwords
  • Third-party API keys

✨ The Solution: Proxy Token Architecture

Pincer implements a "blindfold" security model:

  1. Agent knows: Only a unique proxy token (pxr_abc123...)
  2. Pincer knows: Mapping of proxy tokens → real API keys (encrypted in OS keychain)
  3. Agent never sees: The actual credentials
sequenceDiagram

participant Agent participant Pincer participant Vault (OS Keychain) participant External API

Agent->>Pincer: tools/call + proxy_token: pxr_abc123 Pincer->>Vault: Decrypt real API key Vault-->>Pincer: gemini_api_key: AIzaSy... Pincer->>External API: API call with real key External API-->>Pincer: Response Pincer->>Pincer: Scrub key from memory Pincer-->>Agent: Response (no credentials)

## 📦 Available Tools
  • gemini_generate: Secure Google Gemini API calls.
  • openai_chat: Chat completions with OpenAI GPT models (gpt-4o, gpt-4-turbo, gpt-3.5-turbo, etc.).
  • openai_list_models: List all available OpenAI models.
  • openai_compatible_chat: Chat completions with any OpenAI-compatible API (Azure OpenAI, Ollama, vLLM, etc.).
  • openai_compatible_list_models: List models from custom OpenAI-compatible endpoints.
  • claude_chat: Chat completions with Anthropic Claude models (Claude 3.5 Sonnet, Opus, Haiku).
  • openrouter_chat: Unified API access to 100+ models from multiple providers (OpenAI, Anthropic, Google, Meta, etc.).
  • openrouter_list_models: List all available models across OpenRouter providers.
  • openwebui_chat: OpenAI-compatible interface for self-hosted LLMs.
  • openwebui_list_models: Discover available models on an OpenWebUI instance.
  • gpg_sign_data: Sign data or files using a GPG/PGP private key stored in Pincer's vault. *(Keyless Execution — agent never sees the key)*
  • gpg_decrypt: Decrypt PGP-encrypted data using a vault-stored private key.
🔑 GPG Key Management
# Generate a new GPG keypair (private key stored in vault)

pincer key generate --name "Release Signing" --email dev@example.com

Import an existing PGP private key

pincer key import ./my-key.asc --passphrase "my-passphrase"

List all stored GPG keys

pincer key list

Export public key (safe to share)

pincer key export

Authorize an agent for signing

pincer agent authorize mybot gpg_sign_data --key

*(More callers coming soon!)*

🚀 Quick Start

Prerequisites
  • Node.js 18+
  • macOS, Windows, or Linux with native keychain support
Installation

Option 1: Global Installation (Recommended)

npm install -g pincer-mcp

Now 'pincer' command is available system-wide

Option 2: Local Development

git clone https://github.com/VouchlyAI/Pincer-MCP.git

cd Pincer-MCP npm install npm run build npm link # Makes 'pincer' command available locally

Setup Vault
# 1. Initialize vault (creates master key in OS keychain)

pincer init

2. Store your real API keys (encrypted)

pincer set gemini_api_key "AIzaSyDpxPq..." pincer set openai_api_key "sk-proj-..."

3. Register an agent and generate proxy token

pincer agent add openclaw

Output: 🎫 Proxy Token: pxr_V1StGXR8_Z5jdHi6B-myT

4. Authorize the agent for specific tools

pincer agent authorize openclaw gemini_generate

Multi-Key Support

Store multiple keys for the same tool and assign them to different agents:

# Store two different Gemini API keys

pincer set gemini_api_key "AIzaSy_KEY_FOR_CLAWDBOT..." --label key1 pincer set gemini_api_key "AIzaSy_KEY_FOR_MYBOT..." --label key2

View all stored keys

pincer list

Assign specific keys to each agent

pincer agent add clawdbot pincer agent authorize clawdbot gemini_generate --key key1

pincer agent add mybot pincer agent authorize mybot gemini_generate --key key2

View agent permissions

pincer agent list

Result: clawdbot uses key1, mybot uses key2 - perfect for rate limiting or cost tracking!

Run the Server
npm run dev
Configure Your Agent

Give your agent the proxy token (not the real API key):

export PINCER_PROXY_TOKEN="pxr_V1StGXR8_Z5jdHi6B-myT"

Tool-to-Secret Name Mappings

When storing secrets, you must use the correct secret name for each tool. See the [Tool Mappings Guide](docs/TOOL_MAPPINGS.md) for a complete reference.

When you run pincer agent authorize myagent gemini_generate, Pincer will inject the gemini_api_key secret when that tool is called.

Make a Tool Call

Your agent sends requests with the proxy token in the body:

{

"jsonrpc": "2.0", "method": "tools/call", "params": { "name": "gemini_generate", "arguments": { "prompt": "Hello world", "model": "gemini-2.0-flash" }, "_meta": { "pincer_token": "pxr_V1StGXR8_Z5jdHi6B-myT" } } }

Pincer maps the proxy token to the real API key and executes the call securely.

🏗️ Architecture

Two-Tiered Vault System

Tier 1: Master Key (OS Keychain)

  • Stored in macOS Keychain, Windows Credential Manager, or GNOME Keyring
  • Never touches the filesystem
  • Accessed only for encryption/decryption

Tier 2: Encrypted Store (SQLite)

  • Database at ~/.pincer/vault.db
  • Three tables:
  • secrets: Real API keys (AES-256-GCM encrypted)
  • proxy_tokens: Proxy token → Agent ID mappings
  • agent_mappings: Agent ID → Tool authorization
Authentication Flow
Request (_meta.pincer_token: pxr_xxx)

↓ Gatekeeper: Extract proxy token from body ↓ Vault: Resolve pxr_xxx → agent_id → tool_name → real_api_key ↓ Injector: JIT decrypt & inject real key ↓ Caller: Execute external API call ↓ Scrubber: Overwrite key in memory with zeros ↓ Audit: Log to tamper-evident chain

🔐 Security & Compliance

Pincer is built for enterprise-grade security:

  • Hardware-Backed Cryptography: Master encryption keys never leave the OS-native keychain.
  • Proxy Token Isolation: Agents only handle ephemeral pxr_ tokens; they never touch real credentials.
  • JIT Decryption: Secrets are decrypted only for the duration of the API call.
  • Zero-Footprint Memory: Sensitive data is scrubbed (zeroed out) from memory immediately after use.
  • Fine-Grained Authorization: Strict per-agent, per-tool access control policies.
  • Tamper-Evident Audit Log: Append-only tool call history with SHA-256 chain-hashing.
  • Hardened Execution: Schema validation on all inputs and protected environment execution.
  • Stdio Compatible: Fully compatible with the standard Model Context Protocol transport.

🔍 Audit Logs

Every tool call is logged to ~/.pincer/audit.jsonl with both UTC and Local timestamps, plus character counts and estimated token usage:

{

"agentId": "openclaw", "tool": "gemini_generate", "duration": 234, "status": "success", "input_chars": 156, "output_chars": 423, "estimated_input_tokens": 39, "estimated_output_tokens": 106, "timestamp_utc": "2026-02-05T08:32:00.000Z", "timestamp_local": "2/5/2026, 2:02:45 PM", "chainHash": "a1b2c3d4e5f6g7h8", "prevHash": "0000000000000000" }

Token Estimation: Pincer automatically estimates token usage using a 4:1 character-to-token ratio (~4 characters per token average). This provides consistent cost tracking across all AI providers without relying on provider-specific APIs.

Chain hashes provide tamper detection - any modification breaks the SHA-256 chain.

🧪 Development

# Install dependencies

npm install

Run tests

npm test

Run with watch mode

npm run dev

Build for production

npm run build

📚 Documentation

  • [Setup Guide](docs/SETUP.md) - Getting started with Pincer-MCP
  • [IDE Integration](docs/IDE_INTEGRATION.md) - Use Pincer with VSCode, Claude Desktop, Cursor, and more
  • [OpenClaw Integration](docs/OPENCLAW_INTEGRATION.md) - Integrate Pincer with OpenClaw agents
  • [Testing Guide](docs/TESTING.md) - Comprehensive test suite documentation
  • [Capabilities Reference](docs/CAPABILITIES.md) - Full API and feature documentation
  • [Security Policy](SECURITY.md) - Vulnerability reporting and security best practices
  • [CHANGELOG](CHANGELOG.md) - Version history and release notes

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

📄 License

BSL 1.1 (Business Source License) — See LICENSE for details. Converts to Apache 2.0 on 2028-04-01.


Built with ❤️ for a more secure AI future.

PopNx에게 묻기