Skip to main content

ChatGPT Connector

Radarboard exposes an MCP server endpoint that ChatGPT can connect to as a custom connector. Once connected, you can ask ChatGPT questions like:
  • “What’s my current MRR?”
  • “How many visitors did my site get this week?”
  • “Are there any unresolved Sentry errors?”
  • “What was the last Vercel deployment?”
If you only need the built-in MCP URL, OAuth endpoints, or required environment variables, see Radarboard MCP.

Prerequisites


Step 1 — Configure environment variables

Add the following to your .env (or deployment environment) and restart the server:
# Public URL of your Radarboard instance — no trailing slash
NEXT_PUBLIC_APP_URL=https://your-radarboard.example.com

# Secret for signing MCP access tokens
# Generate one with: openssl rand -hex 32
RADARBOARD_API_SECRET=
Both variables must be set before the OAuth discovery and token endpoints will work.

Step 2 — Create a connector at OpenAI

Go to platform.openai.com/apps-manage and click Create app. Fill in the form as follows:

Basic information

FieldWhat to enter
NameRadarboard (or any label you prefer)
DescriptionRead-only access to your Radarboard dashboard — revenue, analytics, deployments, health checks, and more.
MCP server URLhttps://your-radarboard.example.com/api/mcp

OAuth configuration

After entering the MCP URL, ChatGPT auto-discovers your OAuth endpoints via /.well-known/oauth-authorization-server. The following fields may still need to be filled manually:
FieldWhat to enter
Authorization endpointhttps://your-radarboard.example.com/api/oauth/authorize
Token endpointhttps://your-radarboard.example.com/api/oauth/token
Client registration endpointhttps://your-radarboard.example.com/api/oauth/register
Scopesread

Redirect URIs

Add both of these redirect URIs in the OAuth settings — the exact {callback_id} value is shown in your app management dashboard after the app is created:
https://chatgpt.com/connector/oauth/{callback_id}
https://platform.openai.com/apps-manage/oauth
Copy the {callback_id} URI from the dashboard and add it to your connector’s allowed redirect URIs before testing.

Step 3 — Authorize ChatGPT

The first time ChatGPT connects, it will open this URL in your browser:
https://your-radarboard.example.com/api/oauth/authorize
You will see an approval page. Click Allow. This only happens once — subsequent connections are auto-approved because the approval is stored in your credential store.

Step 4 — Use it in ChatGPT

Once authorized, the connector appears in your ChatGPT conversation tools. Try asking:
  • “What’s my MRR for the last 30 days?”
  • “Show me this week’s analytics”
  • “Any new Sentry errors?”
  • “What’s the status of my monitors?”

Available tools

ToolDescriptionParameters
get_revenueMRR, gross revenue, net revenue, subscriber countrange: 7d 30d 3m 1y
get_analyticsPageviews, unique visitors, sessions, referrersrange: 7d 30d 3m 1y
get_sentry_issuesUnresolved Sentry errors and project health
get_health_checksBetterStack uptime monitor statuses
get_vercel_deploymentsRecent production deployments and build status
get_github_starsGitHub repo stats: stars, forks, open issues
get_npm_downloadsNPM package download countsrange: last-week last-month last-year

Security

  • Access is controlled by a long-lived JWT (1 year) signed with RADARBOARD_API_SECRET. Keep this secret.
  • The JWT grants read-only access — ChatGPT cannot modify any data.
  • Only OpenAI’s registered redirect URIs (chatgpt.com and platform.openai.com) are accepted.
  • To revoke access immediately: rotate RADARBOARD_API_SECRET. All existing tokens become invalid.
  • To show the approval page again: delete the mcp::oauth::approved record from your credential store.

Troubleshooting

“NEXT_PUBLIC_APP_URL environment variable is not set” Set NEXT_PUBLIC_APP_URL in your environment and restart the server. “RADARBOARD_API_SECRET environment variable is not set” Run openssl rand -hex 32 to generate a secret, then set it as RADARBOARD_API_SECRET and restart. Redirect URI mismatch error during OAuth Copy the exact https://chatgpt.com/connector/oauth/{callback_id} URI from your OpenAI app dashboard and make sure it is listed in your connector’s allowed redirect URIs. 401 Unauthorized on /api/mcp Either the JWT expired (after 1 year) or RADARBOARD_API_SECRET was rotated. Re-authorize by reconnecting the connector in ChatGPT. ChatGPT says “connector not found” or times out Verify NEXT_PUBLIC_APP_URL points to a publicly accessible HTTPS server and that /api/mcp responds. Test with:
curl https://your-radarboard.example.com/.well-known/oauth-protected-resource