Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Anaplan MCPlist all models in the 'Finance' workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Anaplan MCP
A Model Context Protocol (MCP) server that connects AI assistants to Anaplan's Integration API v2. Gives LLMs like Claude direct access to browse Anaplan workspaces, read and write model data, run imports/exports, and manage list items — all through 25 structured tools.
Built in TypeScript. Runs over stdio. Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
What It Does
Anaplan MCP bridges the gap between conversational AI and Anaplan's planning platform. Instead of manually navigating the Anaplan UI or writing API scripts, you can ask your AI assistant to:
Explore model structure — browse workspaces, models, modules, line items, views, and lists to understand how a model is built
Read and write cell data — pull data from module views or push values to specific cells through the transactional API
Run bulk operations — trigger imports, exports, processes, and delete actions, with automatic task polling until completion
Manage files — upload CSV/text data to Anaplan files or download file contents
Manage lists — add, update, or delete list items programmatically
All operations go through Anaplan's official Integration API v2 with proper authentication, automatic token refresh, and retry logic for rate limits and transient failures.
Setup
1. Clone and build
2. Configure your MCP client
Add the following to your MCP client config. The file location depends on your client:
Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)Claude Code:
~/.claude/mcp_settings.jsonor runclaude mcp addCursor: Settings > MCP Servers
Replace /absolute/path/to/anaplan-mcp with the actual path where you cloned the repo.
3. Restart your MCP client
Restart Claude Desktop, Claude Code, or Cursor to pick up the new server. The 25 Anaplan tools should now be available.
Authentication
Three methods supported, auto-detected from environment variables. If multiple are configured, the highest priority method wins.
Method | Env Vars | Priority |
Certificate |
| Highest |
OAuth2 (Device Grant) |
| Medium |
Basic |
| Lowest |
How Auth Works
Basic — sends base64 credentials to Anaplan's auth endpoint, receives a session token
Certificate — reads your PEM certificate and private key, signs a random challenge with SHA512, authenticates via the CACertificate flow
OAuth2 Device Grant — initiates a device code flow, prints a URL and code to stderr for the user to authorize, then polls for an access token
All methods produce a token that is cached in memory and automatically refreshed 5 minutes before the 35-minute expiry. You never need to manage tokens yourself.
Available Tools
Model Exploration (13 tools)
Navigate the Anaplan model hierarchy to understand structure before working with data.
Tool | Description |
| List all accessible workspaces |
| List models in a workspace |
| Get model details including status and memory usage |
| List modules in a model |
| Get module details with dimensions |
| List line items in a module |
| List saved views in a module |
| List all lists in a model |
| Get items in a list |
| List available import actions |
| List available export actions |
| List available processes |
| List files in a model |
Bulk Data Operations (7 tools)
Execute Anaplan actions that move data in and out of models. Import and export actions are polled automatically — the tool waits for the action to complete and returns the result.
Tool | Description |
| Execute an export action and return the exported data |
| Upload data to a file, then execute an import action |
| Execute a process (chained sequence of actions) |
| Execute a delete action to remove data from a module |
| Upload CSV or text data to an Anaplan file (chunked for large files) |
| Download file content from a model |
| Check the status of a running action by task ID |
Transactional Operations (5 tools)
Read and write individual cells or manage list membership through Anaplan's transactional API. Responses larger than 50,000 characters are automatically flagged with a truncation notice.
Tool | Description |
| Read cell data from a module view |
| Write values to specific cells in a module |
| Add new items to a list |
| Update properties of existing list items |
| Remove items from a list |
Architecture
Three layers:
Auth layer — pluggable providers behind a common
AuthProviderinterface. TheAuthManagerselects the right provider from env vars and handles token lifecycle.API layer —
AnaplanClienthandles all HTTP communication with the Anaplan API (https://api.anaplan.com/2/0/). Retries 429s (respectsRetry-Afterheader) and 5xx errors up to 3 times with exponential backoff. Domain wrappers (WorkspacesApi,ModelsApi, etc.) provide typed methods for each endpoint.Tools layer — registers MCP tools on the server with zod schemas for input validation. Each tool delegates to the appropriate API wrapper and returns JSON results.
Development
License
Unlicensed. All rights reserved.