Anaplan MCP
The Anaplan MCP server connects AI assistants to Anaplan's Integration API v2 through 68 structured tools, enabling natural language interaction with Anaplan workspaces and models.
Model Exploration
Browse workspaces, models, modules, line items, lists, views, dimensions, users, model calendar, and versions
Data Operations
Read cell data from module views and retrieve list items
Write values to specific module cells
Full CRUD operations on list items (add, update, delete)
Action Execution & Automation
Run imports, exports, processes, and delete actions
Monitor action status, download dump files for failed tasks, and cancel running tasks
File Management
Upload, download, and delete files within Anaplan models
Model Administration
Open, close, and bulk delete models
Set current period and fiscal year parameters
Large-Volume Data Handling
Create, retrieve, page through, and delete large-volume read requests for views and lists
Authentication & Compatibility
Supports basic auth, certificate auth, and OAuth2
Compatible with Claude Desktop, Claude Code, and any stdio-based MCP client
Claude Desktop prompts for tool approval before execution for safety
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
Unofficial MCP server for Anaplan
Setup guide: platform-aware install walkthrough for Windows, macOS, and Linux with OAuth2 / Certificate / Basic Auth options.
A Model Context Protocol (MCP) server that connects AI assistants to Anaplan's Integration API v2. Gives LLMs like Claude direct access to browse workspaces, manage data, run imports/exports, and administer models through 70 structured tools, using your existing Anaplan credentials and permissions.
Built in TypeScript. Supports both stdio (local) and Streamable HTTP (remote) transports. Works with Claude Desktop, Claude Code, claude.ai, and any MCP-compatible client. Includes a built-in orchestration guide that teaches the AI assistant the correct tool sequences for every workflow.
Why This Exists
Anaplan's Integration API is powerful but requires technical expertise to use directly. Most teams rely on a handful of model builders to navigate complex models, extract data, and run imports - creating bottlenecks when others need access to the same information.
This server wraps the API in 70 structured tools that AI assistants like Claude can call on your behalf. Explore models, pull data, run actions, and onboard new team members - all by asking in plain English instead of writing API calls or waiting for someone who knows the model.
For business users: Stop waiting for someone to pull data or explain how a model works. Ask Claude to show you the numbers, walk you through module structure, or run your regular imports.
For model builders and consultants: Analyze model structure, trace formula dependencies, review line item configurations, and identify performance issues - all through conversation instead of clicking through hundreds of modules manually.
For IT and platform teams: Standard API access using your existing authentication and permissions. No new credentials, no elevated access. Open source for auditability. Anaplan data is processed by your AI assistant - locally or through your provider's environment depending on your setup.
Related MCP server: Equinix Fabric MCP
Common Use Cases
Model Documentation:
"Show me the structure of the Supply Planning model"
"List all line items and their formulas in the Revenue module"
"What dimensions does the Margin line item use?"
Data Review:
"Pull the current pricing data for all products"
"Show me which list items were recently added"
"Read the forecast numbers for Q3 and summarize"
Impact Analysis:
"What modules use the Product list as a dimension?"
"Show all line items that reference Cost Per Unit"
"Which views include the Region dimension?"
Automation:
"Run the monthly demand import and show me the result"
"Export sales actuals and save to Downloads"
"Add these 50 new products to the master list"
Onboarding:
"Walk me through the modules in this model"
"How is this model structured? What are the key lists?"
"What changed in this model since last quarter?"
What It Can and Can't Do
What it can do
Browse workspaces, models, modules, lists, and views
Read cell data and list items
Write cell values and manage list items (add, update, delete)
Run imports, exports, processes, and delete actions
Upload and download files
Manage models (open, close, delete, set periods and fiscal year)
Query users, versions, and task history
Model Building Limitations
The Anaplan API does not support:
Creating modules or line items programmatically
Defining formulas through API
Building model structure from scratch
Configuring model calendar programmatically
For model building, use Anaplan's UI or Agent Studio.
Prerequisites
Node.js 18+ - download here
An Anaplan account with API access (any auth method - basic, certificate, or OAuth)
An MCP-compatible client - Claude Desktop (recommended), Claude Code, or any other MCP client
Setup
1. Clone and build
git clone https://github.com/larasrinath/anaplan-mcp.git
cd anaplan-mcp
npm install
npm run build2. Connect to Claude Desktop
Claude Desktop is the easiest way to use this server. Here's how to set it up:
Step 1: Open the config file
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json
If the file doesn't exist yet, create it with {} as the contents.
Tip (Windows): You can type
%APPDATA%\Claudein the File Explorer address bar to jump straight to the folder.
Step 2: Add the Anaplan server
Replace <path> with the absolute path to your cloned repo (e.g. /Users/you/anaplan-mcp on macOS/Linux or C:/Users/you/anaplan-mcp on Windows - always use forward slashes).
Choose one auth method only. For most users, use OAuth2 so Claude can show a sign-in link in chat. Do not set OAuth, certificate, and basic env vars together.
Recommended: OAuth2 (device grant)
{
"mcpServers": {
"anaplan": {
"command": "node",
"args": ["<path>/dist/index.js"],
"env": {
"ANAPLAN_CLIENT_ID": "your-client-id"
}
}
}
}On first use, Claude shows a link in chat, approve it in Anaplan, then retry your request. OAuth tokens are kept in memory only. If the MCP process restarts, or an OAuth session is idle for more than 60 minutes, you'll be prompted to authorize again unless you provide ANAPLAN_REFRESH_TOKEN yourself.
OAuth support is device grant only. ANAPLAN_CLIENT_SECRET, ANAPLAN_OAUTH_AUTHORIZATION_CODE, and ANAPLAN_OAUTH_REDIRECT_URI are ignored by the server.
If you do not want OAuth, use one of these alternatives instead:
Certificate auth
"env": {
"ANAPLAN_CERTIFICATE_PATH": "/path/to/cert.pem",
"ANAPLAN_PRIVATE_KEY_PATH": "/path/to/key.pem"
}ANAPLAN_CERTIFICATE_ENCODED_DATA_FORMAT can be added optionally; defaults to v2. Set v1 only for legacy tenants.
Basic auth
"env": {
"ANAPLAN_USERNAME": "user@company.com",
"ANAPLAN_PASSWORD": "your-password"
}Use this only if you want email/password auth instead of OAuth or certificate auth. If your Anaplan account uses SSO, basic auth may not work unless your tenant allows exception users.
If your config file already has content, add mcpServers inside the existing top-level object - don't create a second {} block.
Step 3: Restart Claude Desktop
Quit Claude Desktop completely (right-click the system tray icon and quit - don't just close the window) and reopen it. You should see the Anaplan tools available (look for the hammer icon in the chat input area).
Troubleshooting:
"Unexpected non-whitespace" error - Your JSON is invalid. Make sure there's only one
{}object in the file and no trailing commas. Paste your config into jsonlint.com to check.Server disconnected - Run
node C:/path/to/anaplan-mcp/dist/index.jsin a terminal to see the actual error. Common causes: wrong path inargs, missingnpm run build, or Node.js not installed.401 Unauthorized when using tools - Your Anaplan credentials are wrong, or your account uses SSO (in which case basic auth won't work - use certificate or OAuth2 instead).
OAuth refresh failed / reauthorization required - The MCP server is up and reached Anaplan, but the saved OAuth session is no longer valid. Re-authorize in your MCP client, then retry the tool.
Connect to Claude Code
Copy .mcp.json.example to .mcp.json and fill in your credentials. The file is gitignored by default - never commit credentials to version control.
cp .mcp.json.example .mcp.jsonAlternatively, use the CLI:
claude mcp add anaplan -- node /absolute/path/to/anaplan-mcp/dist/index.jsOther MCP clients
Any MCP-compatible client that supports stdio transport can connect. The server expects to be launched as a subprocess with stdin/stdout for communication. Pass Anaplan credentials via environment variables.
Browser-based AI (claude.ai, ChatGPT)
The server also supports Streamable HTTP transport for remote MCP connections from claude.ai, ChatGPT, and other browser-based AI assistants. Deploy to a cloud platform (Fly.io recommended) and connect via the remote MCP integration settings.
Remote HTTP mode is designed for per-session Anaplan OAuth, not a single shared Anaplan user. Set ANAPLAN_CLIENT_ID on the server so each remote session can authorize against Anaplan with its own identity. Basic auth (ANAPLAN_USERNAME/ANAPLAN_PASSWORD) and certificate auth (ANAPLAN_CERTIFICATE_PATH/ANAPLAN_PRIVATE_KEY_PATH) are intentionally not supported in remote HTTP mode — they would collapse every session onto one shared Anaplan identity, breaking per-user permissions and auditability. They remain available for stdio/local use only. If you want an extra outer gate in front of the endpoint, you can also set ANAPLAN_MCP_HTTP_AUTH_TOKEN and have your client or reverse proxy send it as Authorization: Bearer <token>.
See the Remote Deployment Guide for full setup instructions, platform recommendations, and troubleshooting.
Configuration
Environment variables
All configuration is done through environment variables. There are no config files, CLI flags, or settings menus.
Method | Env Vars | Description |
OAuth2 (device grant) |
| Highest priority. Device authorization flow. Claude shows you the URL and code in chat; authorize in browser then retry. Tokens stay in memory only, so restart or >60 minutes of idle time requires another device login unless you set |
Certificate |
| Second priority. PEM certificate + private key, authenticates via CACertificate flow. Data format defaults to |
Basic |
| Lowest priority. Email + password, sends base64 credentials to auth endpoint |
You only need one set of credentials. If multiple are configured, the server picks the highest-priority method automatically.
HTTP transport security
These apply only to npm run start:http / remote MCP deployments:
Variable | Description |
| Required for remote HTTP mode. Each HTTP session uses this OAuth client to authenticate the end user with Anaplan |
| Optional extra edge protection. When set, callers must also send it as |
| Optional JSON body limit for remote HTTP requests. Defaults to |
Where to set environment variables
Claude Code config: Use the
"env"block in.mcp.json(file is gitignored by default)Claude Desktop config: Use the
"env"block in the JSON config (keeps credentials scoped to the server)Shell profile: Export in
.bashrc/.zshrcfor Claude Code CLI usageSystem environment: Set at the OS level if you prefer
Security note: Never commit credentials to version control. Env files and MCP config files are gitignored by default in this repo.
Permissions and Safety
What the server can do
This server has full access to whatever your Anaplan credentials allow. The 70 tools cover both read and write operations:
Read-only tools (safe to use freely):
show_*tools,read_cells,get_list_items,download_file,get_action_statusWrite tools (modify data):
write_cells,add_list_items,update_list_items,delete_list_itemsAction tools (trigger Anaplan processes):
run_import,run_export,run_process,run_deleteAdmin tools (model management):
close_model,open_model,bulk_delete_models,set_currentperiod,set_fiscalyear
Tool approval in Claude Desktop
Claude Desktop prompts you before each tool call. You'll see the tool name and parameters, and can approve or deny. This gives you a chance to review before any action runs. You can also use the "Allow for this chat" option for tools you trust.
Recommendations
Start with read-only. Ask Claude to explore your workspaces and models before running any write operations. Get comfortable with the tool output first.
Test in a dev workspace. If you have a non-production Anaplan workspace, use that while getting familiar with the tools.
Use least-privilege credentials. If your Anaplan admin can create a service account with limited workspace access, use that instead of your personal admin account.
Review before confirming write operations. When Claude proposes to run an import, write cells, or delete items, read the parameters carefully before approving.
Exports and imports are asynchronous. The server polls until they complete (up to 5 minutes). You can cancel a running task with
cancel_taskif needed.
Tools
Model Exploration (37 tools)
Tool | Description |
| List all accessible workspaces |
| Get workspace details (size and active status) |
| List models in a workspace. Optional |
| List all models across all workspaces. Optional |
| Get model details including state and workspace |
| Check model status (legacy endpoint, often returns 405) |
| List modules in a model |
| Get module details by filtering module list |
| List line items in a module ( |
| List all line items in a model ( |
| List dimensions for a line item |
| List dimension items for a line item/dimension pair |
| List saved and default views in a module |
| List all views in a model (cross-module) |
| Get view axis metadata (rows, columns, pages) |
| List lists (dimensions) in a model |
| Get items from a list |
| Get list metadata including parent/properties/count |
| List all items in a model-level dimension |
| List selected dimension items for a view |
| Resolve dimension items by names/codes |
| List import actions in a model |
| Get import metadata |
| List export actions in a model |
| Get export metadata |
| List process actions in a model |
| Get process metadata |
| List files in a model |
| List model actions (including deletes) |
| Get action metadata |
| Get current period |
| Get fiscal year/calendar settings |
| List version metadata |
| Get current authenticated user |
| List users in tenant scope |
| Get user details by ID |
| List task history for imports/exports/processes/actions |
Bulk Data Operations (28 tools)
Tool | Description |
| Run export task, download output, optionally save locally with |
| Upload file chunks, run import, and poll task completion |
| Run process task and poll completion |
| Run delete action task |
| Initialize chunked upload, upload chunks, and complete file upload |
| Download file by reading all chunk payloads. Text returns inline; binary files should use |
| Delete model file (irreversible) |
| Get status for import/export/process/action task |
| Close (archive) a model |
| Open (wake up) a closed model |
| Delete multiple closed models |
| Set current period |
| Update model fiscal year |
| Set version switchover date |
| Download failed import dump chunks (CSV) |
| Download failed process dump chunks (CSV) |
| Cancel running import/export/process/action task |
| Create large-volume view read request |
| Get large-volume view read request status |
| Download a CSV page from view read request |
| Delete large-volume view read request |
| Preview up to 1000 records from a large list (CSV) before a full large read request |
| Create large-volume list read request |
| Get large-volume list read request status |
| Download a CSV page from list read request |
| Delete large-volume list read request |
| Reset list item index numbering |
| Download Optimizer solver log for a completed action |
Transactional Operations (5 tools)
Tool | Description |
| Read cell data from a module view |
| Write values to specific module cells |
| Add new items to a list |
| Update existing list items |
| Delete list items |
Orchestration Guide
The server exposes a built-in MCP resource (anaplan://orchestration-guide) that AI assistants read automatically. This guide teaches the correct tool sequences for every workflow category:
Navigation -- workspace -> model -> module -> line items/views
Reading data -- discover modules, find views, read cells (with fallback to large volume reads for >1M cells)
Writing data -- resolve line item dimensions and item IDs before calling write_cells
Bulk imports -- inspect import definition, upload data to source file, run import, check status, download error dump if failed
Bulk exports -- single-step run_export handles the full lifecycle
Processes -- run chained actions, monitor with get_action_status
Large volume reads -- create request, poll until complete, download pages, clean up
List mutations -- find list items, then add/update/delete
Every tool description also includes prerequisite hints ("Use show_imports first to find importId") and parameter descriptions explain where each value comes from ("from show_lineitems or show_alllineitems"). Key workflow tools append "Next steps" guidance to their responses.
Architecture
src/
auth/ # Authentication providers (basic, certificate, oauth) + token manager
api/ # HTTP client with retry logic + 17 domain-specific API wrappers
tools/ # MCP tool registrations (exploration, bulk, transactional) + response hints
resources/ # MCP resource content (orchestration guide)
server.ts # Wires auth > client > APIs > MCP server + registers resources
index.ts # Entry point (stdio transport)
http.ts # Entry point (Streamable HTTP transport)
docs/
api/ # Anaplan API reference docs (Integration, ALM, SCIM, CloudWorks, Audit)
architecture/ # Runtime diagrams (request flow, trust boundary, subsystem map)
guides/ # Tool selection and workflow guides
examples/ # Example output - FY26 Sales Forecast deck generated via MCPThree 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. 17 domain wrappers provide typed methods for each endpoint. Auto-paginates list endpoints using Anaplan'smeta.pagingmetadata.Tools layer - registers MCP tools on the server with zod schemas for input validation. Each tool delegates to the appropriate API wrapper and formats results. Key tools include next-step hints to guide multi-tool workflows.
For detailed runtime diagrams (request flow, trust boundary, subsystem map) see docs/architecture/overview.md.
Custom Skills
The skills/ folder holds Claude Code project-level skills - reusable instruction sets that the AI assistant loads automatically during your session.
A template is provided at skills/example.md. Copy it, rename it, and fill in your instructions. Claude Code will pick it up as a skill available in this project.
Skills are gitignored by default (personal workflows vary), with only the example tracked. Add your own without worrying about committing them.
Disclaimers
Unofficial personal project - not affiliated with, endorsed by, or supported by Anaplan. Uses the official Anaplan Integration API v2 - no undocumented endpoints. Users are responsible for compliance with Anaplan's Terms of Service. No warranty provided; use at your own risk.
License
MIT - see LICENSE file for details. Covers the code in this repository only. Anaplan's API and service are subject to Anaplan's Terms of Service and Acceptable Use Policy.
Available Tools
70 toolsadd_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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name | |
| items | Yes | Items to add |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states basic action and constraints (unique names, parent/subsets). Missing critical behavioral traits: what happens on duplicate names, error handling, rate limits, or whether the operation is atomic. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences, all front-loaded with purpose, features, and actionable guidance. No unnecessary words; every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 required params, no output schema, no annotations), the description covers basic purpose and constraints but lacks return value information and error conditions. It is minimally viable but leaves gaps for an agent to understand what happens after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by emphasizing 'parent (hierarchy placement)' and 'subsets (subset membership)', and introducing the constraint 'Item names must be unique' which is not in the schema. This extra context justifies a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add new items to a list', providing a specific verb and resource. It distinguishes from sibling tools like update_list_items by focusing on 'new' items. The mention of parent and subsets adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context with 'Use show_lists to find listId' and the constraint 'Item names must be unique'. However, it does not explicitly state when not to use this tool (e.g., for modifications, use update_list_items), missing exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_delete_modelsA
Bulk delete closed models (WARNING: irreversible). Models must be closed first.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelIds | Yes | Array of model IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Warns of irreversibility and prerequisite, which are critical behavioral traits. No annotations provided, so description carries full burden; however, it does not detail error handling or confirmation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, warning front-loaded. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: action, prerequisite, and destructiveness. No output schema but return values are implied. Adequate for a bulk delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers parameters fully (100% coverage). Description adds context that modelIds must reference closed models, enhancing understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it deletes closed models in bulk, with an irreversible warning. Differentiates from sibling tools like close_model and open_model by specifying bulk deletion and prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states models must be closed first, providing a clear precondition. Lacks explicit when-not-to-use or alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_taskA
Cancel a running task. taskId comes from the run_* response or show_tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| actionType | Yes | Type of action | |
| actionId | Yes | Action ID or name | |
| taskId | Yes | Task ID to cancel (from run_* response or show_tasks) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'Cancel a running task' without detailing side effects, prerequisites, permission requirements, or behavior if the task is already completed or fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the essential purpose and a key detail (taskId origin) without any extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic purpose, it lacks details on output, error conditions, or cancellation semantics. Given no output schema and no annotations, the description is minimal but not inadequate for a simple cancellation action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage with descriptions for all 5 parameters. The description redundantly restates the schema's note on taskId source, adding no further semantic enrichment beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cancel a running task') and identifies the resource (task) and where to obtain the necessary taskId, distinguishing it from sibling tools focused on listing or running tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use the tool (to cancel a running task) and provides guidance on sourcing the taskId from run_* responses or show_tasks. It does not explicitly list when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_modelA
Close (archive) a model. Requires workspace admin. Must be closed before bulk_delete_models.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must disclose behavioral traits. It only mentions admin requirement and prerequisite, but lacks details on side effects, reversibility, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and requirements, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides essential context for a simple archive action, but lacks details like idempotency or what happens if model already closed. Adequate given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no value beyond schema. Baseline of 3 is appropriate as it does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (close/archive a model) and distinguishes it from siblings like 'open_model' and 'bulk_delete_models' by mentioning the prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: requires workspace admin and must be done before bulk_delete_models. No explicit when-not or alternative guidance, but enough for common use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It reveals that this tool initiates an asynchronous multi-step process requiring polling and cleanup. This adds significant behavioral context beyond a simple creation. However, it does not specify auth requirements, rate limits, or consequences of not cleaning up.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences. The first sentence states the purpose and condition, the second lists the lifecycle. Every sentence is essential and front-loaded effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and no output schema, the description provides a complete lifecycle context and references sibling tools for subsequent steps. It could be improved by explicitly stating the return value (request ID), but the lifecycle implies it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage with clear parameter descriptions. The description does not add additional semantic meaning beyond what the schema provides. Since coverage is high, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts a large volume list read for lists too large for get_list_items, and distinguishes it from the sibling tool get_list_items. It also outlines the lifecycle steps, making the purpose very clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use this tool (for large lists) and differentiates from get_list_items. It also provides a lifecycle sequence (create, poll, download, cleanup) which guides usage. However, it does not explicitly state when not to use it or mention alternatives beyond get_list_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| viewId | Yes | View ID (from show_savedviews, or use moduleId as default view) | |
| exportType | No | Export format (default: TABULAR_MULTI_COLUMN) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It implies an asynchronous process via lifecycle steps but lacks detail on blocking behavior, rate limits, or required permissions. The description covers the basic workflow but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, using two sentences to state the purpose and lifecycle. No redundant information is included, and important details are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description provides a complete workflow overview (create, poll, download pages, cleanup). It explains how the tool fits into the larger process, though it could mention the return value (e.g., the request ID).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are described in the input schema (100% coverage), so the description adds no additional parameter-level meaning. The description does not elaborate on parameter usage beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: starting a large volume view read for views too large for read_cells. It uses a specific verb ('create') and resource ('view_readrequest'), and distinguishes itself from the sibling tool 'read_cells'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (for views too large for read_cells) and outlines the lifecycle steps (create, poll, download, cleanup). While it doesn't explicitly list alternatives, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileA
Delete a file from a model (WARNING: irreversible). Use show_files to find the fileId.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| fileId | Yes | File ID or name to delete (from show_files) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It warns of irreversibility, a critical behavioral trait. Lacks mention of required permissions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, each earning its place: purpose and warning, then usage guidance. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema provided; description does not explain return behavior (e.g., success response). For a delete operation, could mention async vs sync or confirmation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 3 parameters with descriptions, including 'from show_files' for fileId. The description adds no new semantic info beyond reinforcing the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a file from a model' with a prominent irreversibility warning. It distinguishes itself from sibling tools like show_files, download_file, and upload_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using show_files to find the fileId, guiding the agent on prerequisite steps. Does not specify when to avoid use, but the 'irreversible' warning serves as a caution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_list_itemsA
Remove items from a list (WARNING: irreversible). Specify id or code for each item. Use get_list_items to find values.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name | |
| items | Yes | Items to delete (specify id or code for each) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Warns that the operation is irreversible, which is key behavioral info. However, it does not disclose other aspects like permissions or error handling, and annotations are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The warning is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, and a key behavioral trait. Could mention error or success response, but overall adequate for a delete tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the description adds the 'irreversible' warning and usage hint but no new parameter-specific semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it removes items from a list, using the verb 'Remove'. It distinguishes itself from siblings like add_list_items or get_list_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to use get_list_items to find values before deletion. No explicit when-not-to-use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_list_readrequestA
Delete a large volume list read request to free server resources. Always call this after downloading all pages.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name | |
| requestId | Yes | Read request ID (from create_list_readrequest response) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses the key behavioral trait of resource deallocation and the required sequencing after download, providing adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and purpose, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple cleanup tool with full schema coverage and no output schema, the description adequately covers the essential actions and timing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters documented; description does not add extra parameter details, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete', the resource 'list read request', and the purpose 'to free server resources', distinguishing it from sibling tools like create_list_readrequest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Always call this after downloading all pages', giving clear when-to-use guidance. Lacks mention of alternatives but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_view_readrequestA
Delete a large volume view read request to free server resources. Always call this after downloading all pages.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| viewId | Yes | View ID (from show_savedviews, or use moduleId as default view) | |
| requestId | Yes | Read request ID (from create_view_readrequest response) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the destructive action (delete) and purpose (free resources), and gives usage constraint. No annotations provided, so description covers behavioral traits, though it lacks details on authorization or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. First sentence gives purpose, second gives usage guidance. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with full schema coverage and no output schema, the description sufficiently covers what, why, and when. No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides 100% coverage with descriptions for all 4 parameters. Description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'delete', resource 'large volume view read request', and purpose 'free server resources'. Distinguishes from sibling tools like 'delete_list_readrequest' by specifying the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs 'Always call this after downloading all pages', providing clear context for when to use. No need to mention alternatives as siblings cover other resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_fileA
Download file content from a model. Text files are returned inline; for binary files, set saveToDownloads=true to preserve the exact bytes.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| fileId | Yes | Anaplan file ID or name (from show_files) | |
| saveToDownloads | No | If true, save the file to ~/Downloads without decoding | |
| fileName | No | Optional local file name when saveToDownloads is true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behaviors: text files returned inline, binary files require saveToDownloads for exact bytes. It lacks mention of potential issues like file size limits or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, then succinct conditional details. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and no output schema, the description sufficiently explains inline return for text and download for binary. Could be improved by mentioning any response format or error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the effect of saveToDownloads (preserves exact bytes) and the conditional use of fileName, which goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Download file content from a model' and distinguishes between text and binary handling, which sets it apart from sibling tools like upload_file or delete_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: when to use saveToDownloads=true for binary files. However, it does not explicitly mention when not to use this tool or compare it to sibling download tools (e.g., download_importdump).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| importId | Yes | Import ID or name (from show_imports) | |
| taskId | Yes | Task ID of the failed import (from run_import response or show_tasks) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It warns data is ephemeral (~48 hours), which is helpful, but does not detail other behaviors like whether it is read-only or if downloading consumes the data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; front-loaded with the core action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity and no output schema, the description covers prerequisites, ephemerality, and output format (CSV). Could mention that it is a download operation, but 'Download' in name suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, but the description adds value by specifying the source of importId and taskId prerequisites, which goes beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool downloads error details from a failed import task as CSV, which is specific and distinct from sibling tools like download_processdump or download_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly lists prerequisites (importId from show_imports, taskId from run_import or show_tasks) and implies usage for failed imports, though no explicit when-not-to-use is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_optimizer_logA
Download Optimizer solver log for a completed optimizer action. Logs are removed after 48 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| actionId | Yes | Optimizer action ID (from show_actions) | |
| correlationId | Yes | Correlation ID from the Anaplan UI after running an optimizer action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds the critical behavioral trait that logs are removed after 48 hours, but no annotations exist, and it lacks information on permissions, output format, or preconditions beyond requiring completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines purpose, second adds essential timing info. No redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description does not explain what the download returns (e.g., file format, content). Provides the essential usage constraint but lacks completeness on output handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for all 4 parameters; the description adds no additional semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Download Optimizer solver log for a completed optimizer action' with specific verb and resource, distinguishing it from other download tools like download_file or download_importdump.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a temporal constraint ('Logs are removed after 48 hours') but does not explicitly state when not to use it or mention alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| processId | Yes | Process ID or name (from show_processes) | |
| taskId | Yes | Task ID of the failed process (from run_process response or show_tasks) | |
| objectId | Yes | Object ID from the task result nestedResults array (identifies which import step in the process failed -- look for objectId in the failed nestedResult) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses ephemeral nature (~48 hours) and prerequisites. Does not mention read-only or destructive behavior, but context implies safe download. Provides useful behavioral context beyond basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, data retention, prerequisites. No redundancy, efficiently conveys essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers prerequisites and data retention for a 5-parameter tool with no output schema. Could mention output format details (e.g., CSV content structure), but overall sufficiently complete for intended use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by explaining how to obtain each parameter (e.g., 'from show_processes', 'from run_process response'), aiding correct utilization beyond schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Download error details from a failed process task as CSV', specifying verb, resource, and output format. It distinguishes from sibling tools like download_importdump and download_optimizer_log by focusing on process task failures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists prerequisites (processId, taskId, objectId) with sources (show_processes, run_process response, failed step), guiding when to use. However, lacks explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| actionType | Yes | Type of action | |
| actionId | Yes | Action ID or name | |
| taskId | Yes | Task ID (from run_import, run_export, run_process, or run_delete response) | |
| includeProcessDetails | No | Include duration and startTime for each process step |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full weight. It discloses the polling behavior and returned taskState, but lacks details on permissions, rate limits, or full response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, and no wasted words. Every sentence provides essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a polling tool with 6 parameters, the description covers critical behavioral context (polling, completion states). However, the absence of an output schema means the agent lacks details on the full response object, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are described in the input schema (100% coverage). The description adds context by specifying that taskId comes from run_* responses and that includeProcessDetails provides step timing, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks status of a running task and mentions polling until taskState is COMPLETE or FAILED. It differentiates from siblings like cancel_task and show_tasks by focusing on a specific running task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells when to use (polling for status) and provides tips like using includeProcessDetails for step timing and that taskId comes from run_* responses. It does not explicitly state when not to use, but implicit context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | Anaplan list ID or name | |
| includeAll | No | Include subsets, properties, and selective access details | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially covers behavior (returning item IDs, large list handling) but omits aspects like read-only nature, performance implications, or pagination details beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler; each provides essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and full schema parameter descriptions, the description covers key aspects but could elaborate on search and limit behavior. Still, it's largely complete for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds meaning by explaining the purpose of includeAll (subsets, properties) and the output usage for write_cells, going beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get items in a list'), specifies the resource, and distinguishes from siblings like add_list_items, delete_list_items, and create_list_readrequest by mentioning the large list alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly guides when to use includeAll=true and advises using create_list_readrequest for lists over 1M items, providing clear context on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name | |
| requestId | Yes | Read request ID (from create_list_readrequest response) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions polling and status transition but omits details like possible status values, error handling, rate limits, or any side effects. This is insufficient for a mutation-heavy context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Purpose is front-loaded, and the second sentence provides actionable usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the flow but lacks output schema details. For a polling tool, key information like response format, status values, and polling frequency are missing. Adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 4 parameters. The description reinforces the provenance of 'requestId' from 'create_list_readrequest', but adds little beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Poll' and the resource 'status of a large volume list read'. It also distinguishes from the sibling tool 'get_list_readrequest_page' by specifying when to use it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool (poll status) and when to use the sibling 'get_list_readrequest_page' (when status is COMPLETE). It also explains the origin of requestId. No explicit exclusions, but guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name | |
| requestId | Yes | Read request ID (from create_list_readrequest response) | |
| pageNo | Yes | Page number (0-based) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must carry burden. It specifies output format (CSV) and indexing (0-based) but omits details on error handling, auth, rate limits, size limits, or what happens if request is incomplete. Decent but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with action and resource. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema means the description should explain more about return value, error conditions, and usage sequence. Missing details like what happens on error, whether file is streamed, or how to handle multiple pages. Insufficient for a download tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. Description adds value by clarifying pageNo semantics (0-based) and confirming requestId provenance. No contradictions or redundancies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it downloads one page (CSV) from a completed large volume list read, with pages 0-based. It distinguishes from sibling tools like get_list_readrequest (metadata) and delete_list_readrequest (cleanup), and implies the sequence of create, get pages, delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use delete_list_readrequest after all pages, providing a when-not. The context of 'completed large volume list read' implies do not use until request completed. Could be improved with direct mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| viewId | Yes | View ID (from show_savedviews, or use moduleId as default view) | |
| requestId | Yes | Read request ID (from create_view_readrequest response) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full weight. It discloses polling behavior (implies repeated calls) and is read-only. Could be improved by noting that status may take time or listing possible statuses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, second sentence providing actionable next steps. No extraneous verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details about the response format (e.g., status field, possible values) and polling semantics. Without output schema, description should more fully convey what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions. The description adds context: requestId originates from create_view_readrequest and pages are 0-based, which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Poll status of a large volume view read' with verb and resource. It distinguishes from sibling tools by mentioning get_view_readrequest_page for downloading pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool (polling) and when to switch to get_view_readrequest_page after status is COMPLETE. Also clarifies that requestId comes from create_view_readrequest response.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| viewId | Yes | View ID (from show_savedviews, or use moduleId as default view) | |
| requestId | Yes | Read request ID (from create_view_readrequest response) | |
| pageNo | Yes | Page number (0-based) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses page numbering and resource management, but does not mention read-only nature or potential rate limits. Still helpful and accurate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences: first states purpose, second gives usage guidance. No filler, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description could mention return format details (e.g., raw CSV content). It does cover the lifecycle with delete_view_readrequest, which is valuable context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all 5 parameters. The tool description adds no additional parameter info beyond the schema, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool downloads one CSV page from a completed view read, with pages 0-based. The verb 'download' and resource 'page from view read' are specific, and it distinguishes from siblings like get_view_readrequest and delete_view_readrequest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends deleting the read request after downloading all pages, providing sequencing guidance. Could be stronger by explicitly stating prerequisites (e.g., only after successful create_view_readrequest).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| dimensionId | Yes | Dimension ID (from show_lineitem_dimensions or show_viewdetails) | |
| names | No | Item names to look up | |
| codes | No | Item codes to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It states a read-style operation (look up) but does not confirm it is non-destructive or mention any side effects, authentication, or rate limits. The description is adequate but lacks explicit behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no fluff. The main action is front-loaded, and every sentence adds value. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and full schema coverage, the description is nearly complete. It explains the purpose and usage context, but does not specify the return format or pagination behavior. No output schema exists, so a brief note on return structure would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds contextual purpose ('resolving human-readable names to itemIds') but does not add meaning to individual parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (look up), resource (dimension items by name or code), and outcome (get IDs). It also distinguishes from sibling tools like show_dimensionitems by specifying a use case (before write_cells).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use the tool ('before write_cells'), implying it is a preparatory step. It does not explicitly list alternatives or when not to use, but the guidance is clear and relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_modelA
Open (wake up) a model. May return 202 if model is loading.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait ('May return 202 if model is loading'), indicating asynchronous behavior. However, it does not elaborate on other aspects like required permissions, side effects, or what happens when the model is already open. No annotations are present, so this carries the full burden, but the information is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and includes an important caveat about the 202 response. No redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic purpose and a behavioral note, it lacks context about the implications of opening a model, such as whether it triggers any background processes or how to verify success. Given no output schema, the description could provide more completeness, but for a simple tool it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema with workspaceId and modelId details. The description adds no additional semantic meaning beyond the schema. Per guidelines, with 100% schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Open (wake up) a model') with a specific verb and resource. It is distinct from sibling tools like close_model and show_models, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for opening or waking up a model but provides no guidance on when to use this tool versus alternatives, such as checking model status with show_modelstatus first, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_listA
Preview up to 1000 records from a large list (CSV) before initiating a full large read request
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses a key behavioral trait: a limit of 1000 records and that the source is a CSV list. However, it does not describe what the preview returns (e.g., fields, format) or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence with no extraneous words. The key information (limit, source, relationship to full read) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 required params, no output schema), the description is sufficient for an AI agent to understand when and how to use it. It could mention the return format, but the core purpose and constraint are clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter having a brief description. The tool's description adds no further parameter details beyond the schema, so it meets baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Preview up to 1000 records from a large list (CSV) before initiating a full large read request'. It specifies the resource (list records) and distinguishes from a full read, aligning with siblings like create_list_readrequest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it ('before initiating a full large read request'), providing clear context. It does not explicitly list alternatives or exclusions, but the purpose is well understood in relation to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| moduleId | Yes | Module ID or name | |
| viewId | Yes | Saved view ID or name (from show_savedviews), or use the moduleId as the default viewId | |
| pages | No | Page dimension selections to filter data (from show_viewdetails pages). Each entry selects a specific item on a page dimension. | |
| maxRows | No | Limit the number of data rows returned | |
| exportType | No | CSV export layout type (requires moduleId) | |
| exportModuleId | No | Module ID required when using exportType |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that pages param selects specific page dimensions, that viewId can default to moduleId, and implies a cell limit. However, it does not detail the return format or any rate limits, though the important behavioral constraints are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four focused sentences: purpose, alternative usage hint, viewId clarification, and large data advice. No wasted words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the complexity of the tool (8 params, many sibling tools), the description covers key usage, alternatives, and constraints. It omits return value details but that is acceptable without an output schema. Feels complete for selecting and invoking correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 8 parameters. The description adds value beyond schema by explaining viewId can be a saved view or moduleId default, and that pages selects specific page dimensions. This supplements the schema well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Read cell data from a module view' – specific verb and resource. Distinguishes from sibling tools like run_export and create_view_readrequest through explicit usage guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use read_cells vs alternatives: use run_export for reports across all products/customers (not in a loop), and use create_view_readrequest for >1M cells. Also clarifies viewId options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_list_indexB
Reset list item index numbering. Note: requires model ID and list ID (name resolution not supported for this tool).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| listId | Yes | List ID (name resolution not supported -- use show_lists to find the ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the name resolution limitation but does not explain side effects like whether the operation is destructive, requires permissions, or has any irreversible impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core purpose and a key constraint without any unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema or annotations, the description is minimal. It covers the basic operation but lacks details on return values, confirmation, or any behavioral consequences beyond the name resolution constraint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters (modelId and listId). The description adds no new semantic value beyond repeating the name resolution note already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resets list item index numbering, with a specific verb and resource. It is distinct from sibling tools, which mainly deal with other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, nor any conditions that would make it inappropriate. The only note is about required IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_deleteA
Execute a delete action on a model. Use show_actions first to find the delete action ID.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| deleteActionId | Yes | Delete action ID or name (from show_actions) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'execute a delete action' without disclosing behavioral traits such as reversibility, permissions required, or side effects. It fails to fill the gap left by missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, well-structured sentences with no redundant information. The most important action and prerequisite are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three required params and no output schema, the description is minimal. It covers the basic purpose and a prerequisite but omits details like synchronous behavior, success/failure feedback, or error handling. Adequate but with gaps for a destructive action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions already mentioning that deleteActionId comes from show_actions. The description adds a workflow hint by explicitly saying to use show_actions first, which adds semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it executes a delete action on a model, distinguishing it from sibling tools like show_actions or run_export. It is specific about the verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to use show_actions first to find the delete action ID, providing a clear prerequisite. While it doesn't list when not to use, this is clear guidance for when to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| exportId | Yes | Export action ID or name | |
| saveToDownloads | No | If true, save the exported file to ~/Downloads | |
| fileName | No | Optional local file name when saveToDownloads is true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the run-wait-download lifecycle and that data is returned inline; no annotations, so description carries burden. Could mention potential long duration or output format but still strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three purposeful sentences, front-loaded with the core action. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description states data returned inline. Could clarify output format or size limits, but overall sufficient for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. Description adds context but no parameter-specific details beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes an export and returns data inline, specifies it is for bulk reports, and distinguishes it from read_cells.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says best for bulk reports, prefer over read_cells in a loop, and mentions using show_exports first, providing clear when-to-use and prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| importId | Yes | Import action ID or name (from show_imports) | |
| fileId | Yes | File ID or name to upload data to (from show_files). Use show_importdetails to find the source file for this import. | |
| data | Yes | CSV or JSON data matching the import's expected column format. Use show_importdetails to check the column mapping. | |
| mappingParameters | No | Runtime mapping parameters for the import (e.g., specify which Version to import into) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It implies a write/destructive operation and explains the mapping parameter behavior, but does not disclose side effects like overwrite behavior, rate limits, or idempotency. The prerequisites and follow-up steps help, but deeper behavioral traits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the main action, and includes prerequisites and post-steps without extraneous detail. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers return value handling (get_action_status and download_importdump). It addresses prerequisites and mapping parameters. For a 6-parameter import tool, the description is sufficiently complete for correct invocation, though it could mention error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining mappingParameters usage ('target a specific dimension') and provides context for other parameters (e.g., 'from show_imports'), exceeding what the schema alone offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Upload CSV/JSON data to a file, then execute an import action.' It distinguishes from siblings like run_export and run_process by specifying import-specific behavior and mapping parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit prerequisites (show_imports for importId, show_files for fileId) and post-steps (check results with get_action_status, download_importdump for failures), guiding the agent on when and how to use the tool and what to do after.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| processId | Yes | Process ID or name (from show_processes) | |
| mappingParameters | No | Runtime mapping parameters for the process (e.g., specify which Version to import into) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds some behavioral context: mentions mapping parameters for runtime targeting and suggests monitoring for status and downloading dumps for failures. However, with no annotations, it does not disclose async/sync nature, destructive impact, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no fluff. Critical information front-loaded: what it does, how to use mappingParameters, prerequisites, and follow-up. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so the description should explain what the tool returns (likely a task ID). It mentions monitoring and failure handling but does not describe the immediate return value. Missing async behavior hint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100% coverage). Description rephrases mappingParameters purpose ('target a specific dimension') and processId origin ('from show_processes'), but adds minimal new meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it executes a process as a chain of imports/exports/deletes. Distinguishes from sibling tools like run_import, run_export, run_delete which handle individual actions. Mentions mappingParameters for targeting dimensions, adding specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear prerequisites ('Use show_processes first') and follow-up actions ('Monitor with get_action_status; download_processdump for failures'). Implicitly differentiates from individual run tools by calling it a chain, but does not explicitly state when not to use alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| periodText | Yes | Date string for new period (e.g. '2020-06-15'), or empty string to reset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Warns about potential data loss if periods are removed, which is a critical behavioral trait. With no annotations provided, this disclosure adds necessary transparency, though it could mention other behaviors like idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with a critical warning, followed by a clear recommendation. No extraneous information, and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description covers the action, warning, and precautionary step. It could mention return behavior or confirm success, but is adequate for a simple setter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The overall description adds no additional semantics beyond what the schema already provides for each parameter, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set current period for a model' with a specific verb and resource. It distinguishes itself from the sibling tool 'show_currentperiod' by mentioning that tool for reading the current value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use show_currentperiod to see the current value first,' providing clear context for safe usage. However, it does not exhaustively list all alternative tools or conditions for non-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_fiscalyearA
Update fiscal year for model calendar (WARNING: may affect time ranges). Use show_modelcalendar to see the current value first.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| year | Yes | Fiscal year value (e.g. 'FY22') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It adds a warning about affecting time ranges, which is valuable, but lacks details on permissions, reversibility, or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and warning. Every sentence adds value; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update tool with 3 required params and no output schema, the description is mostly complete. It includes a warning and a referral to a sibling tool, but could mention impact on other models or rollback options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; parameters are adequately described in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('Update fiscal year') and the resource ('model calendar'), with a warning about side effects. Distinguishes from sibling 'show_modelcalendar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to use 'show_modelcalendar' first, indicating when to use this tool after checking current value. No explicit exclusions, but the recommendation is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_versionswitchoverA
Set version switchover date (WARNING: affects version boundaries). Use show_versions to find versionId. Note: requires model ID (name resolution not supported).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| versionId | Yes | Version ID (from show_versions) | |
| date | Yes | Switchover date (e.g. '2021-06-01'), or empty string to reset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description warns that the action 'affects version boundaries', but without annotations, it does not disclose other behavioral traits such as reversibility, permissions needed, or impact on dependent data. More details would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Warning is placed first for immediate impact, followed by essential usage hints. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the full schema descriptions and concise behavioral warning, the description is adequate for a setter tool with three parameters. No output schema is needed, and the description covers prerequisites and an example.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds value by clarifying that modelId requires an ID (name not supported), versionId comes from show_versions, and date can be an empty string to reset. This enhances understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set version switchover date' with a specific verb and resource. The warning about affecting version boundaries adds specificity, and it distinguishes from sibling tools like set_currentperiod or set_fiscalyear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use show_versions to find versionId, and note that model ID is required and name resolution is not supported. It does not explicitly state when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_actiondetailsA
Get action definition metadata. Use run_delete to execute delete actions.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| actionId | Yes | Action ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'get' which implies a read-only operation, but does not explicitly confirm safety, permissions, or lack of side effects. For a simple metadata retrieval, it is minimally adequate but lacks explicit read-only declaration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no filler, and the purpose is front-loaded. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is adequate but minimal. It does not mention the return format or that it operates on a single action (implied by actionId parameter). For a metadata getter, it covers the basics but leaves some context implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The description adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets action definition metadata. The verb 'get' and resource 'metadata' are specific. While it distinguishes from sibling 'run_delete' (execution vs metadata), it doesn't explicitly contrast with 'show_actions' (list vs details), but the name implies it's for a single action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at when to use 'run_delete' instead (for execution), but provides no explicit guidance on when to use this tool versus other 'show' tools like 'show_actions' or 'show_processdetails'. Usage context is only implied by the name and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_actionsA
List available actions (including delete actions) in a model. Use run_delete to execute a delete action.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the listing action and the inclusion of delete actions, without mentioning side effects, permissions, rate limits, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that immediately convey the purpose and a follow-up action. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and many sibling tools, the description is adequate but could provide more context about the returned action list or clarify other action types beyond delete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the parameters are already well-documented. The description adds no additional meaning beyond the schema, hence baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'available actions (including delete actions)' in a model. It distinguishes itself from sibling tools like 'show_actiondetails' by noting the inclusion of delete actions and referencing 'run_delete' for execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing actions and suggests using 'run_delete' for execution, but does not explicitly state when to use this tool over alternatives such as 'show_actiondetails' or other listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| includeAll | No | Include full metadata (formula, format, version, appliesTo) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only mentions requirements (modelId) and feature (includeAll). Does not disclose behavioral traits like pagination, rate limits, or any side effects. Minimal disclosure for a listing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, followed by key usage notes. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and description does not mention return format, fields, pagination, or error handling. For a tool with 4 params and no output schema, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds 'cross-module' scope and 'name resolution not supported' for modelId, and clarifies includeAll returns formulas and dimensions, adding value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'List', specific resource 'all line items', and scope 'cross-module' distinguish it from sibling show_lineitems which is likely module-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Requires model ID and suggests using includeAll=true for formulas/dimensions, but doesn't explicitly contrast with show_lineitems or provide when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Filter by model state | |
| modelDetails | No | Include memory usage, creation date, and last modified | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It implies a read operation but does not explicitly state it as read-only, mention permissions, or side effects. The limit parameter hints at pagination but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are direct and informative with zero wasted words. The information is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with good schema coverage, the description is nearly complete. It mentions return value usage. Missing minor details like default limit, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the description adds only minimal extra context (e.g., 'memory/dates' for modelDetails, enum examples for state). This is sufficient but not significantly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all models across all workspaces' with specific verbs and resource. It mentions filtering by state and modelDetails, and distinguishes from sibling show_models by specifying 'across all workspaces'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions filtering by state and modelDetails, and explains the return value helps other tools. However, it does not explicitly state when to use this versus alternatives like show_models or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_allviewsA
List all views in a model (cross-module, includes default and saved). Note: requires model ID (name resolution not supported).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| includeSubsidiaryViews | No | Include unsaved subsidiary views in results | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that it lists cross-module views including default and saved, but omits behavioral traits such as being a read-only operation, pagination behavior, or any side effects. Since no annotations exist, the description carries full burden and falls short.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus a note, very concise and front-loaded with the action verb. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers what the tool lists and the key prerequisite (model ID), but lacks detail on output format, sorting, pagination, or what 'cross-module' means. For a list tool with 4 parameters and no output schema, it is moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. Description adds overall context about view types but does not add parameter-specific meaning beyond the schema, which already includes details like using show_models for modelId and search as case-insensitive substring.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List' and resource 'all views in a model', specifying scope as cross-module including default and saved. This distinguishes it from siblings like show_savedviews and show_viewdetails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions requirement for model ID and that name resolution is not supported, implying need to use show_models first. However, it does not explicitly state when to use this tool versus alternatives like show_savedviews for only saved views.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_currentperiodA
Get current period for a model. Use set_currentperiod to change it.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only indicates a read operation without detailing side effects, permissions, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded with key purpose, and includes a useful cross-reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple read tool with well-documented parameters, though a hint about the return value would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage; the description adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get', 'current period') and resource ('for a model'), distinguishing it from siblings like 'set_currentperiod'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs agents to use 'set_currentperiod' for changes, providing a clear alternative for a related action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_currentuserA
Get current authenticated user info
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation ('Get'), but no annotations exist to confirm safety. It does not disclose authentication requirements, potential errors, or return format, which is a minor gap for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence with no wasted words. Perfectly sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description is adequate but lacks details on return value behavior or error handling, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema covers 100% of nothing. The description adds no parameter information, but none is needed. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get current authenticated user info' clearly specifies the action (get) and the resource (current authenticated user info), distinguishing it from sibling tools like 'show_users' which lists all users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'show_users' or 'show_userdetails'. While the purpose is clear, explicit usage context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| dimensionId | Yes | Dimension ID (from show_lineitem_dimensions or show_viewdetails) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it lists items and returns itemIds, but lacks details on side effects, permissions, or rate limits. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description hints at return value. Missing details on pagination, filtering, and error handling. Moderate completeness given parameter count.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100% coverage), so description adds little beyond context about itemIds for write_cells. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all items in a dimension' and mentions its use for write_cells, but does not differentiate from sibling lookup_dimensionitems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through note about model ID requirement and mention of write_cells, but no explicit when-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_exportdetailsC
Get export definition metadata including format and target.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| exportId | Yes | Export ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like read-only nature or required permissions. It only states what it gets, not whether it modifies state or can fail. The name implies a read operation, but this isn't explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with front-loaded verb and resource. It is concise but could benefit from a list of parameters or expected use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain what metadata is returned. It mentions 'format and target' but not other possible fields. For a detail retrieval tool, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (workspaceId, modelId, exportId). The description adds no additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'export definition metadata', specifying included fields 'format and target'. However, it does not distinguish from sibling tools like 'show_exports' which likely lists exports rather than details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., show_exports, show_importdetails). There is no context about preconditions or typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_exportsA
List available export actions. Use run_export to execute and download data in one step.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden but only restates the listing action, omitting any behavioral traits like read-only, pagination, or output details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal for a simple list tool, but lacks any mention of return format or pagination behavior, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available export actions, which is specific and distinguishes from the sibling tool run_export that executes exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-to-use by recommending run_export for execution, but does not include exclusions or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_filesA
List files in a model. File IDs are needed for upload_file (before run_import) and download_file.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It implies a read-only list operation but does not explicitly state the behavioral traits (e.g., pagination, permissions, or whether it returns all files).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose. Slightly repetitive mention of file IDs could be streamlined, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's purpose but lacks information on return format, sorting, ordering, or error conditions. It relies heavily on schema for parameter details, missing some context for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, providing clear meanings for each parameter. The description adds context for file IDs but does not elaborate on parameters beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'list' and resource 'files in a model', and distinguishes from sibling tools by explicitly noting the importance of file IDs for upload_file and download_file operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before upload_file or download_file, but does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. Given many sibling list tools, more guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_importdetailsA
Get import definition metadata including source file and column mapping. Check this before run_import to understand the expected data format.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| importId | Yes | Import ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the behavioral disclosure burden. 'Get import definition metadata' clearly indicates a read operation with no side effects. However, it does not mention permissions, error conditions, or output details beyond listing included fields. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the action and scope, the second provides usage guidance. No redundant words or irrelevant details. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a metadata retrieval with 3 parameters and no output schema, the description covers the key purpose and usage context. It mentions the included data (source file, column mapping) and provides a practical tip. Could be enhanced by noting the output format or error cases, but it is sufficient for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage; each parameter is described as 'ID or name'. The description does not add any additional meaning or constraints beyond the schema. Baseline of 3 is appropriate since the schema already documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves import definition metadata including source file and column mapping. It distinguishes from siblings like run_import by explicitly advising 'Check this before run_import'. The verb 'get' combined with 'metadata' makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Check this before run_import to understand the expected data format.' This tells the agent when to use this tool and implies not to use it for execution (use run_import instead). It does not explicitly exclude other scenarios, but the guidance is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_importsA
List available import actions in a model. Use show_importdetails to see source file and mapping, then run_import to execute.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says 'List available import actions' without mentioning read-only nature, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with purpose followed by usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value details (no output schema) and behavioral context; incomplete for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions; description adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'List' and resource 'available import actions in a model'. Distinguishes from siblings by referencing show_importdetails and run_import.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool (to list imports) and directs to alternatives for details and execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| lineItemId | Yes | Line item ID (from show_lineitems or show_alllineitems) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses that it requires model ID and returns dimensionId values, and implies read-only behavior by listing. However, it does not mention any limitations, pagination, or potential side effects, leaving room for improvement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences, front-loading the core action and then providing essential context about ID requirements and downstream usage. Every sentence is purposeful and there is no unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description adequately explains the tool's purpose and output (dimensionId values). It could elaborate on the range of dimensions or potential errors, but for a straightforward listing tool, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has full coverage with descriptions for both parameters. The description adds value by explaining the modelId constraint (no name resolution) and specifying that lineItemId comes from show_lineitems or show_alllineitems, enhancing clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List dimensions for a line item', specifying both the verb and resource. It also notes the output is dimensionId values needed by write_cells and show_dimensionitems, differentiating it from siblings like show_dimensionitems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that model ID is required and name resolution is not supported, guiding the agent to first use show_models to get IDs. It also contextualizes the tool's output as needed by other operations, but does not explicitly list alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| lineItemId | Yes | Line item ID (from show_lineitems or show_alllineitems) | |
| dimensionId | Yes | Dimension ID (from show_lineitem_dimensions or show_viewdetails) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses that the tool combines two calls (behavioral note) and the name resolution constraint. However, it does not explicitly state whether the operation is read-only or other safety implications, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first explains the purpose and combination, the second adds an important usage note. It is concise, front-loaded, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description explains the purpose and parameter sources, it lacks any mention of the output format or pagination (though limit is in schema). For a listing tool with no output schema, a brief note on what is returned would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds value by clarifying the source of lineItemId and dimensionId, and the limitation on modelId. This goes beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists dimension items for a specific line item's dimension, and explicitly distinguishes itself as a combination of show_lineitem_dimensions and show_dimensionitems in one call, differentiating it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use this tool (instead of two separate calls) and notes the limitation that model ID must be used (name not supported). However, it does not explicitly state when not to use it or provide alternative approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_lineitemsA
List line items in a module. Line item IDs are needed for write_cells. Use includeAll=true for formulas, formats, and dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| moduleId | Yes | Anaplan module ID or name | |
| includeAll | No | Include full metadata (formula, format, version, appliesTo) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description omits any behavioral traits like read-only, permissions, or side effects. The agent cannot infer safety or required privileges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences, front-loaded with core purpose and a key usage note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters and no output schema, the description covers only the includeAll parameter well. Missing information about return format or other parameters' behavior beyond schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions, baseline is 3. Description adds one helpful tip for includeAll but does not elaborate on other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'List line items in a module' and connects to write_cells, but does not differentiate from sibling tool show_alllineitems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context for when to use (to get IDs for write_cells) and a tip for includeAll, but no explicit when-not or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_listmetadataB
Get list metadata including properties, parent, and item count.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states the information returned, without disclosing behavioral traits like read-only nature, speed, or side effects. Since annotations are absent, the description carries the full burden, which it fails to meet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no superfluous words. It efficiently conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple metadata retrieval tool, but lacks details about the output structure (e.g., what 'properties' includes). With no output schema, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the three parameters. The description adds no meaning beyond what is in the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving list metadata (properties, parent, item count). It uses specific verb 'get' and resource 'list metadata', and distinguishes itself from sibling tools like show_lists or show_listitems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_list_items or other list-related tools. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as pagination, response structure, or whether the operation is read-only. The description only states the purpose without behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain what the response contains. It mentions list IDs needed for other tools but does not describe the return format or fields. Completeness is adequate but not full.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 4 parameters. The description adds no additional meaning beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all dimensions (lists) in a model, which is a specific verb+resource. It distinguishes its purpose by explicitly linking to other list operations that require list IDs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use: to obtain list IDs needed for get_list_items, add/update/delete_list_items, and large volume reads. It provides context but does not explicitly state when not to use or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_modelcalendarA
Get model calendar including fiscal year settings. Use set_fiscalyear to change the fiscal year.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states 'Get' implying a read-only operation, but does not explicitly confirm safety (e.g., no side effects, read-only). It lacks disclosure of any behavioral traits such as required permissions, error behavior, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, both front-loaded with the primary action. Every sentence adds value: the first states the purpose, the second provides guidance on an alternative. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is minimal. It covers the basic purpose and usage hint, but does not explain return format, potential errors, or data scope. For a simple retrieval tool, it is adequate but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (workspaceId and modelId). The tool description does not add any additional semantic information about the parameters beyond what is already in the schema. With high schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the model calendar including fiscal year settings. It uses the verb 'get' which precisely indicates a read operation, and the resource 'model calendar' is specific. The mention of 'set_fiscalyear' as an alternative distinguishes it from the sibling tool for changing the fiscal year.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (to get the model calendar) and when to use an alternative ('Use set_fiscalyear to change the fiscal year'). This provides clear usage context, though it does not elaborate on prerequisites or other conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_modeldetailsC
Get model details including status and workspace binding.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| modelDetails | No | Include memory usage, creation date, and last modified |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does not state that the tool is read-only, nor does it mention side effects, permissions, or error conditions. This leaves the agent unaware of operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is concise and front-loads the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the presence of sibling tools, the description is insufficient. It does not help the agent decide when to use this tool, nor does it explain the output structure beyond a vague mention of 'status and workspace binding'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds no new meaning about the parameters beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'model details' with specifics like 'status and workspace binding'. It is clear but does not explicitly differentiate from sibling tools such as show_modelstatus or show_allmodels, which might reduce purpose clarity for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or compare to similar tools like show_modelstatus or show_models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_modelsB
List models in a workspace. Filter by state param (PRODUCTION, UNLOCKED, etc). Use modelDetails=true for memory/dates. Use show_modules next.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| state | No | Filter by model state | |
| modelDetails | No | Include memory usage, creation date, and last modified | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It implies read-only listing but does not disclose behavioral traits such as authorization needs, rate limits, or any side effects beyond listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each adding value: main action, filter options, and a chaining suggestion. No fluff, front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the basic listing and filtering but lacks explanation of return format or pagination behavior. With no output schema and 5 parameters, more detail on output or error conditions would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description reinforces 'state' and 'modelDetails' parameters but does not add significant new meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List models in a workspace' with specific verb and resource. It differentiates from siblings by mentioning workspace scoping and filter options, but does not explicitly contrast with 'show_allmodels'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides hints like 'Use show_modules next' and mentions filtering by state and modelDetails, but lacks guidance on when not to use this tool or alternatives for broader model listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_modelstatusA
Check model status including memory usage and export progress.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully convey behavioral traits. It indicates a read-only operation ('Check'), which is transparent, but fails to disclose any side effects, access requirements, or limitations such as data staleness or performance impact. The description is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that communicates the core functionality efficiently, with no redundant or irrelevant information. It is front-loaded with the action and resource, making it quickly understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides the key aspects checked (memory usage, export progress) but does not cover potential error scenarios, output format, or limitations. For a moderately complex tool with two required parameters, the description is adequate but leaves some gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters, so baseline is 3. The description does not add any additional semantic meaning beyond what the schema already provides. It doesn't elaborate on how workspaceId and modelId relate to the model status query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'check' and the resource 'model status', and further specifies the aspects checked: memory usage and export progress. This distinguishes it from sibling tools like show_modeldetails, which likely covers configuration, and show_tasks, which covers task status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or situations where another sibling tool would be more appropriate. The lack of usage guidance leaves the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| moduleId | Yes | Anaplan module ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the default viewId equals the moduleId, which is a key behavioral trait. However, it does not mention read-only nature, error handling, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no unnecessary words. The first sentence states the core purpose, and the second provides a practical usage tip.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description only vaguely mentions 'module details with default view dimension metadata' without specifying the exact return structure. This is insufficient for an agent to fully understand what data it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for parameters, so the baseline is 3. The description does not add extra parameter semantics beyond the schema, but also does not contradict or mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves module details with default view dimension metadata (rows, columns, pages). It distinguishes from sibling 'show_' tools by specifying the inclusion of default view dimensions and directly linking to read_cells usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: use this tool to get the viewId for read_cells. However, it does not explicitly state when not to use it or compare to alternatives like show_viewdetails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'List' implying a read-only operation but does not explicitly state safety, pagination behavior, or other traits. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste. The main action is front-loaded, and usage guidance is provided concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, no output schema, and no annotations, the description is fairly complete: it states the purpose, provides alternatives, and the schema covers parameters. Could mention response format, but not essential for this type of tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond what the schema provides for parameters; it only lists the tool's function.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all modules in a model' with a specific verb and resource. It also distinguishes from siblings (show_lineitems, show_savedviews), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use alternatives: 'Use show_lineitems to see a module's line items, or show_savedviews to find views for read_cells.' This provides clear guidance on when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_processdetailsA
Get process definition metadata including the chain of import/export actions.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| processId | Yes | Process ID or name | |
| showImportDataSource | No | Include import data source details for IMPORT actions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates a read operation but does not disclose authentication requirements, rate limits, or behavior in edge cases (e.g., invalid process ID). It provides basic transparency but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. It is efficient with no wasted words, though could benefit from slight restructuring for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the return structure. It mentions 'metadata including chain of import/export actions' but does not describe other metadata fields or pagination. Adequate but incomplete for a tool with 4 parameters and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all 4 parameters. The description adds no additional meaning beyond what the schema already provides, so it meets the baseline with no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get) and resource (process definition metadata), and specifies included details (chain of import/export actions), distinguishing it from sibling show_* tools that focus on individual actions, imports, or exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (need process metadata with action chain), but does not explicitly state when not to use or mention alternatives among the many sibling tools. No exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_processesB
List available processes (chained import/export actions). Use run_process to execute, then get_action_status to monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool lists processes but does not disclose behavioral traits such as read-only nature, pagination via limit parameter, or filtering via search. This leaves significant gaps for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence plus a brief follow-up, with no wasted words. It is concise and front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain what fields are returned or mention pagination behavior. Missing guidance on using show_processdetails for details. Incomplete for a tool with 4 parameters and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra parameter meaning beyond the schema. It does not describe workspaceId, modelId, limit, or search, so no added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available processes, defined as chained import/export actions. It distinguishes from sibling tools like run_process and get_action_status by mentioning them as subsequent steps, but does not explicitly differentiate from show_processdetails or show_actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage flow: list processes with this tool, then run_process, then get_action_status to monitor. It implies context for when to use this tool but does not include explicit when-not-to-use instructions or mention alternatives like show_processdetails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| moduleId | Yes | Anaplan module ID or name | |
| includeSubsidiaryViews | No | Include unsaved subsidiary views in results | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the listing behavior, including the includeSubsidiaryViews parameter for unsaved views. No annotations exist, so description carries full burden; it does not mention side effects or auth, but as a read operation, it is sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus a tip, no wasted words. Front-loaded with the main action and key usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks description of the return value structure or fields, which is important since no output schema is provided. For a tool used to retrieve view IDs, the response format is relevant context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% but description adds value by explaining when to use includeSubsidiaryViews and providing a tip that moduleId works as a default viewId, which goes beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists saved views in a module, with a specific tip for unsaved subsidiary views. Distinguishes from sibling tools like show_allviews or show_viewdetails by focusing on module-specific saved views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on why view IDs are needed (for read_cells) and a tip about moduleId as default viewId. However, does not explicitly specify when not to use this tool versus alternatives like show_allviews.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| actionType | Yes | Type of action | |
| actionId | Yes | Action ID or name | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the type of data returned (task history, taskIds) but does not disclose if the operation is read-only or any other side effects, missing some behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words, clearly front-loads the main purpose and usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description effectively explains return value (taskIds) and links to related tools. It covers essential usage context, but could mention pagination or limit behavior more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description adds value by connecting parameters to usage context (e.g., import/export/process/action) but does not elaborate on parameter details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists task history for specific action types (imports, exports, processes, actions) and explains the purpose of returned taskIds, distinguishing it from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for how to use the tool (e.g., to get taskIds for cancellation or download), but does not explicitly state when not to use it or compare it with similar tools like show_actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_userdetailsB
Get user details by ID
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | Anaplan user ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states a read operation but omits permissions required, what specific details are returned, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is insufficiently complete. It does not specify what 'user details' entails, leaving the agent unaware of the return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single 'userId' parameter described as 'Anaplan user ID'. The description adds no additional meaning beyond what the schema already provides, meeting baseline but not exceeding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get user details by ID' clearly states a specific verb ('get') and resource ('user details'), with a clear parameter (by ID). It effectively distinguishes from sibling tool 'show_users', which lists all users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'show_users' or 'show_viewdetails'. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_usersB
List all users in the tenant
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort field (e.g., '%2BemailAddress' for ascending email) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits but only says 'List all users'. It omits read-only nature, output format, pagination, or any constraints beyond what's in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks necessary details, making it slightly under-specified for a tool with optional parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no behavioral annotations, the description is incomplete. It does not explain return values, pagination behavior, or how the listing is scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond 'List all users in the tenant'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List all users in the tenant', which is a specific verb and resource, clearly distinguishing it from sibling tools like show_userdetails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., show_userdetails, lookup_dimensionitems), nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only listing operation but does not detail pagination behavior, error handling (e.g., if model not found), or rate limits. The limit parameter description in the schema partially compensates, but the tool description itself lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences. It front-loads the core purpose and then adds an important usage note. Every sentence provides value without any redundant or unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with three parameters and no output schema, the description covers the essential: what it does, why to use it (for set_versionswitchover), and a key constraint (requires model ID). It lacks details on return structure or pagination, but given the tool's simplicity, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds minimal extra information beyond what is in the schema, such as the note about model ID requirement which is also in the schema. Thus, the description does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists version metadata such as Current and Forecast for a model. It specifies the verb 'List' and the resource 'version metadata', and distinguishes itself from sibling 'show_*' tools by focusing on versions. The mention that version IDs are needed for set_versionswitchover adds context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that a model ID is required and that name resolution is not supported, guiding users to first use show_models. It also states that version IDs output are used for set_versionswitchover, indicating a specific use case. However, it does not provide explicit when-not-to-use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_viewdetailsA
Get view dimension layout (rows, columns, pages). Dimension IDs from here are needed for write_cells and show_viewdimensionitems.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| moduleId | Yes | Anaplan module ID or name | |
| viewId | Yes | Saved view ID or name (from show_savedviews, or use moduleId as default view) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read operation ('Get view dimension layout') and provides a link to dependent tools, but does not explicitly state read-only or disclose any behavioral traits like authorization requirements or side effects. With no annotations, the description carries the full burden and barely meets the minimum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence conveys the core action, and the second provides essential follow-up context about how the output is used. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the purpose and its role in a workflow, but does not describe the output structure or any prerequisites (beyond the parameters). With four required parameters and no output schema, the description could be more complete regarding what the user receives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description. The tool description does not add additional meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves view dimension layout (rows, columns, pages) and explicitly links to sibling tools (write_cells, show_viewdimensionitems) by stating the IDs are needed for them, effectively distinguishing its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions that dimension IDs from this tool are prerequisites for write_cells and show_viewdimensionitems, providing clear context for when to use this tool. However, it does not discuss when not to use it or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | Anaplan model ID (name resolution not supported -- use show_models to find the ID) | |
| viewId | Yes | View ID (from show_savedviews, or use moduleId as default view) | |
| dimensionId | Yes | Dimension ID (from show_lineitem_dimensions or show_viewdetails) | |
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It only states it lists items and requires model ID, but lacks details on pagination, performance, side effects, or that it returns only visible items. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and contains no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no annotations, the description is too brief. It lacks details on return format, error handling, and does not leverage sibling context to guide usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds one extra semantic point about model ID not supporting name resolution, but otherwise does not augment the schema descriptions meaningfully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists items in a dimension filtered by a view, distinguishing it from sibling tools like show_dimensionitems and show_viewdetails by specifying the filtering aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is 'useful for understanding what data a view includes' and notes the requirement for model ID, but does not explicitly contrast with alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_workspacedetailsA
Get workspace details including size and active status.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| tenantDetails | No | Include workspace size and quota information |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It indicates a read operation ('Get') but does not disclose potential side effects, permissions, or error handling. The minimal disclosure is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 8 words with no extraneous information. Every word serves to convey the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should more fully explain what data is returned. It mentions only two fields (size and active status), but likely more details are included. It is minimally complete but could be more informative given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions. The tool description adds value by mentioning 'active status' which is not in any parameter description (though tenantDetails hints at size and quota). This provides additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'workspace details' with specific fields 'size and active status'. It effectively distinguishes from sibling tools like 'show_workspaces' which lists all workspaces, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'show_workspaces' or other detail tools. Given the many sibling tools, explicit usage context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_workspacesA
List all accessible Anaplan workspaces. Use tenantDetails=true for size/quota info. Start here, then use show_models.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items to return (default 50, max 1000) | |
| search | No | Filter by name or ID (case-insensitive substring match) | |
| tenantDetails | No | Include workspace size and quota information |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read operation listing workspaces with optional parameter for extra info. Lacks details on pagination, default limit, or what 'accessible' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second provides usage hint. No unnecessary words, excellent front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool but could improve: no output schema, no mention of pagination or error conditions. The hint to use show_models next adds context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are fully described in the input schema (100% coverage). The description only reiterates the tenantDetails usage, adding no new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all accessible Anaplan workspaces' with a specific verb and resource. It also distinguishes from sibling tools by advising 'Start here, then use show_models.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: use tenantDetails=true for size/quota info and start here before show_models. However, it does not explicitly differentiate from show_workspacedetails or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| listId | Yes | List ID or name | |
| items | Yes | Items to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses a key behavioral trait: if an item has a code value, the code field must be included in the update or an error occurs. This goes beyond a simple 'update' statement. However, it does not mention potential irreversibility or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: one for purpose and one for usage guidance and important constraint. No redundant information; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 required parameters and no output schema, the description covers the main purpose and a crucial edge case. It doesn't describe return values or error handling beyond the code note, but for a mutation tool this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the id parameter's purpose (from get_list_items) and highlighting the critical code field constraint, which is not obvious from the schema description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates existing items in a list, distinguishing it from sibling tools like add_list_items and delete_list_items. It also provides a prerequisite (use get_list_items) and a critical constraint about the code field.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly guides to use get_list_items to find item IDs before updating, and warns about the code field requirement. While it doesn't explicitly state when not to use it, the sibling context and the description itself provide sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| fileId | Yes | Anaplan file ID or name (from show_files) | |
| data | Yes | File content (CSV or text) | |
| compress | No | Compress upload with gzip (recommended for files >50MB) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It notes overwriting existing file, which is key. However, lacks details on authentication, error handling, or return format. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences with no fluff. First sentence states purpose, second gives usage tip, third provides workflow hint. Front-loaded key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main action, overwrite behavior, large file handling, and next step reference. Lacks error handling or rate limits, but for a file upload tool with 5 parameters and no output schema, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All five parameters have schema descriptions (100% coverage). The tool description reinforces the compress hint but adds no new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (upload), resource (Anaplan file), and behavior (overwrites existing). It specifies supported data types (CSV or text) and distinguishes from sibling tools like show_files (read-only) and run_import (different action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on using compress=true for large files, typical next step (run_import), and how to obtain fileId (show_files). Does not explicitly state when not to use, but workflow context is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | Anaplan workspace ID or name | |
| modelId | Yes | Anaplan model ID or name | |
| moduleId | Yes | Module ID or name | |
| data | Yes | Cell values to write. Supports both ID-based and name-based targeting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'write values', which indicates mutation, but lacks details on rate limits, authentication requirements, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the purpose, and provides additional detail without unnecessary verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with no output schema, the description should clarify return behavior (e.g., success/error responses) and constraints on value types. It is adequate but lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by explaining the dual targeting strategy (name-based vs ID-based), which goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool writes values to cells and distinguishes between ID-based and name-based targeting, setting it apart from read-only tools like read_cells.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use name-based vs ID-based targeting and mentions prerequisite tools for ID-based writes, but does not explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
82 tool updates
v1.2.0- Changed
add_list_items5 fields changed- added
Input schema / properties / items / items / properties / parentAdded value: +{ + "description": "Parent item name for hierarchy placement", + "type": "string" +} - added
Input schema / properties / items / items / properties / subsetsAdded value: +{ + "additionalProperties": { + "type": "boolean" + }, + "description": "Subset membership (subset name -> true/false)", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / listId / descriptionPrevious value: -"List ID"New value: +"List ID or name" - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Added
bulk_delete_models - Added
cancel_task - Added
close_model - Added
create_list_readrequest - Added
create_view_readrequest - Added
delete_file - Changed
delete_list_items7 fields changed- changed
Input schema / properties / items / descriptionPrevious value: -"Items to delete"New value: +"Items to delete (specify id or code for each)" - added
Input schema / properties / items / items / properties / codeAdded value: +{ + "description": "Item code to delete (alternative to id)", + "type": "string" +} - changed
Input schema / properties / items / items / properties / id / descriptionPrevious value: -"Item ID to delete"New value: +"Item ID to delete (from get_list_items)" - removed
Input schema / properties / items / items / requiredRemoved value: -[ - "id" -] - changed
Input schema / properties / listId / descriptionPrevious value: -"List ID"New value: +"List ID or name" - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Added
delete_list_readrequest - Added
delete_view_readrequest - Changed
download_file5 fields changed- changed
Input schema / properties / fileId / descriptionPrevious value: -"Anaplan file ID"New value: +"Anaplan file ID or name (from show_files)" - added
Input schema / properties / fileNameAdded value: +{ + "description": "Optional local file name when saveToDownloads is true", + "type": "string" +} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - added
Input schema / properties / saveToDownloadsAdded value: +{ + "description": "If true, save the file to ~/Downloads without decoding", + "type": "boolean" +} - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Added
download_importdump - Added
download_optimizer_log - Added
download_processdump - Changed
get_action_status6 fields changed- changed
Input schema / properties / actionId / descriptionPrevious value: -"Action ID"New value: +"Action ID or name" - changed
Input schema / properties / actionType / enumPrevious value: -[ - "imports", - "exports", - "processes" -]New value: +[ + "imports", + "exports", + "processes", + "actions" +] - added
Input schema / properties / includeProcessDetailsAdded value: +{ + "description": "Include duration and startTime for each process step", + "type": "boolean" +} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / taskId / descriptionPrevious value: -"Task ID"New value: +"Task ID (from run_import, run_export, run_process, or run_delete response)" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Changed
get_list_items6 fields changed- added
Input schema / properties / includeAllAdded value: +{ + "description": "Include subsets, properties, and selective access details", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Max items to return (default 50, max 1000)", + "type": "number" +} - changed
Input schema / properties / listId / descriptionPrevious value: -"Anaplan list ID"New value: +"Anaplan list ID or name" - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - added
Input schema / properties / searchAdded value: +{ + "description": "Filter by name or ID (case-insensitive substring match)", + "type": "string" +} - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Added
get_list_readrequest - Added
get_list_readrequest_page - Removed
get_model - Removed
get_module - Added
get_view_readrequest - Added
get_view_readrequest_page - Removed
list_exports - Removed
list_files - Removed
list_imports - Removed
list_line_items - Removed
list_lists - Removed
list_models - Removed
list_modules - Removed
list_processes - Removed
list_views - Removed
list_workspaces - Added
lookup_dimensionitems - Added
open_model - Added
preview_list - Changed
read_cells8 fields changed- added
Input schema / properties / exportModuleIdAdded value: +{ + "description": "Module ID required when using exportType", + "type": "string" +} - added
Input schema / properties / exportTypeAdded value: +{ + "description": "CSV export layout type (requires moduleId)", + "enum": [ + "GRID_CURRENT_PAGE", + "GRID_ALL_PAGES", + "TABULAR_SINGLE_COLUMN", + "TABULAR_MULTI_COLUMN" + ], + "type": "string" +} - added
Input schema / properties / maxRowsAdded value: +{ + "description": "Limit the number of data rows returned", + "type": "number" +} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / moduleId / descriptionPrevious value: -"Module ID"New value: +"Module ID or name" - added
Input schema / properties / pagesAdded value: +{ + "description": "Page dimension selections to filter data (from show_viewdetails pages). Each entry selects a specific item on a page dimension.", + "items": { + "properties": { + "dimensionId": { + "type": "string" + }, + "itemId": { + "type": "string" + } + }, + "required": [ + "dimensionId", + "itemId" + ], + "type": "object" + }, + "type": "array" +} - changed
Input schema / properties / viewId / descriptionPrevious value: -"Saved view ID"New value: +"Saved view ID or name (from show_savedviews), or use the moduleId as the default viewId" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Added
reset_list_index - Changed
run_delete3 fields changed- changed
Input schema / properties / deleteActionId / descriptionPrevious value: -"Delete action ID"New value: +"Delete action ID or name (from show_actions)" - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Changed
run_export5 fields changed- changed
Input schema / properties / exportId / descriptionPrevious value: -"Export action ID"New value: +"Export action ID or name" - added
Input schema / properties / fileNameAdded value: +{ + "description": "Optional local file name when saveToDownloads is true", + "type": "string" +} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - added
Input schema / properties / saveToDownloadsAdded value: +{ + "description": "If true, save the exported file to ~/Downloads", + "type": "boolean" +} - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Changed
run_import6 fields changed- changed
Input schema / properties / data / descriptionPrevious value: -"CSV or JSON data to import"New value: +"CSV or JSON data matching the import's expected column format. Use show_importdetails to check the column mapping." - changed
Input schema / properties / fileId / descriptionPrevious value: -"File ID to upload data to before running import"New value: +"File ID or name to upload data to (from show_files). Use show_importdetails to find the source file for this import." - changed
Input schema / properties / importId / descriptionPrevious value: -"Import action ID"New value: +"Import action ID or name (from show_imports)" - added
Input schema / properties / mappingParametersAdded value: +{ + "description": "Runtime mapping parameters for the import (e.g., specify which Version to import into)", + "items": { + "properties": { + "entityName": { + "description": "Dimension value (e.g., 'Actual')", + "type": "string" + }, + "entityType": { + "description": "Dimension type (e.g., 'Version')", + "type": "string" + } + }, + "required": [ + "entityType", + "entityName" + ], + "type": "object" + }, + "type": "array" +} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Changed
run_process4 fields changed- added
Input schema / properties / mappingParametersAdded value: +{ + "description": "Runtime mapping parameters for the process (e.g., specify which Version to import into)", + "items": { + "properties": { + "entityName": { + "description": "Dimension value (e.g., 'Actual')", + "type": "string" + }, + "entityType": { + "description": "Dimension type (e.g., 'Version')", + "type": "string" + } + }, + "required": [ + "entityType", + "entityName" + ], + "type": "object" + }, + "type": "array" +} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / processId / descriptionPrevious value: -"Process ID"New value: +"Process ID or name (from show_processes)" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Added
set_currentperiod - Added
set_fiscalyear - Added
set_versionswitchover - Added
show_actiondetails - Added
show_actions - Added
show_alllineitems - Added
show_allmodels - Added
show_allviews - Added
show_currentperiod - Added
show_currentuser - Added
show_dimensionitems - Added
show_exportdetails - Added
show_exports - Added
show_files - Added
show_importdetails - Added
show_imports - Added
show_lineitem_dimensions - Added
show_lineitem_dimensions_items - Added
show_lineitems - Added
show_listmetadata - Added
show_lists - Added
show_modelcalendar - Added
show_modeldetails - Added
show_models - Added
show_modelstatus - Added
show_moduledetails - Added
show_modules - Added
show_processdetails - Added
show_processes - Added
show_savedviews - Added
show_tasks - Added
show_userdetails - Added
show_users - Added
show_versions - Added
show_viewdetails - Added
show_viewdimensionitems - Added
show_workspacedetails - Added
show_workspaces - Changed
update_list_items6 fields changed- changed
Input schema / properties / items / items / properties / id / descriptionPrevious value: -"Item ID"New value: +"Item ID (from get_list_items)" - added
Input schema / properties / items / items / properties / parentAdded value: +{ + "description": "Parent item name for hierarchy placement", + "type": "string" +} - added
Input schema / properties / items / items / properties / subsetsAdded value: +{ + "additionalProperties": { + "type": "boolean" + }, + "description": "Subset membership (subset name -> true/false)", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / listId / descriptionPrevious value: -"List ID"New value: +"List ID or name" - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Changed
upload_file4 fields changed- added
Input schema / properties / compressAdded value: +{ + "description": "Compress upload with gzip (recommended for files >50MB)", + "type": "boolean" +} - changed
Input schema / properties / fileId / descriptionPrevious value: -"Anaplan file ID"New value: +"Anaplan file ID or name (from show_files)" - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name"
- Changed
write_cells15 fields changed- changed
Input schema / properties / data / descriptionPrevious value: -"Array of cell values to write"New value: +"Cell values to write. Supports both ID-based and name-based targeting." - removed
Input schema / properties / data / items / properties / dimensions / additionalPropertiesRemoved value: -{ - "type": "string" -} - changed
Input schema / properties / data / items / properties / dimensions / descriptionPrevious value: -"Dimension member names keyed by dimension name"New value: +"Dimension coordinates (use IDs or names)" - added
Input schema / properties / data / items / properties / dimensions / itemsAdded value: +{ + "properties": { + "dimensionId": { + "description": "Dimension ID (from show_lineitem_dimensions)", + "type": "string" + }, + "dimensionName": { + "description": "Dimension name (alternative to dimensionId)", + "type": "string" + }, + "itemCode": { + "description": "Item code (alternative to itemId/itemName)", + "type": "string" + }, + "itemId": { + "description": "Item ID (from show_dimensionitems)", + "type": "string" + }, + "itemName": { + "description": "Item name (alternative to itemId)", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / data / items / properties / dimensions / propertyNamesRemoved value: -{ - "type": "string" -} - changed
Input schema / properties / data / items / properties / dimensions / typePrevious value: -"object"New value: +"array" - added
Input schema / properties / data / items / properties / lineItemIdAdded value: +{ + "description": "Line item ID (from show_lineitems)", + "type": "string" +} - added
Input schema / properties / data / items / properties / lineItemNameAdded value: +{ + "description": "Line item name (alternative to lineItemId)", + "type": "string" +} - added
Input schema / properties / data / items / properties / value / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } +] - removed
Input schema / properties / data / items / properties / value / typeRemoved value: -"string" - removed
Input schema / properties / lineItemIdRemoved value: -{ - "description": "Line item ID to write to", - "type": "string" -} - changed
Input schema / properties / modelId / descriptionPrevious value: -"Anaplan model ID"New value: +"Anaplan model ID or name" - changed
Input schema / properties / moduleId / descriptionPrevious value: -"Module ID"New value: +"Module ID or name" - changed
Input schema / properties / workspaceId / descriptionPrevious value: -"Anaplan workspace ID"New value: +"Anaplan workspace ID or name" - changed
Input schema / requiredPrevious value: -[ - "workspaceId", - "modelId", - "moduleId", - "lineItemId", - "data" -]New value: +[ + "workspaceId", + "modelId", + "moduleId", + "data" +]
25 tool updates
v0.1.0- Added
add_list_items - Added
delete_list_items - Added
download_file - Added
get_action_status - Added
get_list_items - Added
get_model - Added
get_module - Added
list_exports - Added
list_files - Added
list_imports - Added
list_line_items - Added
list_lists - Added
list_models - Added
list_modules - Added
list_processes - Added
list_views - Added
list_workspaces - Added
read_cells - Added
run_delete - Added
run_export - Added
run_import - Added
run_process - Added
update_list_items - Added
upload_file - Added
write_cells
TDQS
Many tools have overlapping purposes, such as show_models, show_allmodels, show_modeldetails, and show_modelstatus, which could confuse an agent. While descriptions are detailed, the sheer number of similar show_* tools makes it hard to distinguish without careful reading.
All tools follow a consistent verb_noun pattern using snake_case (e.g., show_models, run_import, delete_file). The naming is predictable and adheres to a uniform convention throughout the set.
With 70 tools, the server is excessively large. Many tools could be consolidated (e.g., show_models and show_allmodels could be a single tool with a parameter). The high count overwhelms the user and suggests scope creep.
The tool set covers the full lifecycle of Anaplan model management, including CRUD for lists, imports/exports, processes, views, users, and workspace operations. There are no obvious gaps for typical administrative tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
The Ramp MCP server enables users to securely connect Ramp with AI assistants like ChatGPT and Claude to query financial data and take actions using natural language. It transforms Ramp's developer API into a SQL interface that LLMs can query, allowing admins to analyze spend trends, identify cost savings, and run complex SQL analyses on comprehensive datasets (transactions, purchase orders, vendors, users), while all users can manage cards, view transactions, request reimbursements, and get expense policy answers.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA universal MCP server that connects any REST API to AI assistants via OpenAPI or Postman specifications. It enables dynamic tool creation with GraphQL-style field selection and automatic schema inference for efficient data retrieval.316-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to manage network infrastructure through the Equinix Fabric API, including ports, connections, and service profiles. It provides 22 tools for tasks like creating virtual connections, managing service tokens, and querying metro locations.1MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI assistants the ability to connect to, query, profile, and monitor data sources — turning any LLM into an interactive data engineering copilot.MIT
- AlicenseAqualityDmaintenanceA read-only MCP server for Anaplan that exposes 5 tools for business users to explore data through an AI assistant, with session caching and metadata gating.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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