F5 Aisec Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited F5 Aisec Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server that provides search and fetch tools over the entire F5 AI Security documentation site, modeled after the Strands Agents MCP server.
It exposes two tools to MCP-compatible AI assistants:
docs.aisecurity.f5.com is a VitePress static site. VitePress publishes a complete page manifest at `/hashmap.json` whose keys are the markdown source paths for every rendered page. The server downloads that file once at startup and derives a URL for each page:
api-docs_first-steps.md -> /api-docs/first-steps.html
release-notes_2026-06-17-saas.md -> /release-notes/2026-06-17-saas.html
operations_get_scans.md -> /operations/get_scans.html
index.md -> /index.html(First _ becomes the section separator; .md becomes .html.)
This captures all ~219 pages — system-overview/, get-started/, application-docs/, api-docs/, api-reference/, the full REST operations/ reference, integrations/, red-team/, use-cases/, reference/, glossary, and release-notes/ — with no fragile HTML crawling.
src/f5_aisec_mcp_server/
config.py # base_url, allowed host, hashmap path, timeouts
server.py # search_docs + fetch_doc MCP tools
utils/
page_source.py # download /hashmap.json -> [(title, url), ...]
cache.py # global index + lazy page hydration
doc_fetcher.py # HTTP fetch + VitePress HTML -> clean text
indexer.py # lightweight TF-IDF inverted index (stdlib only)
text_processor.py # titles, snippets, TOC/section parsingFlow: at startup the hashmap is parsed and the TF-IDF index is seeded with page titles only (no content fetched → fast start). search_docs ranks by title, then lazily fetches the top results to build content snippets. fetch_doc lets the model browse a page's TOC and pull just the section it needs.
Requires Python 3.13+ (developed and tested on 3.13.14).
cd f5-aisec-mcp
python3.13 -m venv venv && source venv/bin/activate
pip install -e ".[dev]"
# Quick-test with the MCP Inspector
npx @modelcontextprotocol/inspector python -m f5_aisec_mcp_serverPoint command at the venv's Python (absolute path) so the right interpreter and installed mcp package are used:
{
"mcpServers": {
"f5-aisec": {
"command": "/Users/<<USER>>/path/to/project/f5-aisec-mcp/venv/bin/python",
"args": ["-m", "f5_aisec_mcp_server"],
"env": { "FASTMCP_LOG_LEVEL": "INFO" },
"disabled": false,
"autoApprove": ["search_docs", "fetch_doc"]
}
}
}pytest tests/~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.