@transcend-io/mcp-server-inventory
v0.5.5
Published
Transcend MCP Server — Data Inventory tools.
Maintainers
Keywords
Readme
@transcend-io/mcp-server-inventory
Beta — this package is under active development. APIs may change without notice.
Transcend MCP Server for data inventory management. Provides tools for managing data silos (integrations), data points, vendors, categories, and identifiers.
Requires Node.js ≥ 22.12 (see engines in package.json).
For local runs from this repository, copy secret.env.example to secret.env at the repo root (gitignored) and set the OAuth environment variables (see Run from the monorepo).
Install
Install the CLI globally:
npm install -g @transcend-io/mcp-server-inventoryOr run from a checkout of this repository (see Run from the monorepo below).
Usage
# With OAuth env vars in the environment; from the monorepo use secret.env (see Run from the monorepo)
TRANSCEND_OAUTH_CLIENT_ID=your-client-id \
TRANSCEND_OAUTH_CLIENT_SECRET=your-client-secret \
TRANSCEND_OAUTH_REDIRECT_PORT=your-client-redirect-port \
transcend-mcp-inventoryThe process speaks MCP over stdio and is meant to be launched by an MCP client (for example Cursor or Claude Desktop), not used as an interactive shell.
OAuth client setup
OAuth stdio is the recommended path for MCP clients (Cursor, Claude Desktop). Requires org admin access to create OAuth clients.
- Navigate to app.transcend.io/admin/oauth-clients and create an OAuth client.
- Copy the client ID and client secret.
- Choose an available localhost port number, then register
http://127.0.0.1:{port}/callbackon the OAuth client ({port}is the number you chose). Use127.0.0.1, notlocalhost, and ensure the path is/callback. SetTRANSCEND_OAUTH_REDIRECT_PORTto the same port number.
At startup the server verifies client ID, secret, and redirect URI. On first tool call it opens a browser for login. Tokens are session-only (in-memory).
OAuth scopes: ViewDataMap, ViewAssignedIntegrations, ManageDataMap, ManageAssignedIntegrations, ViewDataInventory, ViewAssignedDataInventory, ManageDataInventory, ManageAssignedDataInventory. The signed-in user must hold these permissions. See src/scopes.ts.
Full setup, troubleshooting, and multi-server guidance: MCP root README.
API key alternative: set
TRANSCEND_API_KEYinstead of OAuth vars for stdio (OAuth is disabled when both are set).
MCP client configuration
npx runs the package’s transcend-mcp-inventory binary (see bin in package.json).
{
"mcpServers": {
"transcend-inventory": {
"command": "npx",
"args": ["-y", "@transcend-io/mcp-server-inventory"],
"env": {
"TRANSCEND_OAUTH_CLIENT_ID": "your-client-id",
"TRANSCEND_OAUTH_CLIENT_SECRET": "your-client-secret",
"TRANSCEND_OAUTH_REDIRECT_PORT": "your-client-redirect-port"
}
}
}
}When developing in this repository, reuse the same variable names from root secret.env in the env block, or use your client’s env-file support if it has one.
Run from the monorepo
Credentials — From the repository root, copy
secret.env.exampletosecret.envand setTRANSCEND_OAUTH_CLIENT_ID,TRANSCEND_OAUTH_CLIENT_SECRET, andTRANSCEND_OAUTH_REDIRECT_PORT(and optional URL overrides).Build and run —
node ./dist/cli.mjsmatches thetranscend-mcp-inventorybin(usenodebecausepnpm exec transcend-mcp-inventorymay not resolve this package’s own binary in a pnpm workspace):
# from the repository root
pnpm exec turbo run build --filter="@transcend-io/mcp-server-inventory..."
set -a && source ./secret.env && set +a
pnpm -F @transcend-io/mcp-server-inventory exec node ./dist/cli.mjsAlternative: ./scripts/mcp-run.sh ./packages/mcp/mcp-server-inventory/dist/cli.mjs (sources secret.env when present; run after build).
See CONTRIBUTING.md for workspace layout and pnpm --filter workflows.
Environment variables
| Variable | Required (stdio OAuth) | Default | Description |
| ------------------------------- | ---------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| TRANSCEND_OAUTH_CLIENT_ID | Yes | — | Client ID from app.transcend.io/admin/oauth-clients |
| TRANSCEND_OAUTH_CLIENT_SECRET | Yes | — | Client secret from the same OAuth clients page |
| TRANSCEND_OAUTH_REDIRECT_PORT | Yes | — | Port number you choose for the OAuth callback server (must be available on your machine); must match the port in your registered redirect URI |
| TRANSCEND_OAUTH_REDIRECT_HOST | No | 127.0.0.1 | Loopback host for the OAuth callback (127.0.0.1 or ::1 for http://[::1]:{port}/callback) |
| TRANSCEND_OAUTH_ISSUER | No | auto-detected | OAuth issuer URL; production auto-detects region. Test-only override |
| TRANSCEND_API_KEY | No | — | API key for stdio (alternative to OAuth). Disables OAuth when set alongside client ID |
| TRANSCEND_API_URL | No | https://api.transcend.io | GraphQL backend API URL (matches CLI convention) |
| SOMBRA_URL | No | https://multi-tenant.sombra.transcend.io | Sombra REST API URL (matches CLI / SDK convention) |
Monorepo: keep these in root secret.env (from secret.env.example); see Run from the monorepo.
Tools
inventory_list_data_silos— List data silos (integrations)inventory_get_data_silo— Get data silo detailsinventory_create_data_silo— Create a data siloinventory_update_data_silo— Update a data siloinventory_list_data_points— List data pointsinventory_list_sub_data_points— List sub-data pointsinventory_list_categories— List data categoriesinventory_list_identifiers— List identifiersinventory_list_vendors— List vendorsinventory_analyze— Analyze inventory data
Related packages
Also available as part of the unified @transcend-io/mcp, which includes all domains. See the root README for the full list.
