The CrowdStrike Falcon AIDR MCP plugin inspects the following MCP JSON-RPC 2.0 event types as they pass through Kong Gateway:
tool_listing: Inspects the list of tools an MCP server advertises in response to a tools/list request, detecting malicious tool descriptions such as prompt injection embedded in tool metadata.
tool_input: Inspects tool call arguments in a tools/call request before the tool executes, blocking malicious inputs before they reach the MCP server.
tool_output: Inspects the tool result an MCP server returns, blocking sensitive data exfiltration in tool output before it reaches the client.
initialize, ping, and other non-tool MCP methods pass through without inspection.
sequenceDiagram
autonumber
participant Client
participant Plugin as Kong Gateway
AIDR MCP plugin
participant AIDR as CrowdStrike Falcon AIDR
participant MCP as MCP Server
Client->>Plugin: tools/list, tools/call request
Plugin->>AIDR: Submit event against AIDR policies
AIDR->>Plugin: Verdict
alt If tool_input is flagged
Plugin->>Client: Return JSON-RPC error
else If request is allowed
Plugin->>MCP: Forward request
MCP->>Plugin: Return tool result or tool listing
Plugin->>AIDR: Submit tool_listing or tool_output against AIDR policies
AIDR->>Plugin: Verdict
alt If tool_listing or tool_output is flagged
Plugin->>Client: Return JSON-RPC error
else If response is allowed
Plugin->>Client: Return tool result or tool listing
end
end
Figure 1: Request and response flow showing how the CrowdStrike Falcon AIDR MCP plugin evaluates MCP tool listings, tool call inputs, and tool outputs against CrowdStrike Falcon AIDR policies. Flagged events are blocked with a JSON-RPC error, while allowed traffic is forwarded or returned.
MCP JSON-RPC 2.0 only uses POST requests.
When applied to a Route, restrict the Route to so it accepts POST methods only.
The AI MCP Proxy plugin and the CrowdStrike Falcon AIDR MCP plugin can be used together on the same Service.
The CrowdStrike Falcon AIDR MCP plugin runs at priority 950, before AI MCP Proxy’s priority 820, so tool_input inspection always runs first.
AI MCP Proxy operates in four modes, and the mode determines which AIDR inspection events fire:
|
Mode
|
tool_input
|
tool_listing
|
tool_output
|
Notes
|
passthrough-listener
|
Yes
|
Yes
|
Yes
|
Proxies to an upstream MCP server through Kong Gateway’s normal proxy pipeline. All three events are inspected.
|
conversion-listener
|
Yes
|
Yes
|
Yes
|
Converts REST API endpoints to MCP tools and proxies through Kong Gateway’s normal proxy pipeline. All three events are inspected.
|
listener
|
Yes
|
No
|
No
|
Aggregates tools from conversion-only plugins entirely within its own access phase and returns the response using kong.response.exit(). The response phase doesn’t run, so tool_listing and tool_output can’t be inspected.
|
conversion-only
|
N/A
|
N/A
|
N/A
|
Defines tools for use by a listener plugin. Doesn’t handle incoming MCP requests directly.
|
passthrough-listener and conversion-listener modes are fully supported.
listener mode provides tool_input coverage only.