Cisco Secure Firewall FMC MCP Connector

Cisco Secure Firewall FMC MCP Connector

MCP server that exposes high-level tooling for Cisco Secure Firewall Management Center (FMC), allowing discovery of FMC profiles and searching access rules by IP, FQDN, or identity indicators.

Category
访问服务器

README

published

Cisco Secure Firewall FMC MCP Connector

MCP server that exposes high-level tooling for Cisco Secure Firewall Management Center (FMC). Core tools:

  • list_fmc_profiles – discover configured FMC instances.
  • find_rules_by_ip_or_fqdn – search a specific access policy.
  • find_rules_for_target – resolve an FTD device/HA/cluster to its assigned policies and search them.
  • search_access_rules – FMC-wide searches with indicator + policy filters, including identity indicators (SGT, realm user/group).

1. Configure FMC access

Single FMC (env mode)

Copy .env.example to .env (or export env vars) and fill in at least:

FMC_BASE_URL=https://<fmc-host>
FMC_USERNAME=<api-user>
FMC_PASSWORD=<password>
FMC_VERIFY_SSL=false

Multiple FMCs (profile mode)

Define one env file per FMC under profiles/. Copy profiles/.env.example to a new filename (e.g., profiles/fmc-north-south.env) and fill it:

FMC_PROFILE_ID=fmc-north-south
FMC_PROFILE_DISPLAY_NAME=FMC North-South
FMC_PROFILE_ALIASES=north,north-south,10.0.0.5
FMC_BASE_URL=https://10.0.0.5
FMC_USERNAME=adminapi
FMC_PASSWORD=***
FMC_VERIFY_SSL=false

Point the server at this directory:

FMC_PROFILES_DIR=profiles
FMC_PROFILE_DEFAULT=fmc-north-south

When FMC_PROFILES_DIR is set, the server auto-loads every *.env file in that folder and exposes them via list_fmc_profiles. If it’s unset, the single-FMC env variables are used.

Logging and HTTP tracing

Logging levels can be set in the active profile file (profile mode) or in the root .env (single-FMC mode or Docker env). The default profile’s logging values are applied at startup.

LOG_LEVEL=DEBUG           # overall app logging
HTTPX_TRACE=1             # log FMC request URLs and status codes
HTTPX_LOG_LEVEL=WARNING   # httpx/httpcore verbosity (default WARNING)

Notes:

  • In profile mode, put these in the default profile file (the one named by FMC_PROFILE_DEFAULT).
  • In Docker, the root .env (or docker-compose.yml environment) must still provide server-level settings like FMC_PROFILES_DIR, FMC_PROFILE_DEFAULT, MCP_HOST, and MCP_PORT.

2. Run the MCP server

Docker

docker compose up -d --build

The compose file expects your .env in the repo root (or point env_file at a specific profile file). Rebuild after changing requirements.txt or profile files.

Local Python

You can run the server directly without Docker:

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m sfw_mcp_fmc.server

Configure transport via .env (default is HTTP on http://0.0.0.0:8000/mcp for local/dev). When exposing it publicly, front it with HTTPS such as https://<host>:8000/mcp. Logs show which FMC profiles loaded.

Note on HTTP bearer auth

Prior README versions described MCP_AUTH_TOKEN, but current FastMCP clients do not enforce it reliably, so the server runs without bearer auth. If you want to continue experimenting with a token-backed flow, you can keep the env var and wire up proxy-level auth or contribute a working implementation in this repo.

3. Manual testing

client/test_client.py is an interactive harness that:

  1. Calls list_fmc_profiles to display the available FMCs and lets you select one.
  2. Invokes the tools with your inputs (indicator, target, policy filters).

Run it from your host while the MCP server is up:

python client/test_client.py

4. Automated tests

Unit tests cover configuration parsing, profile discovery, and the rule-search engine (network + identity indicators). Execute locally or inside the container:

pip install -r requirements.txt   # once per environment
python -m pytest tests

5. Integrating with LLM agents

Because the server follows the MCP protocol (via FastMCP), any MCP-aware agent platform can consume it:

  1. Register the MCP endpoint (stdio or HTTP). For HTTP, point to https://<host>:8000/mcp when exposed publicly (use http://localhost:8000/mcp for local/dev).
  2. From the agent, call list_fmc_profiles to pick an FMC (by id or alias).
  3. Call the other tools with fmc_profile plus your indicator/filters.
  4. Consume the structured JSON responses to drive subsequent steps (summaries, remediation, follow-up searches).

This enables a single MCP instance to front multiple FMCs for humans or automated agents alike.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选