@transcend-io/mcp-server
v3.0.0
Published
Model Context Protocol server for Transcend privacy platform - 60+ tools for DSR Automation, Consent Management, Data Inventory, Assessments, and more
Readme
Transcend MCP Server
Early Beta — This project is in early beta. APIs, tool schemas, and behavior may change without notice. Use at your own risk. This software is provided "as is" with no warranty or liability coverage. See LICENSE for details.
A Model Context Protocol (MCP) server that provides AI agents with comprehensive access to Transcend's privacy platform.
Features
65 tools across 8 product categories:
| Category | Tools | Description | |----------|-------|-------------| | DSR Automation | 12 | Submit, track, and manage Data Subject Requests | | Consent Management | 6 | Preferences, purposes, regimes, data flows, airgap bundles | | Preference Management | 6 | Query, upsert, delete user preferences | | Data Inventory | 10 | Data silos, vendors, data points, categories | | Data Discovery | 6 | LLM classification, NER, scans, plugins | | Assessments | 14 | Privacy assessments, templates, groups, AI prefill | | Workflows | 3 | Workflow management and email templates | | Admin | 8 | Organization, users, teams, API keys |
Installation
From Source
git clone https://github.com/transcend-io/MCP-server.git
cd MCP-server
npm install
npm run buildConfiguration
1. Get a Transcend API Key
- Log in to your Transcend Dashboard
- Navigate to Infrastructure → API Keys
- Create a new API key with the scopes you need
2. Configure Your MCP Client
Cursor IDE
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"transcend": {
"command": "npx",
"args": ["tsx", "/path/to/MCP-server/src/node-server.ts"],
"env": {
"TRANSCEND_API_KEY": "your-api-key-here"
}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"transcend": {
"command": "npx",
"args": ["tsx", "/path/to/MCP-server/src/node-server.ts"],
"env": {
"TRANSCEND_API_KEY": "your-api-key-here"
}
}
}
}Note: Replace
/path/to/MCP-serverwith the actual path where you cloned the repository.
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| TRANSCEND_API_KEY | Yes | - | Your Transcend API key |
| TRANSCEND_API_URL | No | https://multi-tenant.sombra.transcend.io | Sombra REST API URL |
| TRANSCEND_GRAPHQL_URL | No | https://api.transcend.io | Admin GraphQL API URL |
| LOG_LEVEL | No | info | Logging level (debug, info, warn, error) |
Available Tools
DSR Automation
| Tool | Description |
|------|-------------|
| dsr_submit | Submit a new Data Subject Request |
| dsr_poll_status | Check the status of a DSR |
| dsr_list | List all DSRs with optional filtering |
| dsr_get_details | Get detailed information about a DSR |
| dsr_download_keys | Get download keys for completed DSR |
| dsr_list_identifiers | List identifiers attached to a DSR |
| dsr_enrich_identifiers | Add identifiers during preflight |
| dsr_respond_access | Upload data for ACCESS request |
| dsr_respond_erasure | Confirm erasure completion |
| dsr_cancel | Cancel a DSR |
| dsr_employee_submit | Submit DSR on behalf of data subject |
| dsr_analyze | Analyze DSR metrics |
Consent Management
| Tool | Description |
|------|-------------|
| consent_get_preferences | Get user consent preferences |
| consent_set_preferences | Set user consent preferences |
| consent_list_purposes | List tracking purposes |
| consent_list_regimes | List privacy regimes |
| consent_list_data_flows | List consent data flows |
| consent_list_airgap_bundles | List airgap bundles |
Preference Management
| Tool | Description |
|------|-------------|
| preferences_query | Query user preferences |
| preferences_upsert | Batch upsert preferences |
| preferences_delete | Delete user preferences |
| preferences_append_identifiers | Add identifiers to user |
| preferences_update_identifiers | Update user identifiers |
| preferences_delete_identifiers | Remove user identifiers |
Data Inventory
| Tool | Description |
|------|-------------|
| inventory_list_data_silos | List all data silos |
| inventory_get_data_silo | Get data silo details |
| inventory_create_data_silo | Create a new data silo |
| inventory_update_data_silo | Update a data silo |
| inventory_list_vendors | List all vendors |
| inventory_list_data_points | List data points |
| inventory_list_sub_data_points | List sub-data points |
| inventory_list_identifiers | List identifier types |
| inventory_list_categories | List data categories |
| inventory_analyze | Analyze data inventory |
Data Discovery
| Tool | Description |
|------|-------------|
| discovery_classify_text | Classify text with LLM |
| discovery_ner_extract | Extract named entities |
| discovery_list_scans | List classification scans |
| discovery_start_scan | Start a new scan |
| discovery_get_scan | Get scan details |
| discovery_list_plugins | List discovery plugins |
Assessments
| Tool | Description |
|------|-------------|
| assessments_list | List all assessments |
| assessments_get | Get assessment details |
| assessments_create | Create new assessment |
| assessments_create_group | Create an assessment group |
| assessments_list_groups | List assessment groups |
| assessments_update | Update an assessment |
| assessments_list_templates | List assessment templates |
| assessments_update_assignees | Update assessment assignees |
| assessments_answer_question | Answer an assessment question |
| assessments_submit_response | Submit assessment responses |
| assessments_create_template | Create an assessment template |
| assessments_add_section | Add a section to a template |
| assessments_export_template | Export an assessment template |
| assessments_prefill | AI-prefill assessment responses |
Workflows
| Tool | Description |
|------|-------------|
| workflows_list | List all workflows |
| workflows_update_config | Update workflow configuration |
| workflows_list_email_templates | List email templates |
Admin
| Tool | Description |
|------|-------------|
| admin_get_organization | Get organization info |
| admin_get_current_user | Get current authenticated user |
| admin_list_users | List all users |
| admin_list_teams | List all teams |
| admin_list_api_keys | List API keys |
| admin_create_api_key | Create new API key |
| admin_get_privacy_center | Get Privacy Center config |
| admin_test_connection | Test API connectivity |
Example Usage
Once configured, you can ask your AI assistant to:
- "List all pending data subject requests"
- "Show me the data inventory analysis"
- "What are the consent opt-in rates for the last 30 days?"
- "Create a new assessment using the DPIA template"
- "How many users do we have in the organization?"
Development
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Type check
npm run typecheck
# Lint and format
npm run lint
npm run format
# Run tests
npm test
npm run test:coverageArchitecture
src/
├── node-server.ts # Main MCP server entry point
├── errors.ts # Structured error codes (ToolError, ErrorCode)
├── clients/
│ ├── rest-client.ts # Sombra REST API client
│ ├── graphql-client.ts # Re-exports composed GraphQL client
│ └── graphql/
│ ├── index.ts # Composes mixins into TranscendGraphQLClient
│ ├── base.ts # Base client, makeRequest, rate limiting
│ ├── admin.ts # Org, users, teams, API keys
│ ├── dsr.ts # DSR queries and mutations
│ ├── inventory.ts # Data silos, vendors, data points
│ ├── consent.ts # Airgap bundles, purposes, data flows
│ ├── discovery.ts # Classification scans, plugins
│ ├── assessments.ts # Assessments, templates, groups
│ └── workflows.ts # Workflows, email templates
├── tools/
│ ├── index.ts # Tool registry
│ ├── dsr-automation.ts # DSR tools (12)
│ ├── consent-management.ts # Consent tools (6)
│ ├── preference-management.ts # Preference tools (6)
│ ├── data-inventory.ts # Inventory tools (10)
│ ├── data-discovery.ts # Discovery tools (6)
│ ├── assessments.ts # Assessment tools (14)
│ ├── workflows.ts # Workflow tools (3)
│ └── admin.ts # Admin tools (8)
├── types/
│ └── transcend.ts # TypeScript interfaces
└── validation/
└── index.ts # Zod schemas and validateArgs helperAPI Scopes
Your API key needs appropriate scopes for the tools you want to use. Common scopes include:
View Requests- Read DSR dataSubmit Requests- Create new DSRsView Data Inventory- Read data silos, vendorsManage Data Inventory- Create/update data silosView Consent- Read consent analyticsView Assessments- Read assessmentsView Users- Read user/team info
Support
License
MIT © Transcend Inc.
