# Vrymdor AI Node MCP server

> Masks personal data and secrets in AI agent tool calls by routing requests through a secure node that enforces privacy policies.

- Repository: https://github.com/ernesthausmann15/vrymdor-node-python
- Page: https://hostedmcp.org/servers/ernesthausmann15/vrymdor-node-python
- Transport: stdio
- Stars: 0
- License: MIT
- Latest version: 1.2.2

## Install

### Claude Code

```sh
claude mcp add --env VRYMNOX_AGENT_SECRET=<YOUR_VRYMNOX_AGENT_SECRET> --env VRYMNOX_AGENT_ID=<VRYMNOX_AGENT_ID> --env VRYMNOX_NODE_URL=<VRYMNOX_NODE_URL> vrymdor-node-python -- uvx vrymdor-node
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "vrymdor-node-python": {
      "command": "uvx",
      "args": [
        "vrymdor-node"
      ],
      "env": {
        "VRYMNOX_AGENT_SECRET": "<YOUR_VRYMNOX_AGENT_SECRET>",
        "VRYMNOX_AGENT_ID": "<VRYMNOX_AGENT_ID>",
        "VRYMNOX_NODE_URL": "<VRYMNOX_NODE_URL>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "vrymdor-node-python": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "vrymdor-node"
      ],
      "env": {
        "VRYMNOX_AGENT_SECRET": "<YOUR_VRYMNOX_AGENT_SECRET>",
        "VRYMNOX_AGENT_ID": "<VRYMNOX_AGENT_ID>",
        "VRYMNOX_NODE_URL": "<VRYMNOX_NODE_URL>"
      }
    }
  }
}
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "vrymdor-node-python": {
      "command": "uvx",
      "args": [
        "vrymdor-node"
      ],
      "env": {
        "VRYMNOX_AGENT_SECRET": "<YOUR_VRYMNOX_AGENT_SECRET>",
        "VRYMNOX_AGENT_ID": "<VRYMNOX_AGENT_ID>",
        "VRYMNOX_NODE_URL": "<VRYMNOX_NODE_URL>"
      }
    }
  }
}
```

### Codex (`~/.codex/config.toml`)

```toml
[mcp_servers.vrymdor-node-python]
command = "uvx"
args = ["vrymdor-node"]

[mcp_servers.vrymdor-node-python.env]
VRYMNOX_AGENT_SECRET = "<YOUR_VRYMNOX_AGENT_SECRET>"
VRYMNOX_AGENT_ID = "<VRYMNOX_AGENT_ID>"
VRYMNOX_NODE_URL = "<VRYMNOX_NODE_URL>"
```

### Gemini CLI (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "vrymdor-node-python": {
      "command": "uvx",
      "args": [
        "vrymdor-node"
      ],
      "env": {
        "VRYMNOX_AGENT_SECRET": "<YOUR_VRYMNOX_AGENT_SECRET>",
        "VRYMNOX_AGENT_ID": "<VRYMNOX_AGENT_ID>",
        "VRYMNOX_NODE_URL": "<VRYMNOX_NODE_URL>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `VRYMNOX_AGENT_SECRET` | yes | yes | The Agent Secret (vrym_agent_...) shown once when you add the agent |
| `VRYMNOX_AGENT_ID` | yes | no | The Agent ID (agt_...) from AI agents in the Vrymdor dashboard |
| `VRYMNOX_NODE_URL` | yes | no | Your Node Host URL from the Vrymdor dashboard, for example https://node.vrymdor.com/t/abc123def456 |

## FAQ

### What does the Vrymdor AI Node do to protect data?

It performs checks on agent identity, enforces policies, removes personally identifiable information (PII) and secrets, and creates signed requests with metadata audit records.

### What happens if a tool call is blocked by a policy?

A refusal will raise a VrymnoxError with a specific code, or if the policy holds the action, it raises a VrymnoxHeld error and the action is not executed.
