ChatGPT Desktop

Connect the Paradex MCP server to ChatGPT Desktop in a few steps.

ChatGPT Desktop cannot run local programs directly, so you use ngrok to create a tunnel from your local MCP server to a public URL that ChatGPT can connect to.

1

Complete prerequisites

Follow the Prerequisites guide to install Python, uvx, and get your Paradex private key.

2

Install ngrok

$brew install ngrok # macOS
$# Or download from https://ngrok.com
3

Start the MCP server

$MCP_TRANSPORT=streamable-http MCP_PORT=8080 \
>PARADEX_ENVIRONMENT=prod \
>PARADEX_ACCOUNT_PRIVATE_KEY=your_private_key_here \
>uvx mcp-paradex

Replace your_private_key_here with your actual key.

4

Open a tunnel

In a second terminal:

$ngrok http 8080

Copy the https://xxxx.ngrok-free.app URL from the output.

5

Connect in ChatGPT

  1. Open ChatGPT Desktop → Settings → Advanced → Developer Mode (enable if not already).
  2. Go to Settings → Connectors → Create.
  3. Paste https://xxxx.ngrok-free.app/mcp.
  4. Click I trust this provider.

Limitation: The tunnel URL changes every time you restart ngrok (free tier). Update the connector URL each session.

6

Verify it’s working

Ask your AI assistant:

“What markets are available on Paradex?”

If you get a list of trading pairs, you’re connected.

To test trading access, ask:

“Show me my Paradex account summary.”


OpenAI Agents SDK (for developers)

For custom Python apps (not the ChatGPT interface). No remote hosting needed.

$pip install openai-agents
1import asyncio, os
2from agents import Agent, Runner
3from agents.mcp import MCPServerStdio
4
5async def main():
6 async with MCPServerStdio(
7 name="paradex",
8 params={
9 "command": "uvx",
10 "args": ["mcp-paradex"],
11 "env": {
12 **os.environ,
13 "PARADEX_ENVIRONMENT": "prod",
14 "PARADEX_ACCOUNT_PRIVATE_KEY": "your_private_key_here",
15 },
16 },
17 ) as server:
18 agent = Agent(
19 name="Paradex Trader",
20 instructions="You are a trading assistant with access to Paradex.",
21 mcp_servers=[server],
22 )
23 result = await Runner.run(agent, "What are the top markets by volume?")
24 print(result.final_output)
25
26asyncio.run(main())