{
  "markdown": "# Clavis MCP Server\n\nSecure credential management for Claude Desktop and MCP servers.\n\n## Features\n\n- 🔐 Encrypted credential storage (AES-128-CBC + HMAC-SHA256, via Fernet)\n- 🛡️ Server-side credential injection — the raw key never enters the conversation\n- 🔄 Automatic OAuth token refresh\n- 📡 Thin forwarding layer — rate limiting, audit logging, and usage tracking are all handled by the Clavis server\n\n## Installation\n\n```bash\nnpx @clavisagent/mcp-server\n```\n\nOr install globally:\n\n```bash\nnpm install -g @clavisagent/mcp-server\n```\n\n## Usage with Claude Desktop\n\nAdd the following to your Claude Desktop configuration file (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"clavis\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@clavisagent/mcp-server\"],\n      \"env\": {\n        \"CLAVIS_API_KEY\": \"eyJ...\"\n      }\n    }\n  }\n}\n```\n\n## Usage with Claude Code\n\n```bash\nclaude mcp add clavis -- npx -y @clavisagent/mcp-server\n```\n\n## Configuration\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `CLAVIS_API_KEY` | yes | — | Your Clavis JWT, from `POST /v1/auth/login`. Not the `cla_…` key shown at sign-up. |\n| `CLAVIS_API_URL` | no | `https://clavisagent.com` | Base URL of your Clavis instance. Set this for self-hosted deployments. |\n\n## Available Tools\n\n| Tool | Description |\n|---|---|\n| `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. |\n| `get_credentials` | Legacy. Returns the raw access token or API key for a named service. Prefer `call_service`. |\n| `list_services` | List all services with stored credentials |\n| `check_credential_status` | Check the status and expiry of credentials for a service |\n\n### Security note\n\nPrefer `call_service` over `get_credentials`. `call_service` keeps the secret\nserver-side, so a prompt injection has no credential in context to exfiltrate.\n`get_credentials` places the raw key in the conversation and exists only for\ncallers that must hold the token themselves.\n\n## License\n\nMIT\n",
  "bytes": 2125,
  "sha": "376de5d9ef026c3d675cea959056b1e566c4a1b9e1d6e89cbb6380a22fe8e63f",
  "repo_slug": "kn0wbot/clavis-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kn0wbot_clavis_8f2df7b8/readme"
}