Presage Technologies

Coherence MCP: Getting Started

Connect an eligible AI client to your Coherence account to read and manage your organization's programs and activity configuration.

What it does

Coherence by Presage Tech organizes programs and activity templates. The Coherence MCP server lets an AI client read and manage this configuration on your behalf, using your own Coherence sign-in and organization permissions. It supports template and program configuration, not participant records or measurement results. The client can:

The MCP connector exposes no device or capture tools. Each read and change is checked by Coherence against your role in the selected organization.

Example prompts

Which Coherence organizations am I a member of, and which one is currently selected?

Claude calls list_organizations and reports each membership with its status.

List the active programs in my Acme Research organization and summarize what each one asks participants to do.

Claude calls list_organizations to find the organization, then list_programs and get_program for each program.

Create a private program in Acme Research called "Welcome guide" with a short introduction and two activity templates.

Claude calls get_activity_authoring_capabilities to load the builder schema, then create_program. Requires a role that can create programs (see Prerequisites).

Prerequisites

Setup

Server URL:

https://coherence.presagetech.com/mcp

The connector signs you in with OAuth 2.1 (authorization code with PKCE). You sign in on the Coherence page, and the AI client receives access under your Coherence account and permissions. The consent screen covers reading and changing program and activity configuration. There is no API key to copy.

ChatGPT (after production activation)

ChatGPT setup will work after Presage enables the ChatGPT client metadata host on the production server. Until Presage announces activation, the production server will reject ChatGPT's OAuth client metadata.
  1. Use ChatGPT on the web with a plan and workspace that allow custom MCP apps. A workspace administrator or authorized developer may need to enable developer mode.
  2. In ChatGPT, create a custom MCP server and enter https://coherence.presagetech.com/mcp as the server URL.
  3. Select OAuth authentication and follow ChatGPT's client metadata setup. Do not enter a static client ID or client secret. Use the callback and client metadata URL shown by ChatGPT if your workspace requests them.
  4. Sign in with the Coherence account that has the organization access you need. Review the consent for reading and changing program and activity configuration.

See OpenAI's custom MCP server guide for current ChatGPT workspace and connector steps. Full read and write MCP support depends on the ChatGPT plan and workspace settings.

Claude (web, desktop and mobile): from the connector directory

  1. Open Settings → Connectors and select Browse connectors.
  2. Find Coherence and select Connect.
  3. Sign in with your Coherence account on the page that opens.
  4. You return to Claude with the connector enabled. Enable it in a chat from the tools menu.

Claude: as a custom connector

Use this if the directory listing is not available in your workspace.

  1. Open Settings → Connectors and select Add custom connector.
  2. Name: Coherence. URL: https://coherence.presagetech.com/mcp.
  3. Open Advanced settings and set OAuth Client ID to coherence-mcp. Leave OAuth Client Secret empty.
  4. Select Add, then Connect, and sign in with your Coherence account.

The client ID is required: Coherence does not support dynamic client registration, so a connector added without coherence-mcp fails at sign-in. On Team and Enterprise plans, an owner adds the custom connector for the organization first.

Claude Code

claude mcp add-json --scope user coherence \
  '{"type":"http","url":"https://coherence.presagetech.com/mcp","oauth":{"clientId":"coherence-mcp","callbackPort":6274}}'

Then run /mcp in Claude Code, select coherence and choose Authenticate. A browser window opens for sign-in and returns to http://localhost:6274/callback. Any free port works for callbackPort. The clientId setting is required for the same reason as above.

Disconnecting

Remove or disconnect the connector in Claude's connector settings (or run claude mcp remove coherence). Signing out of Coherence on the web ends your Coherence session.

Tool reference

The server exposes 10 tools. Every program and activity tool needs an explicit organizationId; the server never guesses an organization from your current selection. Run list_organizations first.

ToolReads or changesNotes and restrictions
list_organizationsReadsYour memberships. status is the membership state; isActive marks only your currently selected organization.
list_programsReadsPrograms in one organization that your role can see.
get_programReadsOne program, including its embedded activities.
create_programChangesCreates a program. Owner, admin or program specialist role required.
update_programChangesUpdates a program. Omitted fields are kept. Sending activities replaces the whole list. isActive: false deactivates the program; nothing is deleted.
list_activitiesReadsStandalone activity templates in the organization's library. Activities inside programs are read with get_program.
get_activityReadsOne activity.
create_activityChangesCreates a standalone activity template. Presage platform administrators only.
update_activityChangesUpdates a standalone activity template. Presage platform administrators only. isActive: false deactivates; nothing is deleted.
get_activity_authoring_capabilitiesReadsThe current activity-builder schema. Read this before creating or updating activity configuration.

There are no delete tools. The connector cannot change memberships, roles or invitations.

Data and privacy

When you use the connector, the AI client may receive or submit:

This connector is intended for non-patient program and activity templates. Do not enter patient names, patient-specific details, health measurements, or other protected health information (PHI) in program or activity configuration. The MCP tools do not expose participant records, devices, captures, or vital-sign results. Every request is checked against your Coherence permissions.

The server stores OAuth grant state and encrypted platform-session credentials to support authorization. Rotating refresh tokens let supported clients renew access after short-lived access tokens expire, including across overnight pauses. The sign-in session has a 30-day maximum lifetime; after it expires, sign in again. Data sent to the AI client is handled under that provider's terms and privacy settings.

Troubleshooting

Sign-in fails

invalid_client, or sign-in fails right after you connect
The OAuth Client ID is missing or wrong. Set it to exactly coherence-mcp with no secret. In Claude Code, add "clientId": "coherence-mcp" to the oauth block.
Redirect URI not allowed (Claude Code)
Claude Code must call back to http://localhost:<port>/callback. 127.0.0.1 and custom callback paths are rejected.
The sign-in page loops or reports an expired request
A sign-in request is valid for 10 minutes and each code works once. Close the window and connect again.
You sign in, but with the wrong account
Sign out at coherence.presagetech.com, then reconnect. The connector reuses your browser's Coherence session.
ChatGPT reports that the MCP server cannot be added
ChatGPT support is not active until Presage enables the chatgpt.com client metadata host on production. After activation, follow ChatGPT's current custom MCP setup prompts and use the exact callback and metadata URL it shows.
Other AI clients
OAuth client registration must be supported by Coherence as a built-in client or an approved client metadata host. Dynamic client registration is not available.

An organization is missing

Permission errors

Error results do not include internal request identifiers. Contact support with the tool name, error code and time of the failure. Do not send access tokens, patient information or program content.

Support

Email support@presagetech.com. Include the tool name, error code and time of the failure. Do not send access tokens, PHI or program content.