CiscoDevNet

cisco-secure-access-mcp

Community CiscoDevNet
Updated

Cisco Secure Access MCP Server

cisco-secure-access-mcp

A community Model Context Protocol (MCP) server for Cisco Secure Access.

It exposes the Secure Access REST API to MCP-compatible AI clients (Cursor, ClaudeDesktop, VS Code GitHub Copilot, etc.) as a curated catalog of tools grouped by Cisco'sown resource categories: Admin, Deployments, Investigate, Policies, and Reports.

Status: v1 in development. See install.md for the build journaland per-phase progress.

Why a community DevNet server

This repo is structured to be hosted as a Cisco DevNet community MCP server, followingthe CiscoDevNet/devnet-templatelayout. The standard template files (AGENTS.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md,LICENSE, README.md, SECURITY.md) are present and conform to that template.

In addition, install.md is a working journal that captures every steptaken to build the server, troubleshooting notes, and any tools we add as enhancements.It is intentionally kept in-tree so future contributors can see the reasoning trail.

Quick start

# 1. Clone and install (using uv)
git clone https://github.com/sdntechforum/Secure_Access.git
cd Secure_Access
uv sync

# 2. Provide your Cisco Secure Access API credentials via environment variables
#    (Admin > API Keys in the Secure Access dashboard)
export SECURE_ACCESS_API_KEY=...
export SECURE_ACCESS_API_SECRET=...

# 3. Run the server (stdio transport, default)
uv run cisco-secure-access-mcp

For client configuration (Cursor / Claude Desktop / VS Code), Docker usage, the fulllist of tools, and the list of supported environment variables, seeAGENTS.md.

Authentication at a glance

  • OAuth 2.0 Client Credentials Flow against POST https://api.sse.cisco.com/auth/v2/token.
  • Bearer token cached in memory and refreshed shortly before its 1-hour expiry.
  • Credentials read from environment variables only — never from CLI flags or committedfiles.
  • Multi-org / MSSP supported via SECURE_ACCESS_ORG_ID (sent as X-Umbrella-OrgId).
  • A separate, optional Key Admin credential pair gates the small set of tools thatmanage other API keys.

See Cisco Secure Access — API Authenticationfor how to mint API keys.

Repo layout

.
├── AGENTS.md              # Install + tool catalog + env vars (read this first if you're an AI agent)
├── CODE_OF_CONDUCT.md     # Cisco DevNet template (unchanged)
├── CONTRIBUTING.md        # Cisco DevNet template (project name filled in)
├── LICENSE                # Apache-2.0 (Cisco DevNet template)
├── README.md              # this file
├── SECURITY.md            # Cisco DevNet template (project name filled in)
├── install.md             # Build journal — phases, troubleshooting, enhancements
├── pyproject.toml         # Package metadata + entry point
├── Dockerfile             # Optional secondary distribution
├── .env.example           # Documented env vars; NEVER real secrets
├── src/cisco_secure_access_mcp/
│   ├── server.py          # FastMCP entrypoint (stdio default)
│   ├── auth.py            # OAuth2 client-credentials + token cache
│   ├── client.py          # httpx-based REST client (TLS-only, retry-aware)
│   ├── config.py          # Env-var loading + validation
│   ├── errors.py          # SDK / HTTP errors → MCP errors
│   ├── logging.py         # Structured JSON logs with secret redaction
│   ├── registry.py        # Discovers and registers tools from each category
│   └── tools/
│       ├── admin/         # admin_*  — Admin Resources
│       ├── deployments/   # deploy_* — Deployments Resources
│       ├── investigate/   # investigate_* — Investigate Resources (v1.1)
│       ├── policies/      # policy_*  — Policies Resources
│       └── reports/       # report_*  — Reports Resources (v1.1)
└── tests/
    ├── unit/              # Offline; mock HTTP and clock
    └── integration/       # Opt-in; requires real DevNet sandbox credentials

Security

This repo follows the security rules in .cursor (parameterization, no hardcodedcredentials, structured logging with redaction, TLS 1.2+ enforcement, distroless-stylecontainer hardening, etc.). To report a vulnerability, see SECURITY.md.

License

Apache License 2.0 — see LICENSE.

MCP Server · Populars

MCP Server · New