Anaplan MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANAPLAN_PASSWORD | No | Anaplan password for basic authentication. | |
| ANAPLAN_USERNAME | No | Anaplan username (email address) for basic authentication. | |
| ANAPLAN_CLIENT_ID | No | OAuth2 Client ID for Device Grant authentication. | |
| ANAPLAN_CLIENT_SECRET | No | Optional OAuth2 Client Secret for Device Grant authentication. | |
| ANAPLAN_CERTIFICATE_PATH | No | Path to your PEM certificate for certificate-based authentication. | |
| ANAPLAN_PRIVATE_KEY_PATH | No | Path to your private key for certificate-based authentication. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| show_workspacesA | List all accessible Anaplan workspaces. Use tenantDetails=true for size/quota info. Start here, then use show_models. |
| show_modelsB | List models in a workspace. Filter by state param (PRODUCTION, UNLOCKED, etc). Use modelDetails=true for memory/dates. Use show_modules next. |
| show_modeldetailsC | Get model details including status and workspace binding. |
| show_modulesA | List all modules in a model. Use show_lineitems to see a module's line items, or show_savedviews to find views for read_cells. |
| show_moduledetailsA | Get module details with default view dimension metadata (rows, columns, pages). The default viewId equals the moduleId -- use it with read_cells directly. |
| show_lineitemsA | List line items in a module. Line item IDs are needed for write_cells. Use includeAll=true for formulas, formats, and dimensions. |
| show_savedviewsA | List saved views in a module. Use includeSubsidiaryViews=true for unsaved subsidiary views. View IDs needed for read_cells. Tip: moduleId works as default viewId. |
| show_listsA | List all dimensions (lists) in a model. List IDs are needed for get_list_items, add/update/delete_list_items, and large volume list reads. |
| get_list_itemsA | Get items in a list. Use includeAll=true for subsets, properties, and selective access details. Returns item IDs for write_cells. For >1M items, use create_list_readrequest. |
| show_importsA | List available import actions in a model. Use show_importdetails to see source file and mapping, then run_import to execute. |
| show_exportsA | List available export actions. Use run_export to execute and download data in one step. |
| show_processesB | List available processes (chained import/export actions). Use run_process to execute, then get_action_status to monitor. |
| show_filesA | List files in a model. File IDs are needed for upload_file (before run_import) and download_file. |
| show_actionsA | List available actions (including delete actions) in a model. Use run_delete to execute a delete action. |
| show_viewdetailsA | Get view dimension layout (rows, columns, pages). Dimension IDs from here are needed for write_cells and show_viewdimensionitems. |
| show_workspacedetailsA | Get workspace details including size and active status. |
| show_allmodelsA | List all models across all workspaces. Filter by state param (PRODUCTION, UNLOCKED, etc). Use modelDetails=true for memory/dates. Returns IDs needed by ID-only tools. |
| show_modelstatusA | Check model status including memory usage and export progress. |
| show_listmetadataB | Get list metadata including properties, parent, and item count. |
| show_importdetailsA | Get import definition metadata including source file and column mapping. Check this before run_import to understand the expected data format. |
| show_exportdetailsC | Get export definition metadata including format and target. |
| show_processdetailsA | Get process definition metadata including the chain of import/export actions. |
| show_actiondetailsA | Get action definition metadata. Use run_delete to execute delete actions. |
| show_allviewsA | List all views in a model (cross-module, includes default and saved). Note: requires model ID (name resolution not supported). |
| show_alllineitemsA | List all line items in a model (cross-module). Note: requires model ID (name resolution not supported). Use includeAll=true for formulas and dimensions. |
| show_lineitem_dimensionsA | List dimensions for a line item. Returns dimensionId values needed by write_cells and show_dimensionitems. Note: requires model ID (name resolution not supported). |
| show_dimensionitemsA | List all items in a dimension. Returns itemId values needed for write_cells dimension coordinates. Note: requires model ID (name resolution not supported). |
| show_viewdimensionitemsB | List items in a dimension as filtered by a view. Useful for understanding what data a view includes. Note: requires model ID (name resolution not supported). |
| lookup_dimensionitemsA | Look up dimension items by name or code to get their IDs. Useful for resolving human-readable names to itemIds before write_cells. |
| show_lineitem_dimensions_itemsA | List dimension items for a specific line item's dimension. Combines show_lineitem_dimensions + show_dimensionitems in one call. Note: requires model ID (name resolution not supported). |
| show_currentperiodA | Get current period for a model. Use set_currentperiod to change it. |
| show_modelcalendarA | Get model calendar including fiscal year settings. Use set_fiscalyear to change the fiscal year. |
| show_versionsA | List version metadata (Current, Forecast, etc.) for a model. Version IDs are needed for set_versionswitchover. Note: requires model ID (name resolution not supported). |
| show_currentuserA | Get current authenticated user info |
| show_usersB | List all users in the tenant |
| show_userdetailsB | Get user details by ID |
| show_tasksA | List task history for an import, export, process, or action. Returns taskIds for use with get_action_status, cancel_task, or download_importdump/download_processdump. |
| run_exportA | Execute an export and return the data inline. Best for bulk reports across all products/customers/regions -- prefer this over calling read_cells in a loop. Handles the full run-wait-download lifecycle. Use show_exports first. |
| run_importA | Upload CSV/JSON data to a file, then execute an import action. Use mappingParameters to target a specific dimension (e.g., import into 'Actual' version). Prerequisites: show_imports for importId, show_files for fileId. Check results with get_action_status; download_importdump for failures. |
| run_processA | Execute a process (chain of imports/exports/deletes). Use mappingParameters to target a specific dimension at runtime. Use show_processes first. Monitor with get_action_status; download_processdump for failures. |
| run_deleteA | Execute a delete action on a model. Use show_actions first to find the delete action ID. |
| upload_fileA | Upload CSV or text data to an Anaplan file (overwrites existing). Use compress=true for large files (>50MB). Typically followed by run_import. Use show_files for fileId. |
| download_fileA | Download file content from a model. Text files are returned inline; for binary files, set saveToDownloads=true to preserve the exact bytes. |
| delete_fileA | Delete a file from a model (WARNING: irreversible). Use show_files to find the fileId. |
| get_action_statusA | Check status of a running task. Poll until taskState is COMPLETE or FAILED. Use includeProcessDetails=true for step timing. taskId from run_* response. |
| close_modelA | Close (archive) a model. Requires workspace admin. Must be closed before bulk_delete_models. |
| open_modelA | Open (wake up) a model. May return 202 if model is loading. |
| bulk_delete_modelsA | Bulk delete closed models (WARNING: irreversible). Models must be closed first. |
| set_currentperiodA | Set current period for a model (WARNING: may cause data loss if periods are removed). Use show_currentperiod to see the current value first. |
| set_fiscalyearA | Update fiscal year for model calendar (WARNING: may affect time ranges). Use show_modelcalendar to see the current value first. |
| set_versionswitchoverA | Set version switchover date (WARNING: affects version boundaries). Use show_versions to find versionId. Note: requires model ID (name resolution not supported). |
| download_importdumpA | Download error details from a failed import task as CSV. Data is ephemeral (~48 hours). Prerequisites: importId from show_imports, taskId from run_import response or show_tasks. |
| download_processdumpA | Download error details from a failed process task as CSV. Data is ephemeral (~48 hours). Prerequisites: processId from show_processes, taskId from run_process response, objectId from the failed step. |
| cancel_taskA | Cancel a running task. taskId comes from the run_* response or show_tasks. |
| create_view_readrequestA | Start a large volume view read (for views too large for read_cells). Lifecycle: create -> poll with get_view_readrequest -> download pages with get_view_readrequest_page -> cleanup with delete_view_readrequest. |
| get_view_readrequestA | Poll status of a large volume view read. When status is COMPLETE, use get_view_readrequest_page to download each page (0-based). requestId comes from create_view_readrequest response. |
| get_view_readrequest_pageA | Download one page (CSV) from a completed large volume view read. Pages are 0-based. After downloading all pages, use delete_view_readrequest to free server resources. |
| delete_view_readrequestA | Delete a large volume view read request to free server resources. Always call this after downloading all pages. |
| preview_listA | Preview up to 1000 records from a large list (CSV) before initiating a full large read request |
| create_list_readrequestA | Start a large volume list read (for lists too large for get_list_items). Lifecycle: create -> poll with get_list_readrequest -> download pages with get_list_readrequest_page -> cleanup with delete_list_readrequest. |
| get_list_readrequestA | Poll status of a large volume list read. When status is COMPLETE, use get_list_readrequest_page to download each page. requestId comes from create_list_readrequest response. |
| get_list_readrequest_pageA | Download one page (CSV) from a completed large volume list read. Pages are 0-based. After all pages, use delete_list_readrequest. |
| delete_list_readrequestA | Delete a large volume list read request to free server resources. Always call this after downloading all pages. |
| reset_list_indexB | Reset list item index numbering. Note: requires model ID and list ID (name resolution not supported for this tool). |
| download_optimizer_logA | Download Optimizer solver log for a completed optimizer action. Logs are removed after 48 hours. |
| read_cellsA | Read cell data from a module view. Use pages param to select specific page dimensions. For reports across ALL products/customers, use run_export instead -- do NOT call read_cells in a loop per item. viewId can be a saved view or moduleId (default). For >1M cells, use create_view_readrequest. |
| write_cellsA | Write values to specific cells. Supports both ID-based and name-based targeting: use lineItemName/dimensionName/itemName instead of IDs to skip the dimension resolution chain. For ID-based writes, use show_lineitem_dimensions then show_dimensionitems. |
| add_list_itemsA | Add new items to a list. Supports parent (hierarchy placement) and subsets (subset membership). Use show_lists to find listId. Item names must be unique. |
| update_list_itemsA | Update existing items in a list. Use get_list_items to find item IDs. Important: if an item has a code value, you must include the code field in the update or Anaplan returns an error. |
| delete_list_itemsA | Remove items from a list (WARNING: irreversible). Specify id or code for each item. Use get_list_items to find values. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| orchestration-guide | Complete guide to Anaplan MCP tool workflows, prerequisites, and orchestration patterns. Read this first. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/larasrinath/anaplan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server