
Pincer
io.github.VouchlyAIPublished by GitHub account VouchlyAIv0.1.5Updated Oct 24, 2026
Secure grip for your agent's secrets - security-hardened MCP gateway with proxy token architecture
Overview
A local MCP gateway that lets an assistant call LLM providers and sign or decrypt data using proxy tokens instead of real API keys.
- What you can do
- Pincer runs as a local stdio MCP server that brokers calls to external services on the agent's behalf. Tools include gemini_generate, openai_chat, openai_list_models, openai_compatible_chat, openai_compatible_list_models, claude_chat, openrouter_chat, openrouter_list_models, openwebui_chat, openwebui_list_models, gpg_sign_data and gpg_decrypt. The agent authenticates with a proxy token; Pincer resolves it to the real credential stored encrypted in the OS keychain, injects it just in time, and logs each call to a hash-chained audit file.
- When to use it
- Use it when an assistant needs to reach several LLM providers or perform GPG signing without holding long-lived API keys or private keys itself. It suits setups where per-agent, per-tool authorization and an audit trail of tool calls matter.
- Requirements
- Node.js 18+ and an OS with native keychain support (macOS, Windows, or Linux). Install the npm package pincer-mcp, run pincer init to create the vault, store provider keys, and register an agent to obtain a proxy token. The agent must be given PINCER_PROXY_TOKEN; optional variables are AUDIT_LOG_PATH, OPENAI_COMPATIBLE_URL and OPENWEBUI_URL. Network access is needed for the external provider calls.
Installation
In SourceWeft
- Open Pincer in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Pincer MCP 🦀
[License] [TypeScript] [MCP] [NPM Version] [NPM Downloads] [MCP Registry]
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:
- Agent knows: Only a unique proxy token (
pxr_abc123...) - Pincer knows: Mapping of proxy tokens → real API keys (encrypted in OS keychain)
- Agent never sees: The actual 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
(More callers coming soon!)
🚀 Quick Start
Prerequisites
- Node.js 18+
- macOS, Windows, or Linux with native keychain support
Installation
Option 1: Global Installation (Recommended)
Option 2: Local Development
Setup Vault
Multi-Key Support
Store multiple keys for the same tool and assign them to different agents:
Result: clawdbot uses key1, mybot uses key2 - perfect for rate limiting or cost tracking!
Run the Server
Configure Your Agent
Give your agent the proxy token (not the real API key):
Tool-to-Secret Name Mappings
When storing secrets, you must use the correct secret name for each tool. See the Tool Mappings Guide 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:
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 mappingsagent_mappings: Agent ID → Tool authorization
Authentication Flow
🔐 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:
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.
📚 Documentation
- Setup Guide - Getting started with Pincer-MCP
- IDE Integration - Use Pincer with VSCode, Claude Desktop, Cursor, and more
- OpenClaw Integration - Integrate Pincer with OpenClaw agents
- Testing Guide - Comprehensive test suite documentation
- Capabilities Reference - Full API and feature documentation
- Security Policy - Vulnerability reporting and security best practices
- CHANGELOG - 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.
- Model Context Protocol - The standard for AI tool integration.
- keytar - Secure cross-platform keychain access.
- better-sqlite3 - High-performance local persistence.
Built with ❤️ for a more secure AI future.
Source: README.md at commit 5ca44e7
Tools
0Version history
1- v0.1.5LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.