Back to the catalog

io.github.KN0WBOT/clavis

Encrypted credential vault for AI agents — auto OAuth refresh, rate limiting, audit logging.

Open source Open in the app JSON README (API)

About

Encrypted credential vault for AI agents — auto OAuth refresh, rate limiting, audit logging.

Details

Kind
MCP servers
Topic
Security & identity
Publisher
kn0wbot
Origin
official
Category
ferramentas
Transport
local
Version
0.1.3
Last push
2026-08-16T00:52:16Z
Repository state
ativo
Language
JavaScript
License
MIT
Added
2026-08-29 03:02:00
Updated
2026-08-29 03:02:00
Origin id
io.github.KN0WBOT/clavis

README

# Clavis MCP Server

Secure credential management for Claude Desktop and MCP servers.

## Features

- 🔐 Encrypted credential storage (AES-128-CBC + HMAC-SHA256, via Fernet)
- 🛡️ Server-side credential injection — the raw key never enters the conversation
- 🔄 Automatic OAuth token refresh
- 📡 Thin forwarding layer — rate limiting, audit logging, and usage tracking are all handled by the Clavis server

## Installation

```bash
npx @clavisagent/mcp-server
```

Or install globally:

```bash
npm install -g @clavisagent/mcp-server
```

## Usage with Claude Desktop

Add the following to your Claude Desktop configuration file (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "clavis": {
      "command": "npx",
      "args": ["-y", "@clavisagent/mcp-server"],
      "env": {
        "CLAVIS_API_KEY": "eyJ..."
      }
    }
  }
}
```

## Usage with Claude Code

```bash
claude mcp add clavis -- npx -y @clavisagent/mcp-server
```

## Configuration

| Variable | Required | Default | Description |
|---|---|---|---|
| `CLAVIS_API_KEY` | yes | — | Your Clavis JWT, from `POST /v1/auth/login`. Not the `cla_…` key shown at sign-up. |
| `CLAVIS_API_URL` | no | `https://clavisagent.com` | Base URL of your Clavis instance. Set this for self-hosted deployments. |

## Available Tools

| Tool | Description |
|---|---|
| `call_service` | **Recommended.** Make an API call with server-side credential injection — the credential is injected into the upstream request server-side, so the raw key never enters the conversation. |
| `get_credentials` | Legacy. Returns the raw access token or API key for a named service. Prefer `call_service`. |
| `list_services` | List all services with stored credentials |
| `check_credential_status` | Check the status and expiry of credentials for a service |

### Security note

Prefer `call_service` over `get_credentials`. `call_service` keeps the secret
server-side, so a prompt injection has no credential in context to exfiltrate.
`get_credentials` places the raw key in the conversation and exists only for
callers that must hold the token themselves.

## License

MIT

More