Skip to main content
Glama
ZoemDoef

Cisco FMC MCP Server

by ZoemDoef

MCP Server for Cisco FMC

A read-only Model Context Protocol (MCP) server for Cisco Firepower Management Center (FMC) 7.4.x.

This server allows LLMs like Claude to query your firewall configuration, search for network objects, and check deployment status—all through natural language.

Features

  • Read-Only Access: Safe exploration of FMC configuration without modification risk

  • Rate Limiting: Built-in token bucket rate limiter (120 req/min, 10 concurrent connections)

  • Automatic Token Refresh: Handles FMC's 30-minute token expiration and 3-refresh limit

  • Transparent Pagination: Automatically fetches all pages from large datasets

MCP Resources

Resource

Description

fmc://system/info

FMC server version and system information

fmc://devices/list

List of all managed firewall devices

fmc://objects/network

All network objects (IPs, subnets)

fmc://deployment/status

Devices with pending changes

MCP Tools

Tool

Description

search_object_by_ip

Find network objects containing a specific IP

get_deployment_status

Check if devices are in sync

Related MCP server: scm-mcp

Installation

Prerequisites

  • Python 3.10+

  • uv (recommended) or pip

  • Access to a Cisco FMC 7.4.x instance

# Clone the repository
git clone https://github.com/your-org/fmc-mcp.git
cd fmc-mcp

# Install dependencies
uv sync

Using pip

pip install -e .

Configuration

  1. Copy the example configuration:

cp .env.example .env
  1. Edit .env with your FMC credentials:

FMC_HOST=fmc.example.com
FMC_USERNAME=api_user
FMC_PASSWORD=your_password_here

Configuration Options

Variable

Required

Default

Description

FMC_HOST

Yes

-

FMC hostname or IP

FMC_USERNAME

Yes

-

API username

FMC_PASSWORD

Yes

-

API password

FMC_VERIFY_SSL

No

false

SSL certificate verification

FMC_DOMAIN_UUID

No

auto

Domain UUID (auto-discovered)

FMC_TIMEOUT

No

60

Request timeout in seconds

Usage

Running the Server

# Using uv
uv run python -m fmc_mcp

# Or using the CLI entry point
uv run mcp-server-fmc

Testing Connection

uv run python -c "from fmc_mcp.client import FMCClient; import asyncio; asyncio.run(FMCClient().test_connection())"

Claude Desktop Integration

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "fmc": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/fmc-mcp", "python", "-m", "fmc_mcp"]
    }
  }
}

Then restart Claude Desktop and try:

  • "What version is my FMC running?"

  • "List all firewall devices"

  • "Find the network object for IP 10.10.10.5"

  • "Are there any pending deployments?"

MCP Inspector Testing

# Install MCP Inspector
npx @anthropic/mcp-inspector

# Run the server
uv run python -m fmc_mcp

Development

Running Tests

# Run all tests
uv run pytest -v

# Run with coverage
uv run pytest --cov=src/fmc_mcp --cov-report=term-missing

Code Quality

# Linting
uv run ruff check src/ tests/

# Type checking
uv run mypy src/

API Rate Limits

The FMC API has strict rate limits that this server respects:

Limit

Value

How We Handle It

Requests per minute

120

Token bucket rate limiter

Concurrent connections

10

Connection semaphore

Token lifetime

30 min

Auto-refresh on 401

Max token refreshes

3

Full re-authentication after 3

The server logs warnings when approaching rate limits:

  • WARNING when token bucket drops below 20%

  • ERROR on 429 (rate limited) responses

Security Notes

  • Read-Only: This server only performs GET requests

  • SSL: Disabled by default for lab environments; enable in production

  • Credentials: Store in .env, never commit to version control

  • API User: Create a dedicated read-only API user in FMC

License

Apache 2.0

Related MCP Connectors

  • The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.

  • The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.

  • Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.

  • Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    A read-only Model Context Protocol server that enables interaction with Unimus network configuration management system directly via LLMs, providing access to device data, backups, and configuration analysis.
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server for managing Palo Alto Networks Strata Cloud Manager firewall configurations through natural language in Claude. It provides 149 tools covering the full configuration lifecycle including policy objects, security rules, NAT, and profiles with multi-tenant support.
    100
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server for Cisco Firepower Management Center (FMC) 7.4.x, allowing LLMs to query firewall configuration, search network objects, and check deployment status through natural language.
    Apache 2.0