@palveron/mcp-server
Official Palveron MCP server β advisory AI-governance checks for MCP hosts and coding agents
β‘ Early access. Palveron is launching soon and access is currently invite-gated. This server is fully functional β you just need a pv_live_ key, which comes with an Early Access invite. Join the waitlist β palveron.com/early-access
Give your MCP-capable client β Claude Code, Cursor, any other MCP host β governance tools it can call before executing an action: policy verdicts, PII-masking results, and an audit trace for every check, all from the Palveron AI Governance Gateway.
- Drop-in MCP server β one binary, configure your MCP host, you're done
- Advisory governance verdicts β the gateway decides allow / mask / deny / hold; the agent (or your wrapping code) acts on the verdict
- Audit trail per check β trace IDs flow back to the Palveron dashboard
- Built on
@palveron/sdk β retry, circuit breaker, typed errors out of the box
Advisory check vs. enforced governance β which one do you need?
This package is the advisory path. It cannot physically stop a tool call: it answers the question "is this allowed?", and the calling agent (or your code via check()/wrap()) is expected to honor the answer. That is by design β it works with any MCP host, needs no network topology change, and gives you verdicts plus audit traces immediately.
Enforced, non-bypassable governance for MCP tool calls is a different product surface: the Palveron remote MCP proxy. There you register the target MCP server in the Palveron dashboard and point your IDE at POST {gateway}/api/v1/mcp/proxy/{server_id} instead of the target β every tools/call then structurally passes through policy checks, approval holds, and drift detection before it can reach the target server. No cooperation from the agent required.
| This package (@palveron/mcp-server) | Remote MCP proxy |
|---|
| Model | Voluntary pre-flight check | In-path enforcement |
| Can a call bypass it? | Yes β enforcement depends on the caller honoring the verdict | No β the proxy sits between client and target server |
| Setup | npx, one env var | Register the target server in the dashboard, point the IDE at the proxy URL |
| Use it when | You want verdicts + audit traces inside any MCP host, or wrap tool calls programmatically | You need governance that agents cannot skip |
See the MCP setup guide for the enforced path.
Installation
npm install -g @palveron/mcp-server
npx @palveron/mcp-server
Quick Start
The pv_live_β¦ key in the examples below requires an Early Access invite β request one here. Once you have a key, everything works out of the box.
Claude Code
Add to your claude_desktop_config.json:
{
"mcpServers": {
"palveron": {
"command": "npx",
"args": ["@palveron/mcp-server"],
"env": {
"PALVERON_API_KEY": "pv_live_xxx",
"PALVERON_BASE_URL": "https://gateway.palveron.com"
}
}
}
}
Other MCP hosts
Any MCP-capable host can launch the server via the palveron-mcp binary:
PALVERON_API_KEY=pv_live_xxx palveron-mcp
| Tool | Purpose |
|---|
palveron_check | Check a tool call against governance policies before execution. Returns the decision (PASSED, BLOCKED, MODIFIED/REDACTED/ANONYMIZED with the sanitized input, PENDING_APPROVAL, β¦), whether the call may proceed, findings, and the audit trace ID. |
palveron_status | Governance status and diagnostics β gateway connectivity, circuit-breaker state, configured local lists. |
palveron_policy_list | List the project's active policies so the host can explain its decisions. |
Configuration
The server reads its configuration from environment variables. The MCP host sets them; you never put secrets in code.
| Variable | Required | Description |
|---|
PALVERON_API_KEY | yes | API key (pv_live_β¦) β comes with an Early Access invite |
PALVERON_BASE_URL | no | Override the gateway endpoint (default: https://gateway.palveron.com) |
PALVERON_FAIL_OPEN | no | true = allow tool calls when the gateway is unreachable (default: false, fail-closed) |
PALVERON_LOG_LEVEL | no | debug / info / warn / error / silent (default: info) |
PALVERON_ALWAYS_BLOCK | no | Comma-separated tool names that are always denied locally, without a gateway call |
PALVERON_ALWAYS_ALLOW | no | Comma-separated tool names that always pass locally, without a gateway call |
Requirements
- Node.js 18 or newer
- An MCP-capable client (Claude Code 0.4+, Cursor, etc.)
Links
License
MIT β Copyright Β© 2026 Palveron.