Read token metadata, applications, audit logs, proxies and usage in the PCI vault.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetch a single application with its type and permission list. Basis Theory: GET /applications/{id}.
The application's id.
Fetch a single application with its type and permission list. Basis Theory: GET /applications/{id}.
| Argument | Type | Description |
|---|---|---|
| application_id* | string | The application's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"application_id"
],
"properties": {
"application_id": {
"type": "string",
"description": "The application's id."
}
}
}Fetch a single proxy with its destination URL and transform configuration. Basis Theory: GET /proxies/{id}.
| Argument | Type | Description |
|---|---|---|
| proxy_id* | string | The proxy's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"proxy_id"
],
"properties": {
"proxy_id": {
"type": "string",
"description": "The proxy's id."
}
}
}Fetch a single reactor with its configuration. Basis Theory: GET /reactors/{id}.
| Argument | Type | Description |
|---|---|---|
| reactor_id* | string | The reactor's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"reactor_id"
],
"properties": {
"reactor_id": {
"type": "string",
"description": "The reactor's id."
}
}
}Fetch the current tenant — name, id and settings. Basis Theory: GET /tenants/self.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fetch the tenant's usage report — token counts by type and container, and monthly API call volume. Basis Theory: GET /tenants/self/reports/usage.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fetch a single token by id. Returns metadata, container, fingerprint and timestamps. WARNING: if the configured API key carries a reveal permission, the response also contains the token's plaintext data — issue this server a read-only management key instead. Basis Theory: GET /tokens/{id}.
| Argument | Type | Description |
|---|---|---|
| token_id* | string | The token's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"token_id"
],
"properties": {
"token_id": {
"type": "string",
"description": "The token's id."
}
}
}List the applications (API-key holders) in the tenant, with their types and permissions. Basis Theory: GET /applications.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number (offset pagination). |
| size | integer | Page size, 1-100. |
| type | string | Only applications of this type, e.g. private, public, management, expiring. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-based page number (offset pagination)."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
},
"type": {
"type": "string",
"description": "Only applications of this type, e.g. private, public, management, expiring."
}
}
}List the entity types the audit log records — the valid values for entity_type. Basis Theory: GET /logs/entity-types.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List audit-log entries — who did what to which entity and when. The tool for answering 'who touched this token?'. Basis Theory: GET /logs.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number (offset pagination). |
| size | integer | Page size, 1-100. |
| end_date | string | ISO-8601 upper bound. |
| entity_id | string | Only entries for this entity id. |
| start_date | string | ISO-8601 lower bound. |
| entity_type | string | Only entries for this entity type, e.g. token, application, proxy. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-based page number (offset pagination)."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
},
"end_date": {
"type": "string",
"description": "ISO-8601 upper bound."
},
"entity_id": {
"type": "string",
"description": "Only entries for this entity id."
},
"start_date": {
"type": "string",
"description": "ISO-8601 lower bound."
},
"entity_type": {
"type": "string",
"description": "Only entries for this entity type, e.g. token, application, proxy."
}
}
}List the permissions that can be granted to an application, optionally for one application type. Basis Theory: GET /permissions.
| Argument | Type | Description |
|---|---|---|
| application_type | string | Only permissions valid for this application type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"application_type": {
"type": "string",
"description": "Only permissions valid for this application type."
}
}
}List the proxies that forward requests to third parties, detokenizing in flight. Basis Theory: GET /proxies.
| Argument | Type | Description |
|---|---|---|
| name | string | Filter by proxy name. |
| page | integer | 1-based page number (offset pagination). |
| size | integer | Page size, 1-100. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Filter by proxy name."
},
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-based page number (offset pagination)."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
}
}
}List reactors — the serverless functions that run against detokenized data inside the vault. Basis Theory: GET /reactors.
| Argument | Type | Description |
|---|---|---|
| name | string | Filter by reactor name. |
| page | integer | 1-based page number (offset pagination). |
| size | integer | Page size, 1-100. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Filter by reactor name."
},
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-based page number (offset pagination)."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
}
}
}List the roles available for tenant members. Basis Theory: GET /roles.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the people with access to the tenant, and their roles. Basis Theory: GET /tenants/self/members.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number (offset pagination). |
| size | integer | Page size, 1-100. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-based page number (offset pagination)."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
}
}
}List vault tokens as METADATA — id, type, container, fingerprint, metadata and timestamps. Does not return the underlying card number or PII. Basis Theory: GET /v2/tokens.
| Argument | Type | Description |
|---|---|---|
| size | integer | Page size, 1-100. |
| type | string | Only tokens of this type, e.g. card, bank, token. |
| start | string | Cursor from the previous page's pagination.next. Omit for the first page. |
| container | string | Only tokens in this container path, e.g. /pci/high/. |
| fingerprint | string | Only tokens sharing this fingerprint — how you find duplicates of the same card. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
},
"type": {
"type": "string",
"description": "Only tokens of this type, e.g. card, bank, token."
},
"start": {
"type": "string",
"description": "Cursor from the previous page's pagination.next. Omit for the first page."
},
"container": {
"type": "string",
"description": "Only tokens in this container path, e.g. /pci/high/."
},
"fingerprint": {
"type": "string",
"description": "Only tokens sharing this fingerprint — how you find duplicates of the same card."
}
}
}Search tokens with Basis Theory's query syntax over metadata, e.g. metadata.customer_id:"cus_1". Returns metadata only. Read-only despite being a POST — the query goes in the body. Basis Theory: POST /v2/tokens/search.
| Argument | Type | Description |
|---|---|---|
| size | integer | Page size, 1-100. |
| query* | string | Query string, e.g. type:card AND metadata.customer_id:"cus_1". |
| start | string | Cursor from the previous page's pagination.next. Omit for the first page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100."
},
"query": {
"type": "string",
"description": "Query string, e.g. type:card AND metadata.customer_id:\"cus_1\"."
},
"start": {
"type": "string",
"description": "Cursor from the previous page's pagination.next. Omit for the first page."
}
}
}Return the application the configured BT-API-KEY belongs to — the fastest way to check which permissions this server actually has. Basis Theory: GET /applications/key.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}