Skip to main content

Developer Portal

Use the Triangle developer portal to create and manage OAuth applications for MCP clients, local tools, and your own Connect with Triangle integrations — with PKCE, prefix-based redirect URIs, and consent metadata you control.

Before you start

  • A Triangle account. Sign in at app.trianglehealth.com before opening the developer portal.
  • An MCP client, or your own app that will implement Connect with Triangle and needs a Client ID (and optional Client Secret).
  • At least one redirect URI base: an https origin you control for production, and/or an http loopback base (localhost, 127.0.0.1, or ::1) for local development.
  • OAuth public or confidential clients — public clients use PKCE (Client ID only); confidential clients issue a one-time Client Secret for Perplexity, LM Studio, and server-side API integrations.

Connection details

What to enter if Developer Portal asks for them.

MCP server URL
https://app.trianglehealth.com/mcp
OAuth server URL
https://app.trianglehealth.com
OAuth resource (MCP)
https://app.trianglehealth.com/mcp
Developer portal
https://app.trianglehealth.com/developer/apps
Client ID
Shown on your app detail page after you create an OAuth app
Scopes
Optional — permissions are granted on Triangle’s OAuth consent screen when the user authorizes (for example profile, notes, medical records, care team).

Set it up

  1. Create an OAuth app

    Signed-in users manage apps at My Apps in the developer portal. Choose a public client (PKCE) or confidential client (Client ID + one-time Client Secret).

    • Open https://app.trianglehealth.com/developer/apps and click Create app.
    • Enter a display name — this is the label users see on the OAuth consent screen.
    • Optionally add a description, homepage URL, logo, and privacy or terms links.
    • Building your own product button? After you have a Client ID, follow the Connect with Triangle guide to implement authorize, token exchange, and revoke.
  2. Configure redirect URIs and copy your Client ID

    Register the origins your app runs on. Triangle allows longer callback paths under each base automatically.

    • Add one redirect URI base per line — for example http://localhost:3040 and https://app.example.com.
    • Loopback bases accept localhost, 127.0.0.1, and ::1 on the same port. Use https in production.
    • After saving, copy the Client ID (UUID) from the app detail page into your MCP client or Connect with Triangle implementation.
  3. Connect your client and authorize

    For MCP hosts, paste Triangle endpoints and your Client ID into the client. For your own app, send users through /oauth/authorize (see Connect with Triangle).

    • MCP server URL: https://app.trianglehealth.com/mcp
    • OAuth server URL: https://app.trianglehealth.com
    • The browser opens Triangle’s consent screen on first use. Users can disconnect from Settings → AI Services.

What you can do

  • Create up to 10 OAuth apps per user per rolling 24-hour period.
  • Register https production origins and http loopback bases for local development.
  • Automatic prefix matching for redirect URIs under each registered base.
  • Edit display name, description, redirect bases, and consent metadata after creation.
  • Delete apps that have no active user connections (disconnect users first if delete is blocked).
  • Power remote MCP clients and Connect with Triangle app integrations using OAuth 2.1 + PKCE.

Troubleshooting

Redirect URI mismatch or invalid redirect_uri

Confirm the callback URL your client sends is under a registered base (same protocol and port; loopback host aliases are allowed). Paths must extend the base as a path segment — for example /callbacks/foo does not match a base ending in /callback.

unauthorized_client or Application unavailable at consent

The OAuth app may be suspended by Triangle. Contact support if you did not suspend it yourself. Otherwise verify the Client ID matches the app in your developer portal.

Cannot delete my app

Deletion is blocked while users still have an active connection (oauth_app_installs). Ask connected users to disconnect from Settings → AI Services, or contact Triangle to suspend the client.

Do I use the developer portal for Claude or ChatGPT?

Claude Science uses a public OAuth app you create in the developer portal (Client ID only). Perplexity and LM Studio use a confidential app (Client ID and Client Secret). Claude web, ChatGPT, and Grok use dynamic client registration and do not require the developer portal — see each platform setup guide. For your own product’s Connect with Triangle button, always use the developer portal.

Building a Connect with Triangle button?

Yes — create the OAuth app here, then follow the Connect with Triangle guide for authorize URL construction, PKCE, token exchange, and how to call MCP until the public HTTP API documentation ships.