{"_id":"@acronis-platform/mcp","_rev":"3-00af73fabe7cc483c4a13934be83001c","name":"@acronis-platform/mcp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@acronis-platform/mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","acronis","acronis-cyber-platform","ai","llm","oauth","api","mcp-server"],"license":"MIT","_id":"@acronis-platform/mcp@1.0.0","maintainers":[{"name":"acronis_platform","email":"team-rnd-tools-github@acronis.com"},{"name":"yusuf_s","email":"Yusuf.Shamir@acronis.com"}],"bin":{"acronis-mcp":"bin/cli.js"},"dist":{"shasum":"052aaa8e01fa69c86ea4e18b8f38bf7e00dac524","tarball":"https://registry.npmjs.org/@acronis-platform/mcp/-/mcp-1.0.0.tgz","fileCount":5,"integrity":"sha512-kWwNiwuNQhOIakeA3rji4/kgoh3TQzkCCXCeYVVfq+QjJ0WBZ9iVTRrasUGO5g2ILHnE3jTQkaatAatyA5/nuw==","signatures":[{"sig":"MEUCIBD5Dy8rUECmRWmFNZnVlQ3S4HdJqdbQoZdvmoa3I+6VAiEA/MNv16KBp2u3l8gQeRt1l0jGjVn9CCU7wyW8t3+sep0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5123188},"main":"dist/bundle.js","type":"commonjs","engines":{"node":">=22"},"gitHead":"a9678965ab1f954dcf23e11f2f943144567001d0","private":false,"scripts":{"build":"esbuild index.ts --bundle --platform=node --outfile=dist/bundle.js","start":"tsx index.ts","prepack":"esbuild index.ts --bundle --platform=node --outfile=dist/bundle.js","typecheck":"tsc --noEmit","start:http":"MCP_TRANSPORT=http tsx index.ts"},"_npmUser":{"name":"acronis_platform","email":"team-rnd-tools-github@acronis.com"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server exposing the Acronis Cyber Platform API as tools for AI assistants, with OAuth authentication, stdio/HTTP transports, and dynamic tool discovery.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","esbuild":"^0.25","typescript":"^5","@sdk/mcp-tools-ts":"file:./mcp-tools"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.0_1784739961267_0.5544649731255338","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@acronis-platform/mcp","version":"1.0.1","keywords":["mcp","model-context-protocol","acronis","acronis-cyber-platform","ai","llm","oauth","api","mcp-server"],"license":"MIT","_id":"@acronis-platform/mcp@1.0.1","maintainers":[{"name":"acronis_platform","email":"team-rnd-tools-github@acronis.com"},{"name":"yusuf_s","email":"Yusuf.Shamir@acronis.com"}],"bin":{"acronis-mcp":"bin/cli.js"},"dist":{"shasum":"32694cdfef3b9a40a18ccecd99b53ab0e5da342b","tarball":"https://registry.npmjs.org/@acronis-platform/mcp/-/mcp-1.0.1.tgz","fileCount":5,"integrity":"sha512-fD5hdeNndo6ie3QkGoc5x8UXt1g+uiR1jXIAgNY3yRvgvwYa/YTfkukcFT+Vxl2zwSpNRtEFDrB45va2Nmd22A==","signatures":[{"sig":"MEUCIBN/aEYqTv2BNm8gy6QEwy+4Z1nitz054JjXSN26zXgSAiEAmCmHQ2puA1zs3RVHhL6eaSXQawKYjSdWBnSi7Z+z5SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5123224},"main":"dist/bundle.js","type":"commonjs","engines":{"node":">=22"},"gitHead":"2353910444c8221888cc6a26afd0fc892d924c37","scripts":{"build":"esbuild index.ts --bundle --platform=node --outfile=dist/bundle.js","start":"tsx index.ts","prepack":"esbuild index.ts --bundle --platform=node --outfile=dist/bundle.js","typecheck":"tsc --noEmit","start:http":"MCP_TRANSPORT=http tsx index.ts"},"_npmUser":{"name":"acronis_platform","email":"team-rnd-tools-github@acronis.com"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server exposing the Acronis Cyber Platform API as tools for AI assistants, with OAuth authentication, stdio/HTTP transports, and dynamic tool discovery.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","esbuild":"^0.25","typescript":"^5","@sdk/mcp-tools-ts":"file:./mcp-tools"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.1_1784740494974_0.6902598930277575","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-07-22T17:06:01.059Z","modified":"2026-09-01T15:47:15.605Z","1.0.0":"2026-07-22T17:06:01.508Z","1.0.1":"2026-07-22T17:14:55.160Z"},"license":"MIT","keywords":["mcp","model-context-protocol","acronis","acronis-cyber-platform","ai","llm","oauth","api","mcp-server"],"description":"Model Context Protocol (MCP) server exposing the Acronis Cyber Platform API as tools for AI assistants, with OAuth authentication, stdio/HTTP transports, and dynamic tool discovery.","maintainers":[{"email":"team-rnd-tools-github@acronis.com","name":"acronis_platform"}],"readme":"# Acronis API MCP Server\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org/) 22 or later\n\n## Quick Start\n\nConfigure your MCP client to run the server via `npx -y @acronis-platform/mcp` — npx downloads\nand runs the published package on demand, so no manual installation or build step is\nrequired.\n\nSet authentication environment variables only if required by your API deployment.\n\n#### Claude Desktop\n\nConfig file location:\n\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\nOpen it via **Claude menu > Settings > Developer > Edit Config**, add the server entry, then **restart Claude Desktop**.\n\n```json\n{\n  \"mcpServers\": {\n    \"acronis-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@acronis-platform/mcp\"],\n      \"env\": {\n        \"API_BASE_URL\": \"https://mc-beta-cloud.acronis.com\",\n        \"OAUTH_CLIENT_ID\": \"my-client\",\n        \"OAUTH_CLIENT_SECRET\": \"my-secret\"\n      }\n    }\n  }\n}\n```\n\n[Claude Desktop MCP setup guide](https://modelcontextprotocol.io/docs/develop/connect-local-servers)\n\n#### GitHub Copilot (VS Code)\n\nCreate `.vscode/mcp.json` in your project root:\n\n```json\n{\n  \"servers\": {\n    \"acronis-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@acronis-platform/mcp\"],\n      \"env\": {\n        \"API_BASE_URL\": \"https://mc-beta-cloud.acronis.com\",\n        \"OAUTH_CLIENT_ID\": \"my-client\",\n        \"OAUTH_CLIENT_SECRET\": \"my-secret\"\n      }\n    }\n  }\n}\n```\n\nAfter saving, click **Start** in the MCP panel, then open Copilot Chat in **Agent** mode to use the tools.\n\n[GitHub Copilot MCP setup guide](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp)\n\n#### Devin\n\nAdd to `.devin/config.json` (team-wide) or `.devin/config.local.json` (personal, gitignored):\n\n```json\n{\n  \"mcpServers\": {\n    \"acronis-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@acronis-platform/mcp\"],\n      \"env\": {\n        \"API_BASE_URL\": \"https://mc-beta-cloud.acronis.com\",\n        \"OAUTH_CLIENT_ID\": \"my-client\",\n        \"OAUTH_CLIENT_SECRET\": \"my-secret\"\n      }\n    }\n  }\n}\n```\n\nOr register via the CLI (no environment variables; edit the config file afterward to add `env`):\n\n```bash\ndevin mcp add acronis-mcp -- npx -y @acronis-platform/mcp\n```\n\n[Devin MCP configuration guide](https://docs.devin.ai/cli/extensibility/mcp/configuration)\n\n## HTTP transport\n\n```bash\nAPI_BASE_URL=https://api.example.com \\\nOAUTH_CLIENT_ID=my-client \\\nOAUTH_CLIENT_SECRET=my-secret \\\nMCP_TRANSPORT=http \\\nMCP_BEARER_TOKEN=shared-secret \\\nnpm run start:http\n```\n\n> **Security:** when `client_credentials` is configured (`OAUTH_CLIENT_ID`/`OAUTH_CLIENT_SECRET`),\n> the server holds a privileged upstream token and reuses it for every caller. `MCP_BEARER_TOKEN`\n> is therefore **required** in HTTP mode with `client_credentials` — the server refuses to start\n> without it so the token is never exposed to unauthenticated callers.\n\n## Dynamic mode\n\nInstead of registering all tools upfront, expose two meta-tools — `_list_api_endpoints`\nand `_enable_api_endpoints` — and let the client activate endpoints on demand:\n\n```bash\nMCP_DYNAMIC_TOOLS=true npm start\n```\n\n## Environment variables\n\n### General\n\n| Variable | Default | Description |\n|---|---|---|\n| `API_BASE_URL` | `https://mc-beta-cloud.acronis.com` | Upstream API base URL. May include a path prefix (e.g. `https://api.example.com/api/v2`). |\n| `MCP_TRANSPORT` | `stdio` | Transport: `stdio` or `http` |\n| `MCP_INSTRUCTIONS` | _(baked default)_ | Usage instructions sent to MCP clients, overriding the built-in default |\n| `MCP_INSECURE` | `false` | Set to `true` to skip TLS certificate verification (dev/testing only) |\n| `MCP_VERBOSE` | `false` | Set to `true` to log forwarded request URLs and response status to stderr |\n\n### Tools\n\n| Variable | Default | Description |\n|---|---|---|\n| `MCP_TOOLS_INCLUDE` | _(all)_ | Comma-separated list of tool name patterns to expose. Supports `*` wildcards (e.g. `get_*,list_*`). Applied before `MCP_TOOLS_EXCLUDE`. |\n| `MCP_TOOLS_EXCLUDE` | _(none)_ | Comma-separated list of tool name patterns to hide. Applied after `MCP_TOOLS_INCLUDE`. |\n\n### Authentication\n\n| Variable | Default | Description |\n|---|---|---|\n| `OAUTH_TOKEN_URL` | `/api/2/idp/token` | OAuth token endpoint for `client_credentials` flow. An absolute URL (e.g. `https://…/token`) is used as-is; an absolute path (e.g. `/api/2/idp/token`) is resolved relative to `API_BASE_URL`. |\n| `OAUTH_CLIENT_ID` | — | OAuth client ID |\n| `OAUTH_CLIENT_SECRET` | — | OAuth client secret |\n| `OAUTH_SCOPES` | — | Comma-separated OAuth scopes (optional) |\n\n### HTTP transport\n\n| Variable | Default | Description |\n|---|---|---|\n| `MCP_HTTP_PORT` | `3000` | Port to listen on |\n| `MCP_HTTP_HOST` | `127.0.0.1` | Host to bind to |\n| `MCP_HTTP_ENDPOINT` | `/mcp` | Path to mount the MCP endpoint on |\n| `MCP_BEARER_TOKEN` | — | Shared secret MCP clients must present to connect |\n\n### Dynamic mode\n\n| Variable | Default | Description |\n|---|---|---|\n| `MCP_DYNAMIC_TOOLS` | `false` | Enable dynamic tool discovery |\n| `MCP_MAX_TOOLS_ENABLED` | `25` | Max simultaneously active tools (0 = unlimited) |\n| `MCP_MAX_TOOL_RESULTS` | `10` | Max results from `_list_api_endpoints` (0 = unlimited) |\n","readmeFilename":"README.md"}