Available Plugins
MCP Context Forge provides a comprehensive collection of production-ready plugins for security, performance, content transformation, and compliance. This page catalogs all available native and external plugins.
Plugin Categories
Security & Safety
Plugins for protecting against security threats, detecting sensitive data, and moderating content.
| Plugin |
Type |
Description |
| Simple Token Auth |
Native |
Custom token-based authentication with file storage, expiration, and CLI management. Complete example of HTTP authentication hooks (http_pre_request, http_auth_resolve_user, http_auth_check_permission, http_post_request) |
| PII Filter |
Native |
Detects and masks sensitive information including SSN, credit cards, and emails with configurable masking strategies |
| Secrets Detection |
Native |
Detects likely credentials/secrets (AWS keys, API keys, JWT tokens, private keys) in inputs and outputs with optional redaction and blocking |
| Code Safety Linter |
Native |
Detects unsafe code patterns in tool outputs (eval, exec, os.system, subprocess, rm -rf) |
| Safe HTML Sanitizer |
Native |
Sanitizes HTML to remove XSS vectors, dangerous tags, event handlers, and bad URL schemes with optional text conversion |
| SQL Sanitizer |
Native |
Detects risky SQL patterns and sanitizes/blocks dangerous statements (DROP, TRUNCATE, DELETE/UPDATE without WHERE) |
| Harmful Content Detector |
Native |
Detects harmful content (self-harm, violence, hate speech) via lexicons and blocks or annotates accordingly |
| Content Moderation |
Native |
Advanced AI-powered content moderation using IBM Watson, IBM Granite Guardian, OpenAI, Azure, or AWS with configurable thresholds and actions |
| URL Reputation |
Native |
Static URL reputation checks using blocked domains and patterns |
| VirusTotal Checker |
Native |
Integrates with VirusTotal v3 to check URLs, domains, IPs, and file hashes before fetching with configurable blocking policies |
| LLMGuard |
External |
Comprehensive AI guardrails utilizing LLM Guard library with filters and sanitizers for input prompts and model outputs. Supports complex policy expressions and vault-based anonymization |
| ClamAV Remote |
External |
External MCP server plugin that scans files and text content using ClamAV for malware detection in resources, prompts, and tool outputs |
Reliability & Performance
Plugins for improving system reliability, performance, and resource management.
| Plugin |
Type |
Description |
| Circuit Breaker |
Native |
Trips per-tool breaker on high error rates or consecutive failures and blocks during cooldown |
| Watchdog |
Native |
Enforces maximum runtime for tools with warn or block actions on threshold violations |
| Rate Limiter |
Native |
Fixed-window in-memory rate limiting by user, tenant, or tool |
| Cached Tool Result |
Native |
Caches idempotent tool results in-memory with configurable TTL and key fields |
| Response Cache by Prompt |
Native |
Advisory response cache using cosine similarity over prompt/input fields with configurable threshold |
| Retry with Backoff |
Native |
Annotates retry/backoff policy in metadata with exponential backoff on specific HTTP status codes |
Observability & Monitoring
Plugins for telemetry, tracing, and monitoring tool invocations.
| Plugin |
Type |
Description |
| Tools Telemetry Exporter |
Native |
Export comprehensive tool invocation telemetry to OpenTelemetry for observability and monitoring with configurable payload export |
Content Transformation & Formatting
Plugins for transforming, formatting, and normalizing content.
| Plugin |
Type |
Description |
| AI Artifacts Normalizer |
Native |
Normalizes AI artifacts including smart quotes, ligatures, dashes, ellipses; removes bidi/zero-width characters; collapses spacing |
| Argument Normalizer |
Native |
Normalizes user/tool arguments with Unicode normalization, whitespace cleanup, casing strategies, date/number normalization to improve robustness |
| Code Formatter |
Native |
Formats code/text outputs with lightweight normalization (indentation, trailing whitespace, newlines, optional JSON pretty-print) |
| HTML to Markdown |
Native |
Converts HTML resource content to Markdown format |
| Markdown Cleaner |
Native |
Normalizes and tidies Markdown in prompts and resources |
| JSON Repair |
Native |
Conservative JSON string repair for tool outputs |
| Summarizer |
Native |
Summarizes long text using configurable LLM provider (OpenAI, Anthropic) with threshold-based activation |
| Timezone Translator |
Native |
Converts ISO-like timestamps between server and user timezones |
Content Filtering & Validation
Plugins for filtering, validating, and controlling content.
| Plugin |
Type |
Description |
| Deny Filter |
Native |
Deny list plugin for blocking specific content patterns |
| Regex Filter |
Native |
Search and replace plugin using regex patterns for content filtering |
| Resource Filter |
Native |
Resource filtering with max content size, protocol restrictions, blocked domains, and content pattern replacement |
| File Type Allowlist |
Native |
Allows only configured MIME types and file extensions for resources |
| Output Length Guard |
Native |
Guards tool outputs by length with block or truncate strategies |
| Schema Guard |
Native |
Validates tool arguments and results against JSONSchema subset with optional blocking |
| Citation Validator |
Native |
Validates citations/links by checking reachability and optional content keywords |
| SPARC Syntactic Tool Calls Validator |
Native |
Performs pre-execution syntactic validation of tool calls against their JSON Schemas - checking required parameters, types, enums, and schema constraints - and can automatically suggest or apply safe corrections (e.g., type coercions) before the tool is executed. |
Compliance & Governance
Plugins for ensuring compliance with licenses, regulations, and governance policies.
| Plugin |
Type |
Description |
| Robots License Guard |
Native |
Honors robots/noai and license meta tags from HTML; blocks or annotates per policy |
| License Header Injector |
Native |
Injects configurable license header into code outputs with language-appropriate comments |
| Privacy Notice Injector |
Native |
Injects configurable privacy notice into rendered prompts (prepend/append or separate message) |
Network & Integration
Plugins for network operations and external system integration.
| Plugin |
Type |
Description |
| Header Injector |
Native |
Injects custom HTTP headers for resource fetch requests via payload metadata |
| Webhook Notification |
Native |
Sends HTTP webhook notifications on events, violations, and state changes with customizable templates |
| Vault |
Native |
Generates bearer tokens based on vault-saved tokens for secure authentication |
Policy Enforcement
Plugins for enforcing custom policies and business rules.
| Plugin |
Type |
Description |
| OPA Plugin |
External |
Enforces Rego policies on tool invocations via an OPA server. Allows selective policy application per tool with context injection and customizable policy endpoints |
| Cedar (RBAC) Plugin |
External |
Enforces RBAC-based policies on MCP servers using Cedar (leveraging the cedarpy library) or a custom DSL, for local evaluation with flexible configuration and output redaction. |
Plugin Types
Native Plugins
Native plugins run in-process within the gateway for maximum performance:
- Location:
plugins/ directory
- Language: Python
- Performance: Lowest latency
- Configuration: Fully-qualified class path in
plugins/config.yaml
- Use Cases: PII filtering, input validation, content transformation, business rules
Example configuration:
plugins:
- name: "PIIFilterPlugin"
kind: "plugins.pii_filter.pii_filter.PIIFilterPlugin"
hooks: ["tool_pre_invoke", "tool_post_invoke"]
mode: "enforce"
priority: 50
External Plugins
External plugins run as separate servers for independent scaling and isolation:
- Location:
plugins/external/ directory
- Transports: MCP (STDIO or Streamable HTTP) or gRPC (high-performance)
- Performance: MCP ~600 calls/sec, gRPC ~4,700 calls/sec, Unix socket ~9,000 calls/sec
- Configuration:
kind: "external" with mcp: or grpc: connection details
- Use Cases: Advanced AI safety, complex ML inference, policy engines
Example configuration (MCP):
plugins:
- name: "OPAPluginFilter"
kind: "external"
priority: 10
mcp:
proto: STREAMABLEHTTP
url: http://localhost:8000/mcp
Example configuration (gRPC - high performance):
plugins:
- name: "HighPerformanceFilter"
kind: "external"
priority: 10
grpc:
target: "localhost:50051"
# uds: /var/run/grpc-plugin.sock # use UDS instead of TCP
See gRPC Transport Guide for gRPC configuration including TLS/mTLS, or Unix Socket Transport for maximum local performance.
Getting Started
Using Native Plugins
- Choose plugins from the catalog above
- Add configuration to
plugins/config.yaml
- Set
PLUGINS_ENABLED=true in .env
- Restart the gateway:
make dev
Using External Plugins
- Build the external plugin:
cd plugins/external/opa && make build
- Start the plugin server:
make start
- Configure gateway to use external plugin in
plugins/config.yaml
- Restart the gateway:
make dev
Plugin Development
To create your own plugin, see:
Support & Contributing
For plugin-specific questions, consult the README in each plugin directory.
1---2name: available-plugins3description: MCP Context Forge provides a comprehensive collection of production-ready plugins for security, performance, content transformation, and compliance. This page catalogs all available native and external plugins.4---5# Available Plugins67MCP Context Forge provides a comprehensive collection of production-ready plugins for security, performance, content transformation, and compliance. This page catalogs all available native and external plugins.89## Plugin Categories1011- [Security & Safety](#security-safety)12- [Reliability & Performance](#reliability-performance)13- [Observability & Monitoring](#observability-monitoring)14- [Content Transformation & Formatting](#content-transformation-formatting)15- [Content Filtering & Validation](#content-filtering-validation)16- [Compliance & Governance](#compliance-governance)17- [Network & Integration](#network-integration)18- [Policy Enforcement](#policy-enforcement)1920## Security & Safety2122Plugins for protecting against security threats, detecting sensitive data, and moderating content.2324| Plugin | Type | Description |25|--------|------|-------------|26| [Simple Token Auth](https://github.com/IBM/mcp-context-forge/tree/main/plugins/examples/simple_token_auth) | Native | Custom token-based authentication with file storage, expiration, and CLI management. Complete example of HTTP authentication hooks (http_pre_request, http_auth_resolve_user, http_auth_check_permission, http_post_request) |27| [PII Filter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/pii_filter) | Native | Detects and masks sensitive information including SSN, credit cards, and emails with configurable masking strategies |28| [Secrets Detection](https://github.com/IBM/mcp-context-forge/tree/main/plugins/secrets_detection) | Native | Detects likely credentials/secrets (AWS keys, API keys, JWT tokens, private keys) in inputs and outputs with optional redaction and blocking |29| [Code Safety Linter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/code_safety_linter) | Native | Detects unsafe code patterns in tool outputs (eval, exec, os.system, subprocess, rm -rf) |30| [Safe HTML Sanitizer](https://github.com/IBM/mcp-context-forge/tree/main/plugins/safe_html_sanitizer) | Native | Sanitizes HTML to remove XSS vectors, dangerous tags, event handlers, and bad URL schemes with optional text conversion |31| [SQL Sanitizer](https://github.com/IBM/mcp-context-forge/tree/main/plugins/sql_sanitizer) | Native | Detects risky SQL patterns and sanitizes/blocks dangerous statements (DROP, TRUNCATE, DELETE/UPDATE without WHERE) |32| [Harmful Content Detector](https://github.com/IBM/mcp-context-forge/tree/main/plugins/harmful_content_detector) | Native | Detects harmful content (self-harm, violence, hate speech) via lexicons and blocks or annotates accordingly |33| [Content Moderation](https://github.com/IBM/mcp-context-forge/tree/main/plugins/content_moderation) | Native | Advanced AI-powered content moderation using IBM Watson, IBM Granite Guardian, OpenAI, Azure, or AWS with configurable thresholds and actions |34| [URL Reputation](https://github.com/IBM/mcp-context-forge/tree/main/plugins/url_reputation) | Native | Static URL reputation checks using blocked domains and patterns |35| [VirusTotal Checker](https://github.com/IBM/mcp-context-forge/tree/main/plugins/virus_total_checker) | Native | Integrates with VirusTotal v3 to check URLs, domains, IPs, and file hashes before fetching with configurable blocking policies |36| [LLMGuard](https://github.com/IBM/mcp-context-forge/tree/main/plugins/external/llmguard) | External | Comprehensive AI guardrails utilizing LLM Guard library with filters and sanitizers for input prompts and model outputs. Supports complex policy expressions and vault-based anonymization |37| [ClamAV Remote](https://github.com/IBM/mcp-context-forge/tree/main/plugins/external/clamav_server) | External | External MCP server plugin that scans files and text content using ClamAV for malware detection in resources, prompts, and tool outputs |3839## Reliability & Performance4041Plugins for improving system reliability, performance, and resource management.4243| Plugin | Type | Description |44|--------|------|-------------|45| [Circuit Breaker](https://github.com/IBM/mcp-context-forge/tree/main/plugins/circuit_breaker) | Native | Trips per-tool breaker on high error rates or consecutive failures and blocks during cooldown |46| [Watchdog](https://github.com/IBM/mcp-context-forge/tree/main/plugins/watchdog) | Native | Enforces maximum runtime for tools with warn or block actions on threshold violations |47| [Rate Limiter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/rate_limiter) | Native | Fixed-window in-memory rate limiting by user, tenant, or tool |48| [Cached Tool Result](https://github.com/IBM/mcp-context-forge/tree/main/plugins/cached_tool_result) | Native | Caches idempotent tool results in-memory with configurable TTL and key fields |49| [Response Cache by Prompt](https://github.com/IBM/mcp-context-forge/tree/main/plugins/response_cache_by_prompt) | Native | Advisory response cache using cosine similarity over prompt/input fields with configurable threshold |50| [Retry with Backoff](https://github.com/IBM/mcp-context-forge/tree/main/plugins/retry_with_backoff) | Native | Annotates retry/backoff policy in metadata with exponential backoff on specific HTTP status codes |5152## Observability & Monitoring5354Plugins for telemetry, tracing, and monitoring tool invocations.5556| Plugin | Type | Description |57|--------|------|-------------|58| [Tools Telemetry Exporter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/tools_telemetry_exporter) | Native | Export comprehensive tool invocation telemetry to OpenTelemetry for observability and monitoring with configurable payload export |5960## Content Transformation & Formatting6162Plugins for transforming, formatting, and normalizing content.6364| Plugin | Type | Description |65|--------|------|-------------|66| [AI Artifacts Normalizer](https://github.com/IBM/mcp-context-forge/tree/main/plugins/ai_artifacts_normalizer) | Native | Normalizes AI artifacts including smart quotes, ligatures, dashes, ellipses; removes bidi/zero-width characters; collapses spacing |67| [Argument Normalizer](https://github.com/IBM/mcp-context-forge/tree/main/plugins/argument_normalizer) | Native | Normalizes user/tool arguments with Unicode normalization, whitespace cleanup, casing strategies, date/number normalization to improve robustness |68| [Code Formatter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/code_formatter) | Native | Formats code/text outputs with lightweight normalization (indentation, trailing whitespace, newlines, optional JSON pretty-print) |69| [HTML to Markdown](https://github.com/IBM/mcp-context-forge/tree/main/plugins/html_to_markdown) | Native | Converts HTML resource content to Markdown format |70| [Markdown Cleaner](https://github.com/IBM/mcp-context-forge/tree/main/plugins/markdown_cleaner) | Native | Normalizes and tidies Markdown in prompts and resources |71| [JSON Repair](https://github.com/IBM/mcp-context-forge/tree/main/plugins/json_repair) | Native | Conservative JSON string repair for tool outputs |72| [Summarizer](https://github.com/IBM/mcp-context-forge/tree/main/plugins/summarizer) | Native | Summarizes long text using configurable LLM provider (OpenAI, Anthropic) with threshold-based activation |73| [Timezone Translator](https://github.com/IBM/mcp-context-forge/tree/main/plugins/timezone_translator) | Native | Converts ISO-like timestamps between server and user timezones |747576## Content Filtering & Validation7778Plugins for filtering, validating, and controlling content.7980| Plugin | Type | Description |81|--------|------|-------------|82| [Deny Filter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/deny_filter) | Native | Deny list plugin for blocking specific content patterns |83| [Regex Filter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/regex_filter) | Native | Search and replace plugin using regex patterns for content filtering |84| [Resource Filter](https://github.com/IBM/mcp-context-forge/tree/main/plugins/resource_filter) | Native | Resource filtering with max content size, protocol restrictions, blocked domains, and content pattern replacement |85| [File Type Allowlist](https://github.com/IBM/mcp-context-forge/tree/main/plugins/file_type_allowlist) | Native | Allows only configured MIME types and file extensions for resources |86| [Output Length Guard](https://github.com/IBM/mcp-context-forge/tree/main/plugins/output_length_guard) | Native | Guards tool outputs by length with block or truncate strategies |87| [Schema Guard](https://github.com/IBM/mcp-context-forge/tree/main/plugins/schema_guard) | Native | Validates tool arguments and results against JSONSchema subset with optional blocking |88| [Citation Validator](https://github.com/IBM/mcp-context-forge/tree/main/plugins/citation_validator) | Native | Validates citations/links by checking reachability and optional content keywords |89| [SPARC Syntactic Tool Calls Validator](https://github.com/IBM/mcp-context-forge/tree/main/plugins/sparc_static_validator) | Native | Performs pre-execution syntactic validation of tool calls against their JSON Schemas - checking required parameters, types, enums, and schema constraints - and can automatically suggest or apply safe corrections (e.g., type coercions) before the tool is executed. |909192## Compliance & Governance9394Plugins for ensuring compliance with licenses, regulations, and governance policies.9596| Plugin | Type | Description |97|--------|------|-------------|98| [Robots License Guard](https://github.com/IBM/mcp-context-forge/tree/main/plugins/robots_license_guard) | Native | Honors robots/noai and license meta tags from HTML; blocks or annotates per policy |99| [License Header Injector](https://github.com/IBM/mcp-context-forge/tree/main/plugins/license_header_injector) | Native | Injects configurable license header into code outputs with language-appropriate comments |100| [Privacy Notice Injector](https://github.com/IBM/mcp-context-forge/tree/main/plugins/privacy_notice_injector) | Native | Injects configurable privacy notice into rendered prompts (prepend/append or separate message) |101102103## Network & Integration104105Plugins for network operations and external system integration.106107| Plugin | Type | Description |108|--------|------|-------------|109| [Header Injector](https://github.com/IBM/mcp-context-forge/tree/main/plugins/header_injector) | Native | Injects custom HTTP headers for resource fetch requests via payload metadata |110| [Webhook Notification](https://github.com/IBM/mcp-context-forge/tree/main/plugins/webhook_notification) | Native | Sends HTTP webhook notifications on events, violations, and state changes with customizable templates |111| [Vault](https://github.com/IBM/mcp-context-forge/tree/main/plugins/vault) | Native | Generates bearer tokens based on vault-saved tokens for secure authentication |112113114## Policy Enforcement115116Plugins for enforcing custom policies and business rules.117118| Plugin | Type | Description |119|--------|------|-------------|120| [OPA Plugin](https://github.com/IBM/mcp-context-forge/tree/main/plugins/external/opa) | External | Enforces Rego policies on tool invocations via an OPA server. Allows selective policy application per tool with context injection and customizable policy endpoints |121| [Cedar (RBAC) Plugin](https://github.com/IBM/mcp-context-forge/tree/main/plugins/external/cedar) | External | Enforces RBAC-based policies on MCP servers using Cedar (leveraging the cedarpy library) or a custom DSL, for local evaluation with flexible configuration and output redaction. |122123## Plugin Types124125### Native Plugins126127Native plugins run in-process within the gateway for maximum performance:128129- **Location**: `plugins/` directory130- **Language**: Python131- **Performance**: Lowest latency132- **Configuration**: Fully-qualified class path in `plugins/config.yaml`133- **Use Cases**: PII filtering, input validation, content transformation, business rules134135Example configuration:136```yaml137plugins:138139 - name: "PIIFilterPlugin"140 kind: "plugins.pii_filter.pii_filter.PIIFilterPlugin"141 hooks: ["tool_pre_invoke", "tool_post_invoke"]142 mode: "enforce"143 priority: 50144```145146### External Plugins147148External plugins run as separate servers for independent scaling and isolation:149150- **Location**: `plugins/external/` directory151- **Transports**: MCP (STDIO or Streamable HTTP) or gRPC (high-performance)152- **Performance**: MCP ~600 calls/sec, gRPC ~4,700 calls/sec, Unix socket ~9,000 calls/sec153- **Configuration**: `kind: "external"` with `mcp:` or `grpc:` connection details154- **Use Cases**: Advanced AI safety, complex ML inference, policy engines155156Example configuration (MCP):157```yaml158plugins:159 - name: "OPAPluginFilter"160 kind: "external"161 priority: 10162 mcp:163 proto: STREAMABLEHTTP164 url: http://localhost:8000/mcp165```166167Example configuration (gRPC - high performance):168```yaml169plugins:170 - name: "HighPerformanceFilter"171 kind: "external"172 priority: 10173 grpc:174 target: "localhost:50051"175 # uds: /var/run/grpc-plugin.sock # use UDS instead of TCP176```177178See [gRPC Transport Guide](./grpc-transport.md) for gRPC configuration including TLS/mTLS, or [Unix Socket Transport](./unix-socket-transport.md) for maximum local performance.179180## Getting Started181182### Using Native Plugins1831841. Choose plugins from the catalog above1852. Add configuration to `plugins/config.yaml`1863. Set `PLUGINS_ENABLED=true` in `.env`1874. Restart the gateway: `make dev`188189### Using External Plugins1901911. Build the external plugin: `cd plugins/external/opa && make build`1922. Start the plugin server: `make start`1933. Configure gateway to use external plugin in `plugins/config.yaml`1944. Restart the gateway: `make dev`195196## Plugin Development197198To create your own plugin, see:199200- [Plugin Framework Guide](./index.md)201- [Plugin Lifecycle Guide](./lifecycle.md)202- [Plugin Architecture Specification](../../architecture/plugins.md)203204## Support & Contributing205206- **Documentation**: [Plugin Framework Guide](./index.md)207- **Issues**: [GitHub Issues](https://github.com/IBM/mcp-context-forge/issues)208- **Contributing**: Follow plugin structure guidelines and include comprehensive tests209210For plugin-specific questions, consult the README in each plugin directory.