Connect · ChatGPT and OpenAI
Use SignalPilot with ChatGPT and OpenAI
SignalPilot speaks the same MCP standard OpenAI uses, so ChatGPT, Codex, and agents built on the OpenAI SDK can all talk to your data through the same governed endpoint.
All three paths use the same endpoint and the same API key. Create the key once under Settings → API Keys in SignalPilot; it starts with sp_ and is shown only when created.
- Endpoint
- https://gateway.signalpilot.ai/mcp
- Header
- x-api-key: sp_your_key_hereBearer tokens work too: Authorization: Bearer sp_…
- ChatGPT
- Codex
- OpenAI Agents SDK
ChatGPT adds MCP servers as connectors in developer mode.
Turn on developer mode
In ChatGPT, open Settings → Connectors → Advanced settings and switch on Developer mode. A workspace admin may need to enable this for you.
Create the connector
Back on Connectors, choose Create. Enter SignalPilot as the name, paste the endpoint above as the MCP server URL, and confirm.
Sign in when asked
ChatGPT connectors cannot send a custom API key header. Instead, choose the sign-in option when ChatGPT offers it and log in with your SignalPilot account. The connector then acts as you, with your workspace's permissions.
Use it in a chat
Start a new chat, open the tools menu, and select SignalPilot. Ask a question you can verify, such as how many orders shipped last week.
Codex has a SignalPilot plugin with the same skills and verifier agents as the Claude Code plugin. Install it, then point it at the cloud endpoint.
$ codex plugin marketplace add SignalPilot-Labs/codex-signalpilot-plugin$ codex plugin add signalpilot@signalpilot
Add the server to ~/.codex/config.toml:
[mcp_servers.signalpilot]url = "https://gateway.signalpilot.ai/mcp"http_headers = { "x-api-key" = "sp_your_key_here" }
Restart Codex. Ask it to list the SignalPilot tools to confirm the connection. The full plugin guide is on the Codex page.
Register SignalPilot as a hosted MCP tool. The OpenAI platform calls the endpoint for you, so no local process is needed.
from agents import Agent, HostedMCPToolagent = Agent(name="analyst",instructions="Answer questions using SignalPilot. Show the SQL you ran.",tools=[HostedMCPTool(tool_config={"type": "mcp","server_label": "signalpilot","server_url": "https://gateway.signalpilot.ai/mcp","headers": {"x-api-key": "sp_your_key_here"},"require_approval": "never",})],)
Keep the key in an environment variable rather than in source. Governance runs on SignalPilot's side, so the agent can only read what the workspace allows regardless of what the prompt asks for.
Next
- Connect a database if the workspace has none yet.
- API keys and permissions for scopes, rotation, and rate limits.
- Claude and Claude Code setup, if your team uses both.