Skip to main content

MCP Setup

Overview

The PointFive MCP server offers two transport options:

For optimal performance and reliability, use the HTTP transport endpoint unless your client specifically requires SSE.

Authentication

Method 1 — OAuth 2.1

The MCP server implements OAuth 2.1 with dynamic client registration. When you first interact with PointFive data through a configured client:

  1. Your default browser opens automatically.

  2. You see the PointFive authorization page — the same one you'd see at app.pointfive.com.

  3. Sign in with your regular PointFive credentials (SSO or email/password).

  4. Click "Authorize" to grant MCP access to your PointFive data.

  5. Return to your AI assistant. Authentication completes automatically and the session is cached locally.

OAuth tokens are scoped to your user and refreshed every 24 hours.

Method 2 — API Token

Use this method when OAuth isn't practical — for example, headless servers, scheduled jobs, or shared developer environments.

Step 1 — Generate a token

  1. Sign in to PointFive at app.pointfive.com.

  2. Open the Profile page page > API Token section.

  3. Click Generate token, give it a descriptive label (e.g. claude-desktop-laptop or ci-cost-bot), and choose an expiry that matches your security policy.

  4. Copy the token immediately — it's shown once and cannot be retrieved again.

Tokens inherit the role and permissions of the user who created them and are user-scoped, so any MCP activity will appear in audit logs against that user.

Step 2 — Pass the token to your MCP client

The token is sent as a Bearer token in the Authorization header.
There are two common ways to configure this depending on your client:

Option A — Direct HTTP client (Cursor, VS Code MCP, custom clients):

{
"mcpServers": {
"pointfive": {
"url": "https://mcp.pointfive.co/mcp",
"type": "http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}

Option B — Via mcp-remote (Claude Desktop, Windsurf, Zed, any stdio-based client):

{
"mcpServers": {
"pointfive": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.pointfive.co/mcp",
"--header",
"Authorization: Bearer ${POINTFIVE_API_TOKEN}"
],
"env": {
"POINTFIVE_API_TOKEN": "YOUR_API_TOKEN"
}
}
}
}

Storing the token as an environment variable (rather than inlining it into args) keeps it out of process listings and shell history.

Step 3 — Rotate and revoke

All active tokens are listed on the API Tokens page. You can revoke any token there at any time — revocation takes effect immediately and the MCP client will fall back to its next configured auth method (or fail to connect).

Client Configuration

Claude.ai

Requirements: Paid Anthropic plan (Team or Enterprise) or appropriate API access tier. Supports OAuth only.

  1. Sign in to claude.ai

  2. In the prompt box, select the Search and tools icon, and select Add connectors

  3. In Connectors, select Manage connectors

  4. In Connectors, select Add custom connector

  5. In Add custom connector, enter:

    • Name: PointFive (or a name that fits your usage)

    • Remote MCP server URL: https://mcp.pointfive.co/mcp

  6. Select Add

  7. Once the connector is added, select Connect to connect to the PointFive MCP server

  8. Complete the authorization in the PointFive authorization page that opens

  9. You can now open a new chat to start asking questions about your PointFive data.

Claude Desktop

Requirements: Claude Desktop app (Free or Pro). Supports OAuth and API token.

  1. Locate the configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add this configuration:

    OAuth (interactive):

{
"mcpServers": {
"pointfive": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.pointfive.co/mcp"]
}
}
}

API token:

{
"mcpServers": {
"pointfive": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.pointfive.co/mcp",
"--header",
"Authorization: Bearer ${POINTFIVE_API_TOKEN}"
],
"env": { "POINTFIVE_API_TOKEN": "YOUR_API_TOKEN" }
}
}
}

3. Restart Claude Desktop

Claude Code

Requirements: Claude Code CLI. Supports OAuth and API token.

OAuth:

claude mcp add --transport sse pointfive-server <https://mcp.pointfive.co/sse>

Run /mcp in your Claude Code session to complete authentication in your browser.

API token:

claude mcp add --transport http pointfive-server https://mcp.pointfive.co/mcp \
--header "Authorization: Bearer $POINTFIVE_API_TOKEN"

ChatGPT

Requirements: ChatGPT Plus or Pro with web app access. Supports OAuth only.

  1. Open ChatGPT → SettingsConnectors.

  2. Open Advanced settings and switch on Developer mode.

  3. Click Create in the Browse connectors section.

  4. Configure: Name = PointFive, Remote MCP server URL = https://mcp.pointfive.co/mcp. Click Add.

  5. Click Create to start auth → you'll be redirected to the PointFive authorization page → click Authorize.

  6. Return to Settings → Connectors to verify PointFive is listed under Enabled connectors.

Cursor

Requirements: Cursor IDE. Supports OAuth and API token.

Open Settings → Cascade → MCP serversAdd Server → Add custom server.

OAuth:

{
"mcpServers": {
"pointfive": {
"url": "https://mcp.pointfive.co/mcp",
"type": "http"
}
}
}

API token:

{
"mcpServers": {
"pointfive": {
"url": "https://mcp.pointfive.co/mcp",
"type": "http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}

Visual Studio Code

  1. Open the command palette with Ctrl/Cmd + P.

  2. Search for MCP: Add Server → select Command (stdio).

  3. For OAuth, enter: npx mcp-remote <https://mcp.pointfive.co/mcp>

  4. For API token, enter: npx mcp-remote <https://mcp.pointfive.co/mcp> --header "Authorization: Bearer YOUR_API_TOKEN"

  5. Name the server PointFive.

  6. Run MCP: List Servers, select PointFive, and click Start Server.

Windsurf

Requirements: Windsurf IDE. Supports OAuth and API token.

Open settings (Ctrl/Cmd + ,) → Cascade → MCP serversAdd Server → Add custom server.

OAuth:

{
"mcpServers": {
"pointfive": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.pointfive.co/mcp"]
}
}
}

API token:

{
"mcpServers": {
"pointfive": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.pointfive.co/mcp",
"--header",
"Authorization: Bearer ${POINTFIVE_API_TOKEN}"
],
"env": { "POINTFIVE_API_TOKEN": "YOUR_API_TOKEN" }
}
}
}

Other MCP Clients

For any other MCP-compatible tool:

  • Command: npx

  • Arguments (OAuth): -y mcp-remote <https://mcp.pointfive.co/mcp>

  • Arguments (API token): -y mcp-remote <https://mcp.pointfive.co/mcp> --header "Authorization: Bearer $POINTFIVE_API_TOKEN"

  • Environment variables: POINTFIVE_API_TOKEN (only when using API token auth)

Troubleshooting

OAuth — authentication loops or stale sessions

  • Clear saved auth info: rm -rf ~/.mcp-auth (in Terminal) and reconnect.

  • Verify you're signing in with the correct PointFive account.

  • Confirm your account has permission to access cloud cost data.

API token — 401 / Unauthorized

  • Confirm the token is pasted without surrounding quotes or whitespace.

  • Check that the token hasn't expired or been revoked on the Token management page.

  • Ensure the header is exactly Authorization: Bearer <token> — the Bearer prefix is required.

  • For environment-variable configs, verify the variable is actually set in the process that launches the MCP client (not just your shell).

Did this answer your question?