Skip to main content
Glama
drunkrhin0

rapid7-docs-mcp

by drunkrhin0

Rapid7 Docs MCP Server

Search Rapid7 documentation, product info, blog posts, and resources from any MCP-compatible AI client. Self-hostable, authenticated, runs in Docker.

Built on FastMCP. Serves both Streamable HTTP and SSE — works with Claude Desktop, OpenChamber, Bifrost, and any MCP-compatible client.

Disclaimer: Vibe coded with Claude Code and Opencode. Created in personal time and is not officially supported or associated with Rapid7 and only uses public resources. Use at your own risk. Do not approach Rapid7 for support or issues regarding this project. Please open an issue instead.

Quick Start

Option 1: GHCR pre-built images

curl -O https://raw.githubusercontent.com/drunkrhin0/rapid7-docs-mcp/main/docker-compose.yml
echo 'IMAGE_REGISTRY=ghcr.io/drunkrhin0/' > .env
docker compose pull
docker compose up -d

Option 2: Build from source

git clone https://github.com/drunkrhin0/rapid7-docs-mcp
cd rapid7-docs-mcp
docker compose up -d

On first boot, the crawler indexes ~2,000 docs pages (10–30 min). After that, starts instantly. Data persists in Docker volumes. Cron keeps it fresh.

Connect any MCP client to: http://localhost:8002/mcp (Streamable HTTP)

SSE for OpenChamber/Bifrost: docker compose --profile sse up, then http://localhost:8004/mcp

How it works

Two services by default. SSE is opt-in (--profile sse):

Container

What it does

crawler (Node.js)

Scrapes docs.rapid7.com, documentation.rapid7.com, extensions.rapid7.com, rapid7.com → markdown + JSON indexes

mcp-server (Python/FastMCP)

Serves 6 search tools via Streamable HTTP with optional API key auth

mcp-server-sse (opt-in)

SSE endpoint for clients that don't support Streamable HTTP

Tools

Tool

Description

docs_search

Full-text search with ranked results and snippets

docs_read

Read a page by path or URL

docs_list

Browse sections and page counts

get_product_knowledge

Product marketing, features, pricing, FAQs

search_blog

Search 3,600+ blog posts by keyword and category

search_resources

Search whitepapers, reports, guides

Authentication (optional)

Set MCP_API_KEYS in .env to require API keys. Omit for open access.

MCP_API_KEYS=key1,key2,key3

OAuth providers (Auth0, Google, GitHub, etc.) supported via FastMCP auth docs.

Configuration

Variable

Default

Description

MCP_PORT

8002

Streamable HTTP port

SSE_PORT

8004

SSE port (requires --profile sse)

HEALTH_PORT

8001

Health endpoint port

MCP_API_KEYS

(open)

Comma-separated API keys

MCP_RATE_LIMIT

60

Requests/min per key

IMAGE_REGISTRY

(empty)

GHCR prefix, e.g. ghcr.io/user/

GIT_SOURCE

GitHub URL

Git repo for docker compose build

GITHUB_TOKEN

(empty)

GitHub PAT for higher API rate limits

CRAWL_SECTIONS

(all)

Space-separated section list

CRAWL_SCHEDULE

0 2 * * *

Docs crawl cron

CRAWL_EXTENSIONS

true

Crawl extensions site

CRAWL_SITE

true

Crawl products, blog, resources

CRAWL_EXTERNAL

false

Crawl GitHub + OpenAPI specs

TZ

UTC

Cron timezone

Full env var reference: docker-compose.yml.

Manual crawls

docker compose run --rm crawler npm run crawl                    # all docs
docker compose run --rm crawler npm run crawl -- --section insightidr  # one section
docker compose run --rm crawler npm run crawl:extensions         # extensions
docker compose run --rm crawler npm run crawl:site               # products, blog, resources
docker compose run --rm crawler npm run crawl:external -- --insightvm-api  # OpenAPI specs

Run npm run crawl -- --list inside the container to see available sections.

Docs: crawl -- --section insightidr | --url <url> | --list | --verbose

Site: crawl:site -- --products | --blog | --resources | --product command

External: crawl:external -- --metasploit | --velociraptor | --insightvm-api | --insightvm-cloud-api | --insightappsec-api | --insightidr-api | --insight-account-api | --credential-api | --insightconnect-api | --insightidr-detection-api

GitHub sources (Metasploit wiki, Velociraptor docs) fetched as markdown. OpenAPI specs split into one file per tag. Set GITHUB_TOKEN for higher API rate limits.

Cannot crawl: Threat Command / DRP API (requires authentication).

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drunkrhin0/rapid7-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server