Basalt LogoBasalthelp
Getting Started
Projects
Tasks
Files
Team & Roles
Client Portal
Integrations
MCP
AI Features
Settings & Billing
Resources
Changelog
HelpMCP

MCP Integration

Connect AI coding assistants with one shared Basalt MCP URL.

Overview

What is MCP?

MCP (Model Context Protocol) is an open standard for connecting AI assistants to external data sources. Basalt exposes one shared remote MCP endpoint that AI tools — Codex, Claude Code, Cursor, VS Code, and others — can use to access your studio's live data directly.

Instead of manually copying project details into a chat, your AI assistant can query your projects, tasks, and notes on demand, and create or update records when you ask.

MCP URL

The Basalt MCP URL is https://basaltpms.com/api/mcp. It is the same for every studio and does not include company_id.

You can also open Settings → Integrations → MCP to copy the URL or a ready command/config for your client. Only users with the Admin or Owner role can authorize MCP access. When you connect an AI client for the first time, it opens a browser window for OAuth — sign in with your Basalt account, choose the studio, and approve the requested scopes.

Available Tools

Read Tools (mcp:read)

These tools are available with the mcp:read scope and provide read-only access to your studio data:

ToolDescription
searchFull-text search across projects, tasks, and notes
fetchRetrieve any resource by URL
list_projectsList studio projects with optional filters
get_projectGet full details for a project
list_todosList tasks with filters: status, priority, assignee
get_todoGet full details for a task, including subtasks
list_notesList studio notes
get_noteGet the content of a note

Write Tools (mcp:write)

These tools require the mcp:write scope and enforce the same role-based permissions as the Basalt UI. Delete operations are not exposed via MCP.

ToolDescription
create_todoCreate a task (manager+ role required)
update_todoUpdate a task (manager+ or author/assignee)
complete_todoMark a task as completed
create_projectCreate a project (manager+ role required)
update_projectUpdate project details (manager+ role required)
create_noteCreate a note
update_noteUpdate a note (owner or shared-edit permission)

Client Setup

Fast Setup from Basalt

The shared endpoint is https://basaltpms.com/api/mcp. The easiest path is to copy a ready command or config from Settings → Integrations → MCP; Basalt shows ready options for Codex, Claude Code, Cursor, and VS Code.

After the client connects, OAuth opens in the browser and asks which Basalt account and studio should be bound to that client.

Codex

Add Basalt once from the terminal:

codex mcp add basalt --url 'https://basaltpms.com/api/mcp'

If your Codex client asks for login separately, run codex mcp login basalt. OAuth opens in the browser and asks you to choose the Basalt account and studio.

Claude Code

Add Basalt as a user-scoped MCP server so it is available across all your projects:

claude mcp add --transport http basalt --scope user 'https://basaltpms.com/api/mcp'

Then run /mcp inside Claude Code to complete OAuth authentication and choose the studio.

Claude Desktop & Claude.ai

Use the Connectors UI — not the config file — for remote MCP servers:

  1. Open Customize → Connectors
  2. Click Add custom connector
  3. Paste the shared Basalt MCP URL
  4. Click Connect and complete OAuth in the browser

For organization plans, a workspace admin may need to allow custom connectors first.

Cursor

Add Basalt to your global Cursor MCP config at ~/.cursor/mcp.json:

{"mcpServers":{"basalt":{"url":"https://basaltpms.com/api/mcp"}}}

Then run the following command to authenticate, or add the same URL via Cursor Settings → MCP:

cursor-agent mcp login basalt

Windsurf

  1. Open Windsurf Settings → Cascade → MCP Servers → Add Server
  2. Select Streamable HTTP
  3. Paste the shared Basalt MCP URL
  4. Complete OAuth in the browser

VS Code / GitHub Copilot

  1. Open the Command Palette (Cmd/Ctrl+Shift+P)
  2. Run MCP: Add Server
  3. Choose Workspace or Global
  4. Paste the shared Basalt MCP URL and complete OAuth

Cline & Gemini CLI

Cline

cline mcp add basalt 'https://basaltpms.com/api/mcp' --type http

Gemini CLI

gemini mcp add -s user -t http basalt 'https://basaltpms.com/api/mcp'

Both clients prompt for OAuth when they first connect to the server.

Scopes & Security

Permission Scopes

When authorizing, choose the scope that matches your needs:

  • mcp:read — read-only: list and search projects, tasks, and notes
  • mcp:write — additionally allows creating and updating records (subject to your role in the studio)

Scopes cannot be expanded silently — re-authorization is required to gain additional permissions. Refresh tokens always reuse the original scope.

Revoking Access

To stop local access, remove or disconnect the Basalt MCP server inside the AI client.

Basalt also invalidates MCP access when a user leaves the studio or loses the required Admin/Owner role. Server-side revocation invalidates access tokens, refresh tokens, and authorization codes for the affected client; subsequent tool calls return a 401 error.

Rate Limits & Current Limitations

Rate limits:

  • Any tool call: 120 per minute per client and IP
  • Write tool calls: 30 per minute per user and IP

Current limitations:

  • One selected studio per issued token
  • No portal or finance tools
  • Delete operations are not supported
Previous
Integrations
Next
AI Features