Skip to content

ChatGPT Developer Mode Setup

Connect Universal Crypto MCP to ChatGPT using Developer Mode.


Prerequisites

  • ChatGPT Pro, Plus, Business, Enterprise, or Education account
  • Developer Mode enabled
  • Universal Crypto MCP server running (local or deployed)

Quick Start

1. Start the HTTP Server

# Local development
bun dev:http

# Or with npm
npm run dev:http

# Production
bun start:http

The server will start on http://localhost:3001 by default.

2. Enable Developer Mode in ChatGPT

  1. Go to ChatGPT Settings
  2. Click Advanced settings
  3. Enable Developer mode

3. Create an App

  1. In ChatGPT Settings → Apps, click Create app
  2. Enter your MCP server URL:
  3. Local: http://localhost:3001/mcp
  4. Deployed: https://your-server.com/mcp
  5. Select No Authentication (or configure OAuth if needed)
  6. Click Create

4. Use in Conversations

  1. Start a new conversation
  2. Click the Plus menu in the composer
  3. Select Developer mode
  4. Choose your Universal Crypto MCP app
  5. Start chatting!

Server Endpoints

Endpoint Method Description
/mcp POST Main MCP protocol endpoint
/mcp GET SSE stream for notifications
/mcp DELETE Terminate session
/health GET Health check
/ GET Server info

Example Prompts

Get Crypto News

Use the Universal Crypto MCP to get the latest Bitcoin news.
Do not use other tools.

Check Token Balance

Using Universal Crypto MCP's "get_token_balance" tool, check the USDT 
balance for 0x... on Ethereum mainnet.

Analyze Token Security

Use the "detect_rug_pull_risk" tool from Universal Crypto MCP to analyze 
the token at 0x... on BSC.

Get Gas Prices

Get current gas prices on Ethereum using Universal Crypto MCP.
Compare with Arbitrum and Base.

Swap Quote

Use Universal Crypto MCP to get a quote for swapping 1 ETH to USDC 
on Uniswap (Ethereum mainnet).

Tool Categories

Read-Only Tools (No Confirmation)

These tools are marked with readOnlyHint: true and won't require confirmation:

  • get_balance - Check wallet balance
  • get_token_info - Get token details
  • get_token_balance - Check token balance
  • resolve_ens - Resolve ENS names
  • get_gas_price - Current gas prices
  • get_crypto_news - Fetch news
  • get_swap_quote - DEX price quotes
  • detect_honeypot - Security analysis
  • get_block - Block information

Write Tools (Requires Confirmation)

These tools perform transactions and require confirmation:

  • transfer_tokens - Send tokens
  • swap_tokens - Execute swaps
  • approve_token - Token approvals
  • deploy_contract - Deploy contracts
  • stake_eth_lido - Stake ETH

Deployment Options

Option 1: Local Development

# Start server
bun dev:http

# Expose via ngrok (for ChatGPT access)
ngrok http 3001

Use the ngrok URL in ChatGPT: https://xxxx.ngrok.io/mcp

Option 2: Deploy to Cloud

Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

Railway

# Link to Railway
railway link

# Deploy
railway up

Docker

FROM oven/bun:1
WORKDIR /app
COPY package.json bun.lockb ./
RUN bun install --frozen-lockfile
COPY . .
RUN bun run build
EXPOSE 3001
CMD ["bun", "start:http"]

Environment Variables

Variable Description Required
PORT Server port (default: 3001) No
PRIVATE_KEY Wallet private key For transactions
LOG_LEVEL DEBUG, INFO, WARN, ERROR No

Troubleshooting

"No valid session found"

The session expired or wasn't initialized. ChatGPT will automatically retry.

Tool not found

  1. Refresh the app in ChatGPT Settings → Apps → Your App → Refresh
  2. Check the server is running: curl http://localhost:3001/health

Connection refused

  1. Ensure the server is running: bun dev:http
  2. Check firewall settings
  3. For local development, use ngrok or similar tunnel

CORS errors

The server includes CORS headers by default. If deploying behind a proxy, ensure CORS headers are preserved.


Security Considerations

⚠️ Important Security Notes:

  1. Private Keys: Never expose private keys in public deployments
  2. Write Actions: Always review transaction details before confirming
  3. Public Deployment: Consider adding authentication for production
  4. Rate Limiting: Add rate limiting for public endpoints

For public deployments, consider running in read-only mode by not setting PRIVATE_KEY:

PORT=3001 bun start:http

This disables all write operations (transfers, swaps, etc.).


Protocol Details

MCP Session Flow

1. ChatGPT → POST /mcp (initialize)
2. Server → Returns session ID
3. ChatGPT → POST /mcp (tool calls)
4. Server → Returns tool results
5. (Optional) GET /mcp for SSE notifications
6. DELETE /mcp to end session

Supported MCP Features

  • ✅ Tools (read and write)
  • ✅ Prompts
  • ✅ Resources
  • ✅ Session management
  • ✅ Streamable HTTP transport
  • ✅ SSE notifications

Credits

Built by nich (github.com/nirholas)