octane-mcp
Provides tools for interacting with OpenText ALM Octane and OpenText Core Software Delivery Platform. Supports searching, creating, updating, deleting, and bulk-updating entities; resolving names to metadata IDs; translating natural filters into Octane OQL; managing backlog items, comments, manual tests, Gherkin scripts, suites, planned and executed runs, run step results, attachments, traceability, release status rollups, and history.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
octane-mcp
An MCP server for OpenText ALM Octane and OpenText Core Software Delivery Platform (formerly ValueEdge).
Node only. No Python, no install step: run it with npx.
{
"mcpServers": {
"octane": {
"command": "npx",
"args": ["-y", "octane-mcp"],
"env": {
"OCTANE_BASE_URL": "https://octane.example.com:8443",
"OCTANE_SHARED_SPACE_ID": "1001",
"OCTANE_WORKSPACE_ID": "1002",
"OCTANE_CLIENT_ID": "your_api_key_id",
"OCTANE_CLIENT_SECRET": "your_api_key_secret"
}
}
}
}That block works in Claude Desktop (claude_desktop_config.json), Claude Code (claude mcp add-json octane '<that json>'),
Cursor, Windsurf and VS Code (.vscode/mcp.json uses "servers" instead of "mcpServers" and "type": "stdio").
Why another Octane MCP server
Octane's REST API is metadata driven and full of ids: phases, list nodes, workspace users, reference types. Most of what an assistant gets wrong is guessing those. This server:
Accepts names everywhere.
owner: "jane@x.com",phase: "Fixed",severity: "High",release: "R26.3",@me. Names are resolved to{type, id}through live metadata and cached per workspace.Translates natural filters (
phase = 'New' and owner = @me and creation_time >= '2026-09-01') into Octane OQL, including!=,>=,in,between,~contains,nulland nested references.Covers the testing side, not just backlog: manual test steps, Gherkin scripts, suites, planned and executed runs, run step results, attachments, traceability and release status rollups.
Returns compact output. References shrink to
{id, name}, HTML memos become text, noise fields are dropped. Ask forraw: truewhen you need everything.Fails loudly. Octane's HTTP 200 "partial error" responses, write 404s and 400s are surfaced with the server's own message and a hint about which tool to call next.
Is honest about writes. Every tool carries MCP annotations;
OCTANE_READ_ONLY=trueremoves write tools entirely.
Related MCP server: mcp-server-polarion
Tools
Area | Tools |
Any entity |
|
Discovery |
|
Backlog |
|
Testing |
|
Files |
|
Insight |
|
Resources: octane://guide/query (filter syntax) and octane://schema/{entity}.
Every tool takes optional workspace_id and shared_space_id to act on another workspace with the same session.
Configuration
Variable | Purpose |
|
|
| Default scope. Discover others with |
| API access key (Settings > Spaces > API Access). Preferred; required for SSO/SaaS. |
| Alternative to the API key. |
| Path to a PEM bundle for an internal CA. Preferred fix for self-signed certificates. |
|
|
| Honoured (Node's fetch ignores them by default; this server does not). |
|
|
| Send |
| Your email or full name, used for |
| JSON map of friendly names to instance fields, e.g. |
| Request timeout. Default 30000. |
You can also keep these in a file and pass --env-file /path/to/.env. A .env in the current directory is picked up automatically.
Internal networks and self-signed certificates
Prefer the CA bundle: export the corporate root certificate as PEM and set OCTANE_CA_CERT. Verification stays on and
the chain validates. If that is not possible, OCTANE_VERIFY_SSL=false turns verification off. This is applied to the
undici dispatcher used by this server, never through NODE_TLS_REJECT_UNAUTHORIZED, so other TLS connections in the
same process are unaffected.
Check the connection
npx octane-mcp --check --env-file ~/.octane.envSigns in, prints the workspace name and the resolved current user, signs out.
Writing filters
phase = 'New' and severity in ('High', 'Urgent')
owner = @me and sprint = null
creation_time >= '2026-09-01' and not phase = 'Closed'
parent = 1001 # children of feature 1001
name ~ 'timeout' # contains
release = {name ~ '26.3'} # explicit nested referenceNative Octane OQL (phase EQ {name EQ ^New^};owner EQ {id EQ 1002}) is accepted unchanged.
The full guide is served as the octane://guide/query resource.
Development
npm install
npm test # vitest, no Octane needed
npm run typecheck
npm run build # single-file bundle in dist/
node dist/index.js --helpTests run against a scripted fake of Octane's HTTP responses; nothing talks to a real server.
Credits and licence
MIT. See LICENSE.
The idea and much of the initial tool inventory were inspired by Robin Hermanek's Python server rhermanek/mcp_alm_octane (GPL-3.0). This project is an independent implementation in TypeScript and shares no code with it, but it would not have started without that reference.
API behaviour follows the official ALM Octane REST API documentation.
This server cannot be deployed
Maintenance
Related MCP Connectors
Ask your Quickbase apps in plain language. Read-only by default; writes need human approval.
- octoperfDeprecatedio.github.OctoPerf
Drive OctoPerf load testing from any AI agent: import, edit, validate, run scenarios, read metrics.
Create and manage test cases, test runs and results in Testiny from your AI assistant.
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with OpenText ALM Octane for querying, creating, and updating defects, stories, tests, and work items through natural language.5 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to read, write, and reorganize Polarion ALM data, including documents, work items, test runs, and traceability links.47MIT
- AlicenseNot gradedqualityAmaintenanceConnects AI assistants to an Octopus instance so they can inspect, query, and diagnose deployments, projects, releases, runbooks, tasks, tenants, targets, and other resources, and optionally create releases, trigger deployments, run runbooks, or call the REST API directly. Supports read-only mode, toolset selection, and API key or short-lived token authentication.452 npmMIT
- AlicenseNot gradedqualityAmaintenanceConnects AI assistants to an Octopus instance so they can inspect, query, and diagnose deployments, projects, releases, runbooks, tenants, and infrastructure through curated read and write tools. It can also create releases, trigger deployments, run runbooks, and call Octopus REST APIs, with read-only and delete-restricted modes for safer operation.452 npmMIT