Skip to main content

Installation

This page covers the local install: running the Bolti MCP (Model Context Protocol) server on your machine with a Personal Access Token.

Prefer a one-URL setup?

If your client supports remote connectors (for example Claude web and desktop), you can skip the local install entirely and add Bolti with a single URL and browser sign-in. See Remote Connector. Both paths expose the same tools.

The Bolti server is published to npm as @bolti/mcp. It runs as a standard stdio process, so any MCP-aware client can launch it with a single command. You need Node.js 18 or newer, and a Bolti Personal Access Token (PAT) that starts with mcp_.

Get a token first

Every install below needs a Personal Access Token. Create one in the Bolti dashboard under profile (bottom-left of the sidebar) -> Access Tokens -> Create Token. It is shown only once, so copy it immediately. See Personal Access Tokens for the full walkthrough.

The run command

The server always runs the same way:

npx -y @bolti/mcp

npx downloads and runs the latest @bolti/mcp without a global install. The -y flag skips the install prompt. The server reads its configuration from environment variables (see Configuration below); the only one you usually need is BOLTI_API_TOKEN.

Claude Code

Add the server with a single command. Replace mcp_YOUR_TOKEN with your real token:

claude mcp add bolti --env BOLTI_API_TOKEN=mcp_YOUR_TOKEN -- npx -y @bolti/mcp

Restart Claude Code (or start a new session) and the bolti tools become available in chat.

Cursor

You have two options.

Paste this URL into your browser's address bar and confirm the install in Cursor. Then edit the created config to swap mcp_YOUR_TOKEN for your real token:

cursor://anysphere.cursor-deeplink/mcp/install?name=bolti&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImJvbHRpLW1jcCJdLCJlbnYiOnsiQk9MVElfQVBJX1RPS0VOIjoibWNwX1lPVVJfVE9LRU4ifX0=

Manual JSON (Cursor)

Add the block below to ~/.cursor/mcp.json for all projects, or to a project-local .cursor/mcp.json to scope it to one repository:

{
"mcpServers": {
"bolti": {
"command": "npx",
"args": ["-y", "@bolti/mcp"],
"env": { "BOLTI_API_TOKEN": "mcp_YOUR_TOKEN" }
}
}
}

Reload Cursor after saving.

Claude Desktop

Add the same mcpServers block to your claude_desktop_config.json:

{
"mcpServers": {
"bolti": {
"command": "npx",
"args": ["-y", "@bolti/mcp"],
"env": { "BOLTI_API_TOKEN": "mcp_YOUR_TOKEN" }
}
}
}

Restart Claude Desktop after saving.

Any other MCP client

The server speaks the standard MCP stdio transport. Configure your client to launch:

npx -y @bolti/mcp

with BOLTI_API_TOKEN set in the process environment. That is all any compliant client needs.

Configuration

All settings are environment variables. Only BOLTI_API_TOKEN is required (unless you authenticate at runtime with the login_with_token tool).

VariableDefaultPurpose
BOLTI_API_TOKEN(none)Your Personal Access Token, starting with mcp_. Required unless you use login_with_token.
BOLTI_API_BASE_URLhttps://api.bolti.co.inBackend the server talks to. Override only for self-hosted or staging environments.
BOLTI_TOOL_TIMEOUT_MS15000Per-tool timeout for requests to the Bolti backend, in milliseconds.
BOLTI_MAX_PAGE_SIZE100Upper cap on page size for paginated list tools.
BOLTI_DEFAULT_PAGE_SIZE20Default page size when a list tool is called without one.
Legacy variable names

Earlier releases used MCP_* names such as MCP_AUTH_MODE and MCP_BOOTSTRAP_TOKEN. Those two are removed. The remaining MCP_* names still work as fallbacks, but you should configure the BOLTI_* names shown above.

Verify the install

Once the server is connected, run these three tools from chat in order:

  1. system_health - reports the server version and confirms the Bolti backend is reachable.
  2. whoami - confirms your token authenticated and shows which user and workspace you are acting as.
  3. agents_list - provide workspace_id when your token can access multiple workspaces and no default workspace is configured.

If all three succeed, you are ready to go.

If something fails

A system_health failure usually means Node cannot reach the backend (check BOLTI_API_BASE_URL and your network). A whoami failure means the token is missing, malformed, or revoked - re-check BOLTI_API_TOKEN. See Personal Access Tokens to mint a fresh one.

Where to go next

If you want to...Read
Understand tokens, scopes, and expiryPersonal Access Tokens
See every tool the server exposesAvailable Tools
Get inspired with concrete promptsUse Cases