Back to Directory/Monitoring & Observability

io.github.KN0WBOT/clavis

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

Monitoring & ObservabilityJavaScriptv0.1.3

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

npx @clavisagent/mcp-server

Or install globally:

npm install -g @clavisagent/mcp-server

Usage with Claude Desktop

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

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

Usage with Claude Code

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

Configuration

VariableRequiredDefaultDescription
CLAVIS_API_KEYyes—Your Clavis JWT, from POST /v1/auth/login. Not the cla_… key shown at sign-up.
CLAVIS_API_URLnohttps://clavisagent.comBase URL of your Clavis instance. Set this for self-hosted deployments.

Available Tools

ToolDescription
call_serviceRecommended. 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_credentialsLegacy. Returns the raw access token or API key for a named service. Prefer call_service.
list_servicesList all services with stored credentials
check_credential_statusCheck 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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @clavisagent/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-kn0wbot-clavis": {
      "command": "npx",
      "args": [
        "-y",
        "@clavisagent/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@clavisagent/mcp-servernpm

Compatible MCP Clients

io.github.KN0WBOT/clavis works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More