Exponential MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Exponential MCP
Connect Claude to your Exponential workspace. Manage projects, actions, and OKRs directly from Claude.
Quick Start
1. Create an Agent
Open exponential.im/settings/agents/new:
Name the agent after the app it will run in (for example "Claude")
Pick the workspaces it may work in
Click Create agent and copy the key (
exp_agent_…) — it is shown once
The agent is its own identity: what Claude does in Exponential is attributed to it, not to you.
2. Set Up the MCP Server
npx exponential-mcp initPaste the agent key when prompted.
3. Configure for Your Claude Client
For Claude Desktop:
exponential-mcp initwill automatically configure Claude DesktopRestart Claude Desktop
For Claude Code (VSCode Extension):
The server uses
.mcp.jsonin your project directoryReload your VSCode window (
Cmd+Shift+P→ "Developer: Reload Window")The server will be available in your current project
4. Ask Claude to manage your tasks!
Related MCP server: Todoist Meeting MCP
One Key per App
init saves one key that every app on the machine shares. To give each app its own identity, create a separate agent per app and set its key in that app's MCP config. EXPONENTIAL_API_KEY overrides the key saved by init.
Claude Code:
claude mcp add exponential -e EXPONENTIAL_API_KEY=<key> -- npx -y exponential-mcp serveCodex (~/.codex/config.toml):
[mcp_servers.exponential]
command = "npx"
args = ["-y", "exponential-mcp", "serve"]
env = { EXPONENTIAL_API_KEY = "<key>" }Claude Desktop or .mcp.json: add "env": { "EXPONENTIAL_API_KEY": "<key>" } to the exponential entry.
Restart the app afterwards. Re-running init rewrites Claude Desktop's entry, including its env.
What Claude Can Do
Once connected, Claude can:
List projects – "What projects am I working on?"
View actions – "Show my active tasks"
Create actions – "Add a task to call John tomorrow"
Complete actions – "Mark the report task as done"
View OKRs – "What are my Q1 goals?"
Search – "Find anything related to Kenya"
Work the CRM – "Log that I emailed Keily today" / "Move the Onionpress deal to Proposal"
Run the product backlog – tickets, features, epics, stories, pages and decisions
Track time – log, confirm and report on the day
Manual Setup
For Claude Desktop
macOS (recommended path): ~/Library/Application Support/Claude/claude_desktop_config.json
Legacy path: ~/.claude/claude_desktop_config.json
Add this to the appropriate file:
{
"mcpServers": {
"exponential": {
"command": "/absolute/path/to/node",
"args": ["/absolute/path/to/exponential-mcp/dist/index.js"]
}
}
}For Claude Code (VSCode Extension)
Create a .mcp.json file in your project directory:
{
"mcpServers": {
"exponential": {
"command": "npx",
"args": ["-y", "exponential-mcp", "serve"]
}
}
}Then reload your VSCode window.
Note: The key is stored in the Exponential SDK config store (created by npx exponential-mcp init), so you don't need to specify it in the MCP configuration unless the app needs its own key (see One Key per App). A personal JWT token from Settings → API keys also works, but then Claude acts as you. Run exponential-mcp config to see the current storage path and values. Run exponential-mcp doctor to print a recommended MCP config snippet for your machine.
Commands
# Initialize with an agent key
exponential-mcp init
# Show current config
exponential-mcp config
# Diagnose local setup
exponential-mcp doctor
# Start server manually (usually not needed)
exponential-mcp serveAvailable Tools
Tool | Description |
| List all workspaces |
| List projects (optionally by workspace) |
| One project in full: linked objectives & key results, DRI, team, dates |
| Rename, change status/priority, set dates, re-link to OKRs |
| List actions/tasks (filter by project or status; no date filtering) |
| What's on your plate now — overdue / today / inbox, across all workspaces |
| Why the overdue pile is that size: bulk-created cohorts vs real debt |
| Create a new task (supports natural language) |
| Rename, re-prioritise, move project, or set dates (incl. |
| Amnesty: clear dates, back to the project backlog untimed |
| Move actions to a new do-date |
| Mark an action as done |
| List objectives, flat or as the annual → quarterly tree |
| List key results, grouped by objective or flat |
| List meetings, newest first, with a summary preview (no notes/transcript) |
| One meeting with notes; transcript on request |
| Record a meeting from a transcript or notes |
| Edit title, description, summary, date, or replace notes |
| Add to a meeting's notes without overwriting them |
| Search across everything |
Domain tools
Alongside the tools above, every part of the Exponential SDK is exposed as one tool per domain, so the MCP server can do anything the SDK and CLI can:
actions · projects · workspaces · positions · goals · key_results · meetings ·
time · decisions · contacts · organizations · deals · products ·
features · scopes · requirements · areas · stories · epics ·
tickets · labels · pages · databases · comments
Each takes { operation, params }. The tool description lists every operation
with a one-line signature; operation: "describe" returns the full parameter
schema for one operation (params: { operation: "create" }) or all of them.
Invalid params come back as an error that includes the expected schema.
{ "operation": "add_interaction",
"params": { "contactId": "…", "type": "EMAIL", "direction": "OUTBOUND", "subject": "Intro" } }comments covers comments on actions, features, pages, goals and tickets — pass
target to choose which.
positions is a workspace's roles & responsibilities — the Positions on the
settings page: list, create, update, set_holders, delete, and import_many
(upsert by title, with a dry run). Writes need your own API key, not an agent
key, and owner/admin, except that a holder may edit their own Position's remit.
databases is the typed write path for tables inside pages (ADR-0078): a
database is a block in a page body and each row is a page. Values are typed
per property — a select takes an option name, a date an ISO string, a person
a user ID — and a wrong value is refused naming the property, so call get
first to learn the schema. Reading the page with pages shows the table.
Asking about the day
Use get_todays_actions, not get_actions, for anything about today,
priorities, or what the user is behind on. get_actions has no date filtering
at all, so it cannot distinguish overdue work from anything else.
When there is a lot of overdue work, follow up with get_overdue_triage
before proposing what to do. A large overdue count is usually a few bulk writes
— a generated project plan stamped every row with one timestamp — not a large
number of missed commitments. Those are cohorts, and the honest disposition
is defer_actions (amnesty); reschedule_actions would just re-inflict the
same pile tomorrow. Individually-dated loose actions are the ones that
deserve a real decision.
Development
# Clone the repo
git clone https://github.com/your-org/exponential-mcp
cd exponential-mcp
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm startLicense
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Create contacts, move deals, send proposals and invoices, read your inbox, from Claude or ChatGPT.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI-native task and project management through natural language conversation with Claude, eliminating app-switching by letting you add actions, manage projects across multiple areas of focus, and maintain a GTD-style execution system directly in chat.1-
- AlicenseAqualityDmaintenanceConnects Claude to Todoist for transforming meeting notes into actionable tasks with inferred due dates and priorities. It enables full task lifecycle management, including creating subtasks, listing projects, and completing tasks through natural language.7MIT
- AlicenseNot gradedqualityDmaintenanceConnect Claude directly to your MindBacklog workspace to read PRDs, user stories, and real-time customer signals.12 npmMIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude.ai to your Motion workspace, enabling task and project management via natural language.-