kustodyan-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KUSTODYAN_CLIENT_ID | Yes | Engine API client id (from the CoreAdmin portal) | |
| KUSTODYAN_HTTP_HOST | No | HTTP bind host | 127.0.0.1 |
| KUSTODYAN_HTTP_PORT | No | HTTP bind port | 9090 |
| KUSTODYAN_DATA_MODEL | No | Path to a data-model manifest JSON (classes/properties/roles) | |
| KUSTODYAN_ENGINE_URL | Yes | e.g. https://<env>.kustodyan.io/api/engine | |
| KUSTODYAN_IDENTITY_URL | Yes | e.g. https://<env>.kustodyan.io/api/identity | |
| KUSTODYAN_CLIENT_SECRET | Yes | Engine API client secret | |
| KUSTODYAN_MCP_TRANSPORT | No | stdio (default) or http | stdio |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| protectA | Protect one or more field values for a given role. The exact technique (encryption, tokenization, anonymization, masking) is server-configured per (className, propertyName). Returns each field's protected value joined to its original. Protect data as early as possible. |
| unprotectA | Reverse a protection to recover the original value, for a role permitted to do so. ⚠️ Returns CLEARTEXT sensitive data — treat the result as confidential, never log it, and only call when the caller is authorised. Depending on the role the engine may instead return a masked value or the stored protected value. |
| searchB | Run the Search operation for a value to obtain a search token you can compare against a stored protected column (availability and operators depend on the protection scheme). |
| transformB | Escape hatch: send a fully-formed Engine transform payload (rightsContexts, processingContexts, requests) for advanced cases (multiple contexts, dependency contexts). Prefer protect/unprotect/search. |
| validate_transformA | Statically validate a transform payload before sending it: required fields, evidence shape, and that each request's rightsContext/processingContext references a declared context guid. |
| whoamiA | Fetch an access token and report the (non-sensitive) JWT claims — client id, scope, expiry — to confirm credentials and which environment is configured. |
| healthA | Verify the Identity API issues a token and the Engine API endpoint is reachable. |
| list_data_modelA | Return the data-model manifest: which (className, propertyName) fields are protectable, the roles and their behaviour, and the Action vocabulary. Use this to discover what you can protect. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| protect_record | Guide the assistant to protect the sensitive fields of a record using the right role and per-field properties. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| contextualisation-guide | How Role/Action evidence and className/propertyName drive transforms. |
| best-practices | Safe, effective use of the protect/unprotect tools. |
| data-model | Configured classes, properties, roles and actions. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tillo/kustodyan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server