使用说明
Exponential MCP
Connect Claude to your Exponential workspace. Manage projects, actions, and OKRs directly from Claude.
Quick Start
1. Create an API Key
Go to exponential.im/settings/api-keys and create a new key:
- Click Create API Key
- Select JWT Token as the token type
- Copy the generated key
2. Set Up the MCP Server
npx exponential-mcp init
Paste your API key when prompted.
3. Configure for Your Claude Client
For Claude Desktop:
exponential-mcp initwill automatically configure Claude Desktop- Restart Claude Desktop
For Claude Code (VSCode Extension):
- The server uses
.mcp.jsonin your project directory - Reload 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!
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 API 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. 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 your API key
exponential-mcp init
# Show current config
exponential-mcp config
# Diagnose local setup
exponential-mcp doctor
# Start server manually (usually not needed)
exponential-mcp serve
Available Tools
| Tool | Description |
|---|---|
get_workspaces |
List all workspaces |
get_projects |
List projects (optionally by workspace) |
get_project |
One project in full: linked objectives & key results, DRI, team, dates |
update_project |
Rename, change status/priority, set dates, re-link to OKRs |
get_actions |
List actions/tasks (filter by project or status; no date filtering) |
get_todays_actions |
What's on your plate now — overdue / today / inbox, across all workspaces |
get_overdue_triage |
Why the overdue pile is that size: bulk-created cohorts vs real debt |
create_action |
Create a new task (supports natural language) |
update_action |
Rename, re-prioritise, move project, or set dates (incl. scheduledStart) |
defer_actions |
Amnesty: clear dates, back to the project backlog untimed |
reschedule_actions |
Move actions to a new do-date |
complete_action |
Mark an action as done |
get_goals |
List objectives, flat or as the annual → quarterly tree |
get_key_results |
List key results, grouped by objective or flat |
get_meetings |
List meetings, newest first, with a summary preview (no notes/transcript) |
get_meeting |
One meeting with notes; transcript on request |
create_meeting |
Record a meeting from a transcript or notes |
update_meeting |
Edit title, description, summary, date, or replace notes |
append_meeting_notes |
Add to a meeting's notes without overwriting them |
search |
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 · goals · key_results · meetings ·
time · decisions · contacts · organizations · deals · products ·
features · scopes · requirements · areas · stories · epics ·
tickets · labels · pages · 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.
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 start
License
MIT