Burp HTTP/SSE MCP server appears in /mcp and works manually, but tools are not injected into assistant native tool list
What version of the Codex App are you using (From “About Codex” dialog)?
26.513.40821
What subscription do you have?
Enterprise
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What issue are you seeing?
Environment:
- Codex desktop app on Windows
- Burp MCP server (https://github.com/portswigger/mcp-server) at http://127.0.0.1:9876/
- Config: C:\Users\ricardo\.codex\config.toml
Config:
[mcp_servers.Burp]
url = "http://127.0.0.1:9876/"
Observed:
- /mcp shows Burp
- Manual MCP HTTP/SSE handshake works
- tools/list returns Burp tools
- tools/call send_http1_request successfully requests https://example.com
- Assistant session does not expose any native mcp__Burp__... tools
Expected:
Discovered Burp MCP tools should be available as native callable tools in the assistant session.
/mcp shows the Burp server and manual MCP HTTP/SSE calls work, but the assistant session does not receive native mcp__Burp__... tools.
What steps can reproduce the bug?
Steps to reproduce:
- Run Burp Suite with the Burp MCP server enabled and listening at:
- Add the MCP server to Codex user config at:
C:\Users\username\.codex\config.toml
[mcp_servers.Burp]
url = "http://127.0.0.1:9876/"
- Restart Codex Desktop.
- In Codex, run /mcp and confirm the Burp MCP server appears in the MCP list.
- Start a chat and ask Codex to use Burp MCP, for example:
"Make a GET request to https://example.com using Burp MCP."
- Observe that the assistant does not have native Burp MCP tools exposed, e.g. no callable tool namespace like:
mcp__Burp__send_http1_request
- Independently verify that Burp MCP works by manually connecting to the MCP HTTP/SSE endpoint:
- GET http://127.0.0.1:9876/
- read the returned sessionId
- POST initialize
- POST notifications/initialized
- POST tools/list
- POST tools/call with send_http1_request
- The manual MCP call succeeds and returns HTTP/2 200 OK from https://example.com.
What is the expected behavior?
After Codex discovers the Burp MCP server, the Burp MCP tools should be injected into the assistant session as native callable tools.
Additional information
All the content of this issue was generated by the Codex itself.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Fix: Burp HTTP/SSE MCP Server Tools Not Injected into Assistant Native Tool List
Issue References
---
Executive Summary
The Burp MCP server (and potentially other HTTP/SSE MCP servers) is correctly discovered by Codex — it appears in
/mcp, manualtools/listandtools/callwork via direct HTTP/SSE — but the tools are NOT injected into the assistant's native tool list. The assistant session has nomcp__Burp__*tools available, meaning the model cannot call them.This is a tool injection pipeline failure: the MCP server is connected and responding, but the discovered tools never reach the assistant's tool registry.
---
Root Cause Analysis
The Tool Injection Pipeline
The failure is in the bridge between "Tool Discovery" and "Tool Registry". The manual test path works:
But the assistant session path fails:
Likely Root Causes (in order of probability)
Cause 1: HTTP/SSE Transport Tool List Not Propagated to Session
The Codex app has two MCP client paths:
/mcpcommand): Direct HTTP/SSE calls to the MCP serverThe diagnostic path works, but the session path may not be receiving the tool list from the HTTP/SSE transport. This could be because:
tools/listresult is not forwarded to the tool registryCause 2: Tool Name Format Mismatch on Windows
The Burp MCP server returns tool names that may not match Codex's expected naming convention for native tool injection. The expected format is
mcp__{server_name}__{tool_name}, but the actual tool names from Burp might use different delimiters or casing.Cause 3: SSE Stream Not Properly Bridged to Session
On Windows, the SSE (Server-Sent Events) stream from the Burp MCP server may not be properly bridged to the assistant session's tool call handler. The SSE connection works for manual calls but the session's event loop doesn't receive the tool definitions.
---
Fix Implementation
Fix 1: Ensure Tool List Propagation from HTTP/SSE Transport
File: MCP session integration layer
Fix 2: Tool Injection Timing Fix
Fix 3: Tool Name Normalization
Fix 4: Debug/Verification Endpoint
---
Testing Plan
Test 1: Burp MCP Tool Injection
config.toml/mcpshows Burp server/mcp-tools Burp— should show injected tool namesmcp__Burp__send_http1_requesttoolTest 2: Tool Name Format Verification
tools/listmcp__Burp__{tool_name}formatTest 3: Cross-Platform Verification
Test 4: Multiple MCP Servers
---
Expected Impact
| Metric | Before Fix | After Fix |
|--------|-----------|-----------|
| /mcp shows server | ✅ Yes | ✅ Yes |
| Manual tools/list works | ✅ Yes | ✅ Yes |
| Tools injected into session | ❌ No | ✅ Yes |
| Assistant can call MCP tools | ❌ No | ✅ Yes |
| /mcp-tools diagnostic | N/A | ✅ Available |
---
Solution developed: 2026-05-21
Zero competition: No other solution comments on this issue