Connecting a Client
Add the VitalSentinel MCP server to Claude, ChatGPT, Cursor, Claude Code, VS Code, or any other MCP-capable client.
One URL, and a browser sign-in:
https://mcp.vitalsentinel.com/mcpMost clients handle the rest. You paste the URL, the client discovers the authorization server, opens a browser tab, you approve the connection, and the tools appear.
Before you start
- You need a VitalSentinel account with at least one domain being monitored.
- The connection reaches only the workspaces you select on the consent screen.
- A connection made this way is not read-only. The consent screen requests read, write, and run scopes together, so review it before approving. For a narrower connection, see Option B.
Option A: connect with your account (recommended)
This is the OAuth 2.1 flow. No secret is ever stored in a configuration file.
Claude
Claude supports remote MCP servers as custom connectors on the web, desktop, and mobile apps.
- Open Settings, then Connectors.
- Choose Add custom connector.
- Name it
VitalSentineland paste the URL:https://mcp.vitalsentinel.com/mcp - Save, then click Connect on the new connector.
- A VitalSentinel sign-in page opens. Sign in if you are not already.
- On the consent screen, choose which workspaces to grant access to, review the permissions, and approve.
The connector shows as connected, and VitalSentinel tools become available in your conversations.
Custom connectors are available on paid Claude plans. Menu names shift between releases; look for "Connectors", "Custom connectors", or "MCP servers" in Settings.
Claude Code
claude mcp add --transport http vitalsentinel https://mcp.vitalsentinel.com/mcpThen run /mcp inside Claude Code and follow the authentication prompt. It opens a browser for the same consent flow.
ChatGPT
ChatGPT supports remote MCP servers as custom connectors on paid plans.
- Open Settings, then Connectors.
- Choose to add a custom connector, enabling developer mode first if your account requires it.
- Name it
VitalSentineland pastehttps://mcp.vitalsentinel.com/mcpas the MCP server URL. - Choose OAuth authentication, then complete the browser sign-in and approve the workspaces.
Once connected, enable the connector in a conversation to make the tools available.
Connector support varies by ChatGPT plan and rolls out gradually. If you cannot find custom connectors in Settings, your plan may not include them yet.
Cursor
Add the server to ~/.cursor/mcp.json for all projects, or .cursor/mcp.json inside one project:
{
"mcpServers": {
"vitalsentinel": {
"url": "https://mcp.vitalsentinel.com/mcp"
}
}
}Restart Cursor. Open Settings, then MCP, and click to authenticate. A browser opens for the consent flow.
VS Code
Add .vscode/mcp.json to your workspace:
{
"servers": {
"vitalsentinel": {
"type": "http",
"url": "https://mcp.vitalsentinel.com/mcp"
}
}
}Start the server from the editor and complete the browser sign-in when prompted.
Any other MCP client
The server implements the standard remote MCP contract, so a spec-compliant client needs nothing bespoke:
| Property | Value |
|---|---|
| Endpoint | https://mcp.vitalsentinel.com/mcp |
| Transport | Streamable HTTP (POST for requests, GET for the server-to-client stream, DELETE to end a session) |
| Authorization | Authorization: Bearer <token> |
| Discovery | GET https://mcp.vitalsentinel.com/.well-known/oauth-protected-resource (RFC 9728) |
| Authorization server | Advertised in that document, and in the WWW-Authenticate header on any 401 |
| Resource identifier | https://mcp.vitalsentinel.com |
If you are implementing the flow by hand, see Authentication. The one detail that catches people out is the resource parameter: it must be https://mcp.vitalsentinel.com for a token used here. A token minted for the REST API is rejected with a 401. The reverse is not true, so an MCP token also works against the REST API. See Resource binding.
Option B: connect with an API key
Use this when you want an assistant that can change things, not just read them, or when you are connecting from an automated context where a browser flow is impractical.
- Create an API key in the dashboard under Settings → API access. See Quick start.
- Grant the scopes matching the tools you want. Every
write:orrun:scope you grant makes the corresponding tools visible. - Configure your client to send the key as a bearer token.
{
"mcpServers": {
"vitalsentinel": {
"url": "https://mcp.vitalsentinel.com/mcp",
"headers": {
"Authorization": "Bearer vsk_live_your_key_here"
}
}
}
}The exact configuration shape depends on your client; the header is what matters.
An API key is a long-lived secret in a configuration file. Keep it out of version control, scope it to the minimum the assistant needs, and set an expiry. If you only need reading, use Option A instead: it stores no secret anywhere.
An API key reaches exactly one workspace. For several workspaces, use the OAuth flow, which can span every workspace you select at consent.
Confirming it worked
Ask the assistant:
List my VitalSentinel workspaces and domains.
That calls list_workspaces and list_domains, the two cheapest tools. Both are free of credit cost, so it is a safe smoke test.
Then try something real:
Give me a health snapshot for example.com.
Which tools you will see
The tool list is built once per connection, from what your credential can actually do:
| Credential | Tools available |
|---|---|
| OAuth connection (browser sign-in) | All 70, once you approve the scopes the consent screen requests |
| API key with read scopes only | The read tools matching those scopes |
API key with write: and run: scopes | Read tools, plus the matching write and run tools |
A tool you cannot use is not shown, rather than shown and failing. If a tool you expected is missing, the credential does not carry the scope, or the creator's workspace role strips it. Ask the assistant to call get_credit_balance, or check GET /me on the API, to see your effective scopes.
Reconnecting
Sessions are held in memory and are not persisted across restarts. If the server restarts, your client reconnects and re-authenticates transparently. You will not usually notice.
Access tokens last 60 minutes and refresh automatically. You only sign in again if you revoke the connection or leave it unused past the 90-day refresh window.
Disconnecting
In VitalSentinel: go to Settings → Connected apps. Every app you have connected is listed with the workspaces it reaches. Revoking is immediate and kills tokens already issued, not just future refreshes.
In your client: remove the connector or the configuration entry. Do both if you want the grant gone as well as the client entry.