Cisco Duo

by WYRE-AIio.github.WYRE-AI/cisco-duo-mcpv1.0.1

How the score works

MCP server for Cisco Duo's identity/MFA administration API.

  • Runs on your machine

Version checks

Not run yet – package checks are being switched on. It runs from a package on your machine, so instead of uptime we will install and start each new version.

How we check

Run it on your machine

Run in a terminal:

claude mcp add --env DUO_IKEY=YOUR_DUO_IKEY --env DUO_SKEY=YOUR_DUO_SKEY --env DUO_API_HOST=YOUR_DUO_API_HOST --transport stdio cisco-duo-mcp -- docker run -i --rm -e DUO_IKEY -e DUO_SKEY -e DUO_API_HOST ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1

Replace YOUR_DUO_IKEY,YOUR_DUO_SKEY,YOUR_DUO_API_HOST with your own values.

For agents: the install prompt

Every step above as one Markdown text, for an assistant installing it for you.

# Install the MCP server Cisco Duo (`io.github.WYRE-AI/cisco-duo-mcp`)

Its page: https://plug.directory/servers/io.github.WYRE-AI/cisco-duo-mcp

It runs on the person's machine and needs Docker installed.

Ask the person for `YOUR_DUO_IKEY`, `YOUR_DUO_SKEY`, `YOUR_DUO_API_HOST` and put it in place of the placeholder; never invent a value.

Use the section for the person's client.

## Claude Desktop, Cursor, Devin Desktop, Cline, LM Studio, Gemini CLI, mcp-client-cli, oterm, TUUI, BoltAI, AnythingLLM, Augment Code, Bob Shell, ECA, Kiro, Kiro CLI

Merge into the place for the person's client:

- Claude Desktop: claude_desktop_config.json (Settings › Developer › Edit Config)
- Cursor: ~/.cursor/mcp.json
- Devin Desktop: ~/.config/devin/mcp_config.json
- Cline: cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers)
- LM Studio: mcp.json (Program › Install › Edit mcp.json)
- Gemini CLI: ~/.gemini/settings.json
- mcp-client-cli: ~/.llm/config.json
- oterm: config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows)
- TUUI: resources/assets/config/mcp.json in the installed app
- BoltAI: ~/.boltai/mcp.json
- AnythingLLM: anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory
- Augment Code: Augment Settings Panel – MCP section – Import from JSON (VS Code extension)
- Bob Shell: ~/.bob/settings/mcp.json (global) or .bob/mcp.json (project)
- ECA: ~/.config/eca/config.json (global) or .eca/config.json in the project
- Kiro: ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace)
- Kiro CLI: ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace)

```json
{
  "mcpServers": {
    "cisco-duo-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "DUO_IKEY", "-e", "DUO_SKEY", "-e", "DUO_API_HOST", "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"],
      "env": { "DUO_IKEY": "YOUR_DUO_IKEY", "DUO_SKEY": "YOUR_DUO_SKEY", "DUO_API_HOST": "YOUR_DUO_API_HOST" }
    }
  }
}
```

## Claude Code

Run in a terminal:

```sh
claude mcp add --env DUO_IKEY=YOUR_DUO_IKEY --env DUO_SKEY=YOUR_DUO_SKEY --env DUO_API_HOST=YOUR_DUO_API_HOST --transport stdio cisco-duo-mcp -- docker run -i --rm -e DUO_IKEY -e DUO_SKEY -e DUO_API_HOST ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1
```

## VS Code

Merge into .vscode/mcp.json:

```json
{
  "servers": {
    "cisco-duo-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "DUO_IKEY", "-e", "DUO_SKEY", "-e", "DUO_API_HOST", "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"],
      "env": { "DUO_IKEY": "YOUR_DUO_IKEY", "DUO_SKEY": "YOUR_DUO_SKEY", "DUO_API_HOST": "YOUR_DUO_API_HOST" }
    }
  }
}
```

## Zed

Merge into ~/.config/zed/settings.json:

```json
{
  "context_servers": {
    "cisco-duo-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "DUO_IKEY", "-e", "DUO_SKEY", "-e", "DUO_API_HOST", "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"],
      "env": { "DUO_IKEY": "YOUR_DUO_IKEY", "DUO_SKEY": "YOUR_DUO_SKEY", "DUO_API_HOST": "YOUR_DUO_API_HOST" }
    }
  }
}
```

## Continue

Merge into ~/.continue/config.yaml:

```yaml
mcpServers:
  - name: "cisco-duo-mcp"
    type: stdio
    command: "docker"
    args:
      - "run"
      - "-i"
      - "--rm"
      - "-e"
      - "DUO_IKEY"
      - "-e"
      - "DUO_SKEY"
      - "-e"
      - "DUO_API_HOST"
      - "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"
    env:
      "DUO_IKEY": "YOUR_DUO_IKEY"
      "DUO_SKEY": "YOUR_DUO_SKEY"
      "DUO_API_HOST": "YOUR_DUO_API_HOST"
```

## Goose

Merge into ~/.config/goose/config.yaml:

```yaml
extensions:
  "cisco-duo-mcp":
    type: stdio
    name: "cisco-duo-mcp"
    enabled: true
    cmd: "docker"
    args: ["run", "-i", "--rm", "-e", "DUO_IKEY", "-e", "DUO_SKEY", "-e", "DUO_API_HOST", "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"]
    env_keys: []
    envs: { "DUO_IKEY": "YOUR_DUO_IKEY", "DUO_SKEY": "YOUR_DUO_SKEY", "DUO_API_HOST": "YOUR_DUO_API_HOST" }
    timeout: 300
```

## Codex

Run in a terminal:

```sh
codex mcp add cisco-duo-mcp --env DUO_IKEY=YOUR_DUO_IKEY --env DUO_SKEY=YOUR_DUO_SKEY --env DUO_API_HOST=YOUR_DUO_API_HOST -- docker run -i --rm -e DUO_IKEY -e DUO_SKEY -e DUO_API_HOST ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1
```

## Agenvoy

Merge into ~/.config/agenvoy/mcp.json:

```json
{
  "servers": {
    "cisco-duo-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "DUO_IKEY", "-e", "DUO_SKEY", "-e", "DUO_API_HOST", "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"],
      "env": { "DUO_IKEY": "YOUR_DUO_IKEY", "DUO_SKEY": "YOUR_DUO_SKEY", "DUO_API_HOST": "YOUR_DUO_API_HOST" }
    }
  }
}
```

## Amp

Merge into ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):

```json
{
  "amp.mcpServers": {
    "cisco-duo-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "DUO_IKEY", "-e", "DUO_SKEY", "-e", "DUO_API_HOST", "ghcr.io/wyre-ai/cisco-duo-mcp:v1.0.1"],
      "env": { "DUO_IKEY": "YOUR_DUO_IKEY", "DUO_SKEY": "YOUR_DUO_SKEY", "DUO_API_HOST": "YOUR_DUO_API_HOST" }
    }
  }
}
```

Then restart the client, or reload its MCP servers, and ask it to list the server's tools to confirm it started.

From the publisher's entry in the Official MCP Registry (the registry entry). We have not checked this server yet. Report a problem