MCP Server for Anaplan.
Project description
anaplan-mcp
MCP server wrapping the Anaplan SDK. Plug it into Claude Desktop, Cursor, or any MCP client and talk to Anaplan directly.
Setup
Add to your MCP client config (claude_desktop_config.json, Cursor settings, …):
{
"mcpServers": {
"anaplan": {
"command": "uvx",
"args": ["anaplan-mcp"],
"env": {
"ANAPLAN_WORKSPACE_ID": "...",
"ANAPLAN_MODEL_ID": "...",
"ANAPLAN_EMAIL": "me@example.com",
"ANAPLAN_PASSWORD": "secret"
}
}
}
}
Certificate auth is also supported — swap the last two vars for:
"ANAPLAN_CERTIFICATE": "/path/to/cert.pem",
"ANAPLAN_PRIVATE_KEY": "/path/to/key.pem"
Python API
For OAuth or any custom auth, use the Python API and pass any httpx.Auth subclass:
from anaplan_mcp import AnaplanMCP
# Basic / cert via env vars
AnaplanMCP.from_env().run()
# Explicit credentials
AnaplanMCP(workspace_id="...", user_email="...", password="...").run()
AnaplanMCP(workspace_id="...", certificate="...", private_key="...").run()
# Any httpx.Auth subclass (OAuth, token, …)
from anaplan_sdk._auth import AnaplanLocalOAuth
AnaplanMCP(workspace_id="...", auth=AnaplanLocalOAuth(...)).run()
Running locally with non-standard auth
For auth that can't be expressed as env vars (e.g. OAuth), create a local script and point your MCP client at it:
server.py:
from anaplan_sdk._auth import AnaplanLocalOAuth # or any httpx.Auth subclass
from anaplan_mcp import AnaplanMCP
AnaplanMCP(
workspace_id="<your-workspace-id>",
auth=AnaplanLocalOAuth(client_id="...", client_secret="...", redirect_uri="..."),
).run()
MCP client config:
{
"mcpServers": {
"anaplan": {
"command": "uv",
"args": ["run", "/path/to/server.py"]
}
}
}
Filtering tools
AnaplanMCP(..., include={"tr", "audit"}) # whitelist API groups
AnaplanMCP(..., exclude={"cw"}) # blacklist API groups
AnaplanMCP(..., exclude_methods={"tr__delete_list_items"}) # suppress specific tools
| Group | Covers |
|---|---|
| (root) | Bulk file I/O, imports, exports |
audit |
Audit log, users |
tr |
Lists, modules, transactional writes |
alm |
Application Lifecycle Management |
cw |
CloudWorks integrations & connections |
cw.flows |
CloudWorks flows |
scim |
User provisioning (SCIM) |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anaplan_mcp-0.0.1.tar.gz.
File metadata
- Download URL: anaplan_mcp-0.0.1.tar.gz
- Upload date:
- Size: 66.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee5e7f0a16f41146d6d699ebc57d143c1869668eb9dc624899382226abbe4250
|
|
| MD5 |
8c6630756d2e81c5d07c57c85e8f0e77
|
|
| BLAKE2b-256 |
ed7524c5feacc1a84ded11077dc432b2e56bfe5124b8b670cda4043a61105ca1
|
File details
Details for the file anaplan_mcp-0.0.1-py3-none-any.whl.
File metadata
- Download URL: anaplan_mcp-0.0.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aeef21ed5af21e3b11bd42a0f7eea88813e541cbb4ea40e78ad1db95f6205b1
|
|
| MD5 |
24aac898c2996dffd735f7995f27a939
|
|
| BLAKE2b-256 |
a7a55810b32d23c1ff19228d16adaaf49c9d9699b464865c17c0cb68f4e10a1d
|