Authn8 MCP Server
by authn8
README.md
# @authn8/mcp-server
MCP server that provides AI agents access to Authn8 2FA codes via PAT authentication.
## Prerequisites
- An [Authn8](https://authn8.com) account
- A Personal Access Token (PAT) created in the Authn8 dashboard
## Quick Start
```bash
npx @authn8/mcp-server
```
Set the `AUTHN8_API_KEY` environment variable to your PAT token.
## Docker
```bash
docker run -e AUTHN8_API_KEY=pat_xxx ghcr.io/authn8/mcp-server
```
## Configuration
### Claude Desktop
Add to your Claude Desktop configuration file:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"authn8": {
"command": "npx",
"args": ["-y", "@authn8/mcp-server"],
"env": {
"AUTHN8_API_KEY": "pat_your_token_here"
}
}
}
}
```
### Claude Code (CLI)
Add to your Claude Code configuration file:
**macOS:** `~/.claude.json`
**Windows:** `%USERPROFILE%\.claude.json`
```json
{
"mcpServers": {
"authn8": {
"command": "npx",
"args": ["-y", "@authn8/mcp-server"],
"env": {
"AUTHN8_API_KEY": "pat_your_token_here"
}
}
}
}
```
### Cursor
Add to your Cursor MCP settings:
```json
{
"mcpServers": {
"authn8": {
"command": "npx",
"args": ["-y", "@authn8/mcp-server"],
"env": {
"AUTHN8_API_KEY": "pat_your_token_here"
}
}
}
}
```
## Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `AUTHN8_API_KEY` | Yes | - | Your PAT token from Authn8 |
| `AUTHN8_API_URL` | No | `https://api.authn8.com` | API endpoint URL |
## Available Tools
All tools declare an output schema and return `structuredContent` alongside the
text block, so clients get typed results without re-parsing JSON out of text.
### list_accounts
Returns all 2FA accounts accessible to this token.
**Example response:**
```json
{
"accounts": [
{
"id": "924c52a6-4457-4970-a39f-4dc620217683",
"name": "AWS Production",
"issuerDomain": "amazon.com"
}
]
}
```
### get_otp
Generates a TOTP code for a specific account.
**Parameters:**
- `account_id` (string, optional) - UUID of the account
- `account_name` (string, optional) - Name or issuer domain to search for (case-insensitive partial match)
Provide either `account_id` or `account_name`. If multiple accounts match the
name, the tool returns them in `multipleMatches` so you can retry with an
`account_id`.
**Example response:**
```json
{
"name": "AWS Production",
"code": "483920",
"length": 6
}
```
**Ambiguous match:**
```json
{
"error": "Multiple accounts match 'aws'. Please be more specific or use account_id.",
"length": 0,
"multipleMatches": [
{
"id": "924c52a6-4457-4970-a39f-4dc620217683",
"name": "AWS Production",
"issuerDomain": "amazon.com"
}
]
}
```
### whoami
Returns information about the current token.
**Example response:**
```json
{
"tokenName": "MCP Server 2",
"businessName": "Bytecode Solutions",
"scopedGroups": [
{ "id": "cfeba14a-e990-49e8-b6e5-61d63f7d68c8", "name": "HR" }
],
"expiresAt": "2025-12-25T23:59:59Z",
"accountCount": 1
}
```
## Links
- [Authn8](https://authn8.com) - Create an account and manage 2FA tokens
- [GitHub Repository](https://github.com/authn8/mcp-server)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues