{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cisco-duo-mcp","description":"Fix Duo MFA lockouts and see every MSP subaccount at once, from your AI agent.","title":"Cisco Duo MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cisco-duo"},"version":"0.1.0","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cisco-duo/cisco-duo-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cisco-duo-v0.1.0/cisco-duo-mcp.mcpb","version":"0.1.0","fileSha256":"bd83f0d50aa760d4ec14be3676d2f99b27c37d59d0f257c2bb6e1db1c951f430","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Duo API hostname, e.g. api-XXXXXXXX.duosecurity.com (Duo Admin Panel > Applications > your Admin API application). For an MSP, use the parent account's hostname.","isRequired":true,"name":"CISCO_DUO_API_HOST"},{"description":"Admin API integration key (ikey) from the same Admin API application.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_IKEY"},{"description":"Admin API secret key (skey). Used only to sign each request; it is never sent to Duo.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_SKEY"},{"description":"Default customer subaccount for every call (account ID, or exact name from accounts list); a tool call that names its own account-id overrides it. Leave blank to act on the account the keys belong to; the fleet tools always cover every subaccount.","name":"CISCO_DUO_ACCOUNT_ID"},{"description":"Set to 1 for a read-only server: lockout fix, phone-swap, enrollment chase, sync, import and export are hidden, and the API execute tool refuses every non-GET call. Leave blank for the full tool set.","name":"CISCO_DUO_MCP_READ_ONLY"},{"description":"Overrides the full API root (for a test server). Leave blank; CISCO_DUO_API_HOST is the normal setting.","name":"CISCO_DUO_BASE_URL"},{"description":"Bearer token that cisco-duo-mcp --transport http requires from every HTTP client (Authorization: Bearer). Leave blank for the default stdio transport, which Claude Desktop uses and which never reads it.","isSecret":true,"name":"CISCO_DUO_MCP_HTTP_TOKEN"},{"description":"Overrides the User-Agent the CLI sends on Duo requests. Leave blank to use the CLI's own built-in User-Agent.","name":"CISCO_DUO_USER_AGENT"},{"description":"Binds this MCP server to one tenant-gated client profile. Leave blank unless you configured client profiles.","name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-15T18:36:18.542104Z","publishedAt":"2026-10-15T18:36:18.542104Z","updatedAt":"2026-10-15T18:36:18.542104Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cisco-duo-mcp","description":"Fix Duo MFA lockouts and see every MSP subaccount at once, from your AI agent.","title":"Cisco Duo MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cisco-duo"},"version":"0.1.1","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cisco-duo/cisco-duo-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cisco-duo-v0.1.1/cisco-duo-mcp.mcpb","version":"0.1.1","fileSha256":"99d1f6a979ad3aea3eda3e731fb13bd025ba97565536d6cfa55bf9ef5b87d9e1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Duo API hostname, e.g. api-XXXXXXXX.duosecurity.com (Duo Admin Panel > Applications > your Admin API application). For an MSP, use the parent account's hostname.","isRequired":true,"name":"CISCO_DUO_API_HOST"},{"description":"Admin API integration key (ikey) from the same Admin API application.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_IKEY"},{"description":"Admin API secret key (skey). Used only to sign each request; it is never sent to Duo.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_SKEY"},{"description":"Default customer subaccount for every call (account ID, or exact name from accounts list); a tool call that names its own account-id overrides it. Leave blank to act on the account the keys belong to; the fleet tools always cover every subaccount.","name":"CISCO_DUO_ACCOUNT_ID"},{"description":"Set to 1 for a read-only server: lockout fix, phone-swap, enrollment chase, sync, import and export are hidden, and the API execute tool refuses every non-GET call. Leave blank for the full tool set.","name":"CISCO_DUO_MCP_READ_ONLY"},{"description":"Overrides the full API root (for a test server). Leave blank; CISCO_DUO_API_HOST is the normal setting.","name":"CISCO_DUO_BASE_URL"},{"description":"Bearer token that cisco-duo-mcp --transport http requires from every HTTP client (Authorization: Bearer). Leave blank for the default stdio transport, which Claude Desktop uses and which never reads it.","isSecret":true,"name":"CISCO_DUO_MCP_HTTP_TOKEN"},{"description":"Overrides the User-Agent the CLI sends on Duo requests. Leave blank to use the CLI's own built-in User-Agent.","name":"CISCO_DUO_USER_AGENT"},{"description":"Binds this MCP server to one tenant-gated client profile. Leave blank unless you configured client profiles.","name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-16T06:45:53.220947Z","publishedAt":"2026-10-16T06:45:53.220947Z","updatedAt":"2026-10-16T06:45:53.220947Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cisco-duo-mcp","description":"Fix Duo MFA lockouts and see every MSP subaccount at once, from your AI agent.","title":"Cisco Duo MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cisco-duo"},"version":"0.1.2","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cisco-duo/cisco-duo-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cisco-duo-v0.1.2/cisco-duo-mcp.mcpb","version":"0.1.2","fileSha256":"b9d4ee7d52578a7bdaaf087d38113551cdf8da684e06a64dc0524e2ea78e45bd","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Duo API hostname, e.g. api-XXXXXXXX.duosecurity.com (Duo Admin Panel > Applications > your Admin API application). For an MSP, use the parent account's hostname.","isRequired":true,"name":"CISCO_DUO_API_HOST"},{"description":"Admin API integration key (ikey) from the same Admin API application.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_IKEY"},{"description":"Admin API secret key (skey). Used only to sign each request; it is never sent to Duo.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_SKEY"},{"description":"Default customer subaccount for every call (account ID, or exact name from accounts list); a tool call that names its own account-id overrides it. Leave blank to act on the account the keys belong to; the fleet tools always cover every subaccount.","name":"CISCO_DUO_ACCOUNT_ID"},{"description":"Set to 1 for a read-only server: lockout fix, phone-swap, enrollment chase, sync, import and export are hidden, and the API execute tool refuses every non-GET call. Leave blank for the full tool set.","name":"CISCO_DUO_MCP_READ_ONLY"},{"description":"Overrides the full API root (for a test server). Leave blank; CISCO_DUO_API_HOST is the normal setting.","name":"CISCO_DUO_BASE_URL"},{"description":"Bearer token that cisco-duo-mcp --transport http requires from every HTTP client (Authorization: Bearer). Leave blank for the default stdio transport, which Claude Desktop uses and which never reads it.","isSecret":true,"name":"CISCO_DUO_MCP_HTTP_TOKEN"},{"description":"Overrides the User-Agent the CLI sends on Duo requests. Leave blank to use the CLI's own built-in User-Agent.","name":"CISCO_DUO_USER_AGENT"},{"description":"Binds this MCP server to one tenant-gated client profile. Leave blank unless you configured client profiles.","name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-22T02:05:17.764922Z","publishedAt":"2026-10-22T02:05:17.764922Z","updatedAt":"2026-10-22T02:05:17.764922Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cisco-duo-mcp","description":"Fix Duo MFA lockouts and see every MSP subaccount at once, from your AI agent.","title":"Cisco Duo MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cisco-duo"},"version":"0.1.3","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cisco-duo/cisco-duo-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cisco-duo-v0.1.3/cisco-duo-mcp.mcpb","version":"0.1.3","fileSha256":"7adbef8e5bac1a314ef329f3ceef6137cfbf3bf8b5cd70dda9b24bcee551f4fc","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Duo API hostname, e.g. api-XXXXXXXX.duosecurity.com (Duo Admin Panel > Applications > your Admin API application). For an MSP, use the parent account's hostname.","isRequired":true,"name":"CISCO_DUO_API_HOST"},{"description":"Admin API integration key (ikey) from the same Admin API application.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_IKEY"},{"description":"Admin API secret key (skey). Used only to sign each request; it is never sent to Duo.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_SKEY"},{"description":"Default customer subaccount for every call (account ID, or exact name from accounts list); a tool call that names its own account-id overrides it. Leave blank to act on the account the keys belong to; the fleet tools always cover every subaccount.","name":"CISCO_DUO_ACCOUNT_ID"},{"description":"Set to 1 for a read-only server: lockout fix, phone-swap, enrollment chase, sync, import and export are hidden, and the API execute tool refuses every non-GET call. Leave blank for the full tool set.","default":"1","name":"CISCO_DUO_MCP_READ_ONLY"},{"description":"Overrides the full API root (for a test server). Leave blank; CISCO_DUO_API_HOST is the normal setting.","name":"CISCO_DUO_BASE_URL"},{"description":"Bearer token that cisco-duo-mcp --transport http requires from every HTTP client (Authorization: Bearer). Leave blank for the default stdio transport, which Claude Desktop uses and which never reads it.","isSecret":true,"name":"CISCO_DUO_MCP_HTTP_TOKEN"},{"description":"Overrides the User-Agent the CLI sends on Duo requests. Leave blank to use the CLI's own built-in User-Agent.","name":"CISCO_DUO_USER_AGENT"},{"description":"Binds this MCP server to one tenant-gated client profile. Leave blank unless you configured client profiles.","name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-23T04:02:54.572842Z","publishedAt":"2026-10-23T04:02:54.572842Z","updatedAt":"2026-10-23T04:02:54.572842Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cisco-duo-mcp","description":"Fix Duo MFA lockouts and see every MSP subaccount at once, from your AI agent.","title":"Cisco Duo MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cisco-duo"},"version":"0.1.4","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cisco-duo/cisco-duo-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cisco-duo-v0.1.4/cisco-duo-mcp.mcpb","version":"0.1.4","fileSha256":"953b58b62943fac4d6d088bcedbb2ad5672eb97ba521f4210b5acc10516cfae4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Duo API hostname, e.g. api-XXXXXXXX.duosecurity.com (Duo Admin Panel > Applications > your Admin API application). For an MSP, use the parent account's hostname.","isRequired":true,"name":"CISCO_DUO_API_HOST"},{"description":"Admin API integration key (ikey) from the same Admin API application.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_IKEY"},{"description":"Admin API secret key (skey). Used only to sign each request; it is never sent to Duo.","isRequired":true,"isSecret":true,"name":"CISCO_DUO_SKEY"},{"description":"Default customer subaccount for every call (account ID, or exact name from accounts list); a tool call that names its own account-id overrides it. Leave blank to act on the account the keys belong to; the fleet tools always cover every subaccount.","name":"CISCO_DUO_ACCOUNT_ID"},{"description":"Set to 1 for a read-only server: lockout fix, phone-swap, enrollment chase, sync, import and export are hidden, and the API execute tool refuses every non-GET call. Leave blank for the full tool set.","default":"1","name":"CISCO_DUO_MCP_READ_ONLY"},{"description":"Overrides the full API root (for a test server). Leave blank; CISCO_DUO_API_HOST is the normal setting.","name":"CISCO_DUO_BASE_URL"},{"description":"Bearer token that cisco-duo-mcp --transport http requires from every HTTP client (Authorization: Bearer). Leave blank for the default stdio transport, which Claude Desktop uses and which never reads it.","isSecret":true,"name":"CISCO_DUO_MCP_HTTP_TOKEN"},{"description":"Overrides the User-Agent the CLI sends on Duo requests. Leave blank to use the CLI's own built-in User-Agent.","name":"CISCO_DUO_USER_AGENT"},{"description":"Binds this MCP server to one tenant-gated client profile. Leave blank unless you configured client profiles.","name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-23T13:38:47.393501Z","publishedAt":"2026-10-23T13:38:47.393501Z","updatedAt":"2026-10-23T13:38:47.393501Z","isLatest":true}}}],"metadata":{"count":5}}
