MCP Server
Connect Intempt to Claude, Cursor, Windsurf and other MCP hosts. Install, authenticate, and choose how much of the tool surface to expose.
MCP Server
The Intempt MCP server lets an AI assistant read and edit your Intempt project in plain language. It speaks the Model Context Protocol, so any MCP-capable host can use it.
It is published on npm as
@intempt-technologies/mcp.
What it can and cannot do
Read this before you plan an integration around it. The ceiling is deliberate, not a gap waiting to be filled.
| Reads your project | Yes. Segments, users, accounts, events, journeys, deals, analytics, brand assets |
| Edits one record at a time | Yes. 39 single-record edit tools |
| Creates anything | No. Not a single create tool is served |
| Sends messages or email | No. No send tool exists |
| Deletes | Yes, one record at a time, with no undo |
| Bulk operations | No |
Asked to create a segment or bulk-delete users, the honest answer is "use the console." There is no tool to approximate it with. See Limits for the full ceiling.
Install
npx -y @intempt-technologies/mcpMost hosts are configured to run that command for you rather than you running it directly. See Host setup for the exact config for Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Zed and Cline.
The binary name is intempt-mcp-server.
Authenticate
Two ways. Interactive is right for a desktop host, a static token is right for CI.
Interactive. Ask the assistant to log you in, and it runs the login tool.
It opens a browser, you sign in, and the token is stored locally.
Static token. Set INTEMPT_AUTH_TOKEN to a JWT. This skips the interactive
flow entirely, which is what you want in automation where no one is present to
click a browser prompt.
Scope it to an org and project
Every data call runs against one organization and one project. Set both:
export INTEMPT_ORG=your-org
export INTEMPT_PROJECT=your-projectIf your account belongs to exactly one of each, login resolves them for you and
you can skip this. Otherwise set them explicitly, or ask the assistant to switch
with the use_project tool.
Switching project changes what writes touch. The seven generate_* tools persist
a real record into whichever project is active, so confirm the scope before
generating into a project you just switched to.
How many tools you get
A fresh install serves 67 tools, not the full catalogue of 131. The surface is revealed in waves, so a new host is not handed everything on day one.
Seven waves are on by default: core, meetings, read, analytics,
meetings_ai, more_reads and more_reads_2. Every one of them is a read.
Together with the always-on session tools they make up the default 67. The two
waves that write are off until you ask for them:
| Wave | What it adds | On by default |
|---|---|---|
| Session (always on) | login, logout, whoami, list_orgs, list_projects, use_project | Yes |
| The seven read waves | Reads across segments, users, meetings, accounts, deals, events, journeys, analytics, dashboards and brand | Yes |
content | The 7 generate_* tools. Each writes a record into the active project | No |
write | Every remaining single-record edit, including the 10 delete tools | No |
| Full catalogue | 131 tools | No |
To change the set, set INTEMPT_MCP_TOOLS to a comma-separated list of wave
names, exact tool names, or all. The variable replaces the default list rather
than adding to it, so name every wave you want:
# everything
export INTEMPT_MCP_TOOLS=all
# the seven default waves plus content
export INTEMPT_MCP_TOOLS=core,meetings,read,analytics,meetings_ai,more_reads,more_reads_2,content
# only the read wave
export INTEMPT_MCP_TOOLS=readWaves are not equally proven. The read waves are partially verified against
production; content and write are less tested, and write includes the 10
deletes that have no undo. Tools lists what each wave
contains and how far each has been verified.
Environment variables
| Variable | Default | Description |
|---|---|---|
INTEMPT_ORG | Organization slug. Required | |
INTEMPT_PROJECT | Project slug. Required | |
INTEMPT_AUTH_TOKEN | Static JWT. Skips interactive login | |
INTEMPT_MCP_TOOLS | the seven default waves | Waves and tool names to enable, or all |
INTEMPT_API_URL | https://api.intempt.com | API gateway URL |
INTEMPT_AUTH_URL | same as INTEMPT_API_URL | Auth service URL. There is no separate auth.intempt.com host |
For remote mode over HTTP instead of stdio, see Host setup.
Natural language in, no IDs
Every tool takes names, emails and descriptions. You do not look up internal IDs and you do not pass them. Ask for "everything about sarah@acme.com" and the server resolves the address to a user itself.
One exception worth knowing: list_users and list_segment_users search
cannot match an email address. Any search term containing @ returns nothing,
so an empty result does not mean the person is absent. Both are default tools, so
you will hit this on a fresh install. It is a backend bug, not a usage error.
