How to fix: Set the top-level tool.title to a short human-readable label (for example, "Search catalog"). Claude directory submission requires tool titles; annotations.title remains accepted only as a legacy fallback.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
List the organizations the signed-in account belongs to, with its role in each. Requires organizations.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_organizations",
"title": "List organizations",
"description": "List the organizations the signed-in account belongs to, with its role in each. Requires organizations.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Shorten the title to an action and subject; move usage details into the description.
Description71/100
Get one organization the signed-in account belongs to. Requires organizations.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID, as returned by list_organizations.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_organization",
"title": "Get organization",
"description": "Get one organization the signed-in account belongs to. Requires organizations.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID, as returned by list_organizations."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Create an organization owned by the signed-in account, on the free plan. Requires organizations.write.
The description explains the capability, when to use it, and what to expect.
Inputs81/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Organization display name.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slug
URL identifier: 3 to 20 lowercase letters, digits and single hyphens. Must be unique across Inth.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_organization",
"title": "Create organization",
"description": "Create an organization owned by the signed-in account, on the free plan. Requires organizations.write.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"slug",
"context"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"minLength": 3,
"description": "Organization display name."
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 20,
"minLength": 3,
"description": "URL identifier: 3 to 20 lowercase letters, digits and single hyphens. Must be unique across Inth."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
List the regions available when creating a project.
Describe the returned information so the agent knows whether it will answer the request.
Inputs90/100
Input documentation gives an agent enough context to populate the arguments.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_regions",
"title": "List regions",
"description": "List the regions available when creating a project.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description78/100
List projects the signed-in account can access, with their consent settings. Requires projects.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs87/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Only return projects from this organization.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_projects",
"title": "List projects",
"description": "List projects the signed-in account can access, with their consent settings. Requires projects.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Only return projects from this organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
Get one project with its consent settings. Requires projects.read.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Input documentation gives an agent enough context to populate the arguments.
projectId
Project ID, as returned by list_projects.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project",
"title": "Get project",
"description": "Get one project with its consent settings. Requires projects.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description79/100
Create a project and its consent runtime. Requires projects.write and an admin or owner role in the organization.
The description explains the capability, when to use it, and what to expect.
Inputs83/100
Explain the meaning of this value, not just its name.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Clear enough to supply this argument.
name
Project display name.
Clear enough to supply this argument.
region
Region ID, as returned by list_regions.
Clear enough to supply this argument.
websites
The project's first websites. Every website loads Consent: a domain (example.com), a wildcard (*.example.com or *), an IPv6 address in brackets, or an app origin (capacitor://localhost).
Clear enough to supply this argument.
consent › trustedOrigins
Deprecated: use websites. Consent entries only.
Explain the meaning of this value, not just its name.
consent › branding
Consent banner branding. `none` requires a plan that includes remove-branding.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_project",
"title": "Create project",
"description": "Create a project and its consent runtime. Requires projects.write and an admin or owner role in the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"region",
"context"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Project display name."
},
"region": {
"type": "string",
"minLength": 1,
"description": "Region ID, as returned by list_regions."
},
"consent": {
"type": "object",
"properties": {
"branding": {
"enum": [
"inth",
"c15t",
"none"
],
"type": "string",
"description": "Consent banner branding. `none` requires a plan that includes remove-branding."
},
"trustedOrigins": {
"type": "array",
"items": {
"type": "string"
},
"description": "Deprecated: use websites. Consent entries only."
}
}
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"websites": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The project's first websites. Every website loads Consent: a domain (example.com), a wildcard (*.example.com or *), an IPv6 address in brackets, or an app origin (capacitor://localhost)."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Update a project name, description, or consent settings. Requires projects.write. Renaming a project also changes its slug and dashboard URL.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs85/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
projectId
Project ID, as returned by list_projects.
Clear enough to supply this argument.
name
New project name.
Clear enough to supply this argument.
description
New description, or null to clear it.
Clear enough to supply this argument.
websites
The project's websites, replacing the current list. Every website loads Consent: a domain (example.com), a wildcard (*.example.com or *), an IPv6 address in brackets, or an app origin (capacitor://localhost). Leaving out a website an audit uses is refused; delete it with delete_project_website.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
consent › trustedOrigins
Deprecated: use websites. Consent entries only.
Explain the meaning of this value, not just its name.
consent › branding
Consent banner branding. `none` requires a plan that includes remove-branding.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_project",
"title": "Update project",
"description": "Update a project name, description, or consent settings. Requires projects.write. Renaming a project also changes its slug and dashboard URL.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "New project name."
},
"consent": {
"type": "object",
"properties": {
"branding": {
"enum": [
"inth",
"c15t",
"none"
],
"type": "string",
"description": "Consent banner branding. `none` requires a plan that includes remove-branding."
},
"trustedOrigins": {
"type": "array",
"items": {
"type": "string"
},
"description": "Deprecated: use websites. Consent entries only."
}
}
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"websites": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The project's websites, replacing the current list. Every website loads Consent: a domain (example.com), a wildcard (*.example.com or *), an IPv6 address in brackets, or an app origin (capacitor://localhost). Leaving out a website an audit uses is refused; delete it with delete_project_website."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"description": "New description, or null to clear it."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Archive a project and its consent runtime. Requires projects.write and an admin or owner role. Ask the person to confirm before calling this.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
projectId
Project ID, as returned by list_projects.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_project",
"title": "Delete project",
"description": "Archive a project and its consent runtime. Requires projects.write and an admin or owner role. Ask the person to confirm before calling this.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Remove one website from a project. Consent stops allowing it, and if an audit uses it, the audit and its schedule are deleted too; past audit runs are kept. A project keeps at least one website. Requires projects.write and an admin or owner role. Ask the person to confirm before calling this when the website is audited.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
projectId
Project ID, as returned by list_projects.
Clear enough to supply this argument.
websiteId
Website ID, as listed in the project websites.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_project_website",
"title": "Delete project website",
"description": "Remove one website from a project. Consent stops allowing it, and if an audit uses it, the audit and its schedule are deleted too; past audit runs are kept. A project keeps at least one website. Requires projects.write and an admin or owner role. Ask the person to confirm before calling this when the website is audited.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"websiteId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
},
"websiteId": {
"type": "string",
"minLength": 1,
"description": "Website ID, as listed in the project websites."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
List the organization API keys of an organization. Requires api-keys.read and an admin or owner role.
Describe the returned information so the agent knows whether it will answer the request.
Inputs87/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_api_keys",
"title": "List API keys",
"description": "List the organization API keys of an organization. Requires api-keys.read and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Create an organization API key. The secret is returned once and never again. Requires api-keys.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs85/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Key name, shown in the key list.
Clear enough to supply this argument.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_api_key",
"title": "Create API key",
"description": "Create an organization API key. The secret is returned once and never again. Requires api-keys.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"context"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Key name, shown in the key list."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Replace the secret of an organization API key. The old secret stops working immediately and the new one is returned once. Requires api-keys.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
keyId
API key ID, as returned by list_api_keys.
Clear enough to supply this argument.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "roll_api_key",
"title": "Roll API key",
"description": "Replace the secret of an organization API key. The old secret stops working immediately and the new one is returned once. Requires api-keys.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"keyId",
"context"
],
"properties": {
"keyId": {
"type": "string",
"minLength": 1,
"description": "API key ID, as returned by list_api_keys."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Revoke an organization API key. Requires api-keys.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
keyId
API key ID, as returned by list_api_keys.
Clear enough to supply this argument.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_api_key",
"title": "Delete API key",
"description": "Revoke an organization API key. Requires api-keys.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"keyId",
"context"
],
"properties": {
"keyId": {
"type": "string",
"minLength": 1,
"description": "API key ID, as returned by list_api_keys."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description72/100
List the members of an organization with their roles. Requires members.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs85/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_members",
"title": "List members",
"description": "List the members of an organization with their roles. Requires members.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description83/100
Change the role of an organization member. The member id decides the organization. Requires members.write and an admin or owner role; only owners can grant or take owner.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
memberId
Member ID, as returned by list_members.
Clear enough to supply this argument.
role
Organization role. Only owners can grant owner.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_member",
"title": "Update member role",
"description": "Change the role of an organization member. The member id decides the organization. Requires members.write and an admin or owner role; only owners can grant or take owner.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId",
"role",
"context"
],
"properties": {
"role": {
"enum": [
"owner",
"admin",
"member"
],
"type": "string",
"description": "Organization role. Only owners can grant owner."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"memberId": {
"type": "string",
"minLength": 1,
"description": "Member ID, as returned by list_members."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Remove a member from an organization. The member id decides the organization. Requires members.write and an admin or owner role. Ask the person to confirm before calling this.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Explain what happens when this optional value is omitted.
memberId
Member ID, as returned by list_members.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "remove_member",
"title": "Remove member",
"description": "Remove a member from an organization. The member id decides the organization. Requires members.write and an admin or owner role. Ask the person to confirm before calling this.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"memberId": {
"type": "string",
"minLength": 1,
"description": "Member ID, as returned by list_members."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description75/100
List the pending invitations of an organization. Requires members.read and an admin or owner role.
Describe the returned information so the agent knows whether it will answer the request.
Inputs84/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_invitations",
"title": "List invitations",
"description": "List the pending invitations of an organization. Requires members.read and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Email an invitation to join an organization. Requires members.write and an admin or owner role; only owners can invite owners.
The description explains the capability, when to use it, and what to expect.
Inputs89/100
Remove repeated schema validation from descriptions; focus on meaning and usage context.
organizationId
Organization ID. Defaults to the active organization of the signed-in account.
Clear enough to supply this argument.
email
Email address to invite.
Clear enough to supply this argument.
role
Organization role. Only owners can grant owner.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "invite_member",
"title": "Invite member",
"description": "Email an invitation to join an organization. Requires members.write and an admin or owner role; only owners can invite owners.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"email",
"role",
"context"
],
"properties": {
"role": {
"enum": [
"owner",
"admin",
"member"
],
"type": "string",
"description": "Organization role. Only owners can grant owner."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 255,
"description": "Email address to invite."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the active organization of the signed-in account."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Cancel a pending invitation. Concurrent acceptance or deletion returns CONFLICT; refresh the member list before retrying. The invitation id decides the organization. Requires members.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Explain what happens when this optional value is omitted.
invitationId
Invitation ID, as returned by list_invitations.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "cancel_invitation",
"title": "Cancel invitation",
"description": "Cancel a pending invitation. Concurrent acceptance or deletion returns CONFLICT; refresh the member list before retrying. The invitation id decides the organization. Requires members.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invitationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"invitationId": {
"type": "string",
"minLength": 1,
"description": "Invitation ID, as returned by list_invitations."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Apply the available backend version and database migrations. Requires an admin or owner role. Read get_project_consent_lifecycle first and supply its current runtime ID and backend version. Stale values return CONFLICT. Existing plan and lifecycle restrictions apply. Requires consent.lifecycle.write, projects.read and projects.write. Subject to allow-public-agent-writes. Do not retry after an uncertain result without reading lifecycle metadata.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
expectedInstanceId
Not provided
Missing description. Explain what this value means and how to supply it.
expectedBackendVersion
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_project_consent_runtime",
"title": "Update Consent runtime",
"description": "Apply the available backend version and database migrations. Requires an admin or owner role. Read get_project_consent_lifecycle first and supply its current runtime ID and backend version. Stale values return CONFLICT. Existing plan and lifecycle restrictions apply. Requires consent.lifecycle.write, projects.read and projects.write. Subject to allow-public-agent-writes. Do not retry after an uncertain result without reading lifecycle metadata.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"expectedInstanceId",
"expectedBackendVersion",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
},
"expectedInstanceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 255,
"minLength": 1
},
"expectedBackendVersion": {
"type": "string",
"pattern": "^\\S+$",
"maxLength": 128,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Migrate a legacy Consent runtime to v2 storage and schedule its existing historical backfill. Requires an admin or owner role. Read get_project_consent_lifecycle first and supply its current runtime ID and backend version. Stale values return CONFLICT. Existing plan and lifecycle restrictions apply. Requires consent.lifecycle.write, projects.read and projects.write. Subject to allow-public-agent-writes. Do not retry after an uncertain result without reading lifecycle metadata.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
expectedInstanceId
Not provided
Missing description. Explain what this value means and how to supply it.
expectedBackendVersion
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "upgrade_project_consent_runtime",
"title": "Upgrade Consent runtime",
"description": "Migrate a legacy Consent runtime to v2 storage and schedule its existing historical backfill. Requires an admin or owner role. Read get_project_consent_lifecycle first and supply its current runtime ID and backend version. Stale values return CONFLICT. Existing plan and lifecycle restrictions apply. Requires consent.lifecycle.write, projects.read and projects.write. Subject to allow-public-agent-writes. Do not retry after an uncertain result without reading lifecycle metadata.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"expectedInstanceId",
"expectedBackendVersion",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
},
"expectedInstanceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 255,
"minLength": 1
},
"expectedBackendVersion": {
"type": "string",
"pattern": "^\\S+$",
"maxLength": 128,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Archive the Consent runtime. This removes runtime access and can delete its legacy database. V2 historical consent records remain in shared storage; this action does not schedule their purge. Requires an owner role. Read get_project_consent_lifecycle first and supply its current runtime ID and backend version. Stale values return CONFLICT. Existing plan and lifecycle restrictions apply. Requires consent.lifecycle.write, projects.read and projects.write. Subject to allow-public-agent-writes. Do not retry after an uncertain result without reading lifecycle metadata.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
expectedInstanceId
Not provided
Missing description. Explain what this value means and how to supply it.
expectedBackendVersion
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_project_consent_runtime",
"title": "Delete Consent runtime",
"description": "Archive the Consent runtime. This removes runtime access and can delete its legacy database. V2 historical consent records remain in shared storage; this action does not schedule their purge. Requires an owner role. Read get_project_consent_lifecycle first and supply its current runtime ID and backend version. Stale values return CONFLICT. Existing plan and lifecycle restrictions apply. Requires consent.lifecycle.write, projects.read and projects.write. Subject to allow-public-agent-writes. Do not retry after an uncertain result without reading lifecycle metadata.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"expectedInstanceId",
"expectedBackendVersion",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
},
"expectedInstanceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 255,
"minLength": 1
},
"expectedBackendVersion": {
"type": "string",
"pattern": "^\\S+$",
"maxLength": 128,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Create a key bound to this project and its current Consent runtime. The response contains the secret key once; list reads never reveal it. Store it securely. Retrying creates another key, so do not retry blindly after an uncertain response. Requires consent.keys.write, projects.read, projects.write and an admin or owner role. Subject to allow-public-agent-writes.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
name
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_project_consent_runtime_key",
"title": "Issue a Consent runtime key",
"description": "Create a key bound to this project and its current Consent runtime. The response contains the secret key once; list reads never reveal it. Store it securely. Retrying creates another key, so do not retry blindly after an uncertain response. Requires consent.keys.write, projects.read, projects.write and an admin or owner role. Subject to allow-public-agent-writes.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"name",
"context"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[^\\p{Cc}\\p{Cf}]+$",
"maxLength": 128,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Permanently revoke a known runtime key after a direct project and organization ownership check. Revocation remains available after the Consent runtime is removed. No secret is returned. Requires consent.keys.write, projects.read, projects.write and an admin or owner role. Subject to allow-public-agent-writes.
The description explains the capability, when to use it, and what to expect.
Inputs97/100
Input documentation gives an agent enough context to populate the arguments.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
keyId
Runtime key ID from list_project_consent_runtime_keys. Never pass the secret token.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "revoke_project_consent_runtime_key",
"title": "Revoke a Consent runtime key",
"description": "Permanently revoke a known runtime key after a direct project and organization ownership check. Revocation remains available after the Consent runtime is removed. No secret is returned. Requires consent.keys.write, projects.read, projects.write and an admin or owner role. Subject to allow-public-agent-writes.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"keyId",
"context"
],
"properties": {
"keyId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 255,
"minLength": 1,
"description": "Runtime key ID from list_project_consent_runtime_keys. Never pass the secret token."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Atomically issue a replacement with the existing key configuration and expire the old secret after overlapSeconds, an explicit integer from 0 to 86400. Zero revokes the old secret immediately. The replacement secret is returned once. Disabled or expired keys cannot be rotated; issue a new key. Do not retry blindly after an uncertain result. Requires consent.keys.write, projects.read, projects.write and an admin or owner role. Subject to allow-public-agent-writes.
The description explains the capability, when to use it, and what to expect.
Inputs80/100
4 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
keyId
Runtime key ID from list_project_consent_runtime_keys. Never pass the secret token.
Clear enough to supply this argument.
overlapSeconds
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "rotate_project_consent_runtime_key",
"title": "Rotate a Consent runtime key",
"description": "Atomically issue a replacement with the existing key configuration and expire the old secret after overlapSeconds, an explicit integer from 0 to 86400. Zero revokes the old secret immediately. The replacement secret is returned once. Disabled or expired keys cannot be rotated; issue a new key. Do not retry blindly after an uncertain result. Requires consent.keys.write, projects.read, projects.write and an admin or owner role. Subject to allow-public-agent-writes.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"keyId",
"overlapSeconds",
"context"
],
"properties": {
"keyId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 255,
"minLength": 1,
"description": "Runtime key ID from list_project_consent_runtime_keys. Never pass the secret token."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
},
"overlapSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description89/100
Read Consent settings, runtime version, session duration and plan capabilities. The response is a summary with paths to full configuration reads. Requires consent.read.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Explain what happens when this optional value is omitted.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project_consent",
"title": "Get project Consent configuration",
"description": "Read Consent settings, runtime version, session duration and plan capabilities. The response is a summary with paths to full configuration reads. Requires consent.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Shorten the title to an action and subject; move usage details into the description.
Description81/100
Read the full stored i18n, IAB or policies JSON. Unknown stored fields are preserved. Null means the section has no stored value. Requires consent.read.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
section
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project_consent_configuration",
"title": "Get complete Consent configuration section",
"description": "Read the full stored i18n, IAB or policies JSON. Unknown stored fields are preserved. Null means the section has no stored value. Requires consent.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"section",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"section": {
"enum": [
"i18n",
"iab",
"policies"
],
"type": "string"
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
Read consent traffic and save totals. Use get_project_consent_analytics for the full breakdown. Requires consent.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs92/100
Input documentation gives an agent enough context to populate the arguments.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
from
Requested history. The response dateRange reports the range allowed by the plan.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project_consent_overview",
"title": "Get Consent analytics summary",
"description": "Read consent traffic and save totals. Use get_project_consent_analytics for the full breakdown. Requires consent.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"from": {
"enum": [
"24h",
"3d",
"7d",
"30d",
"90d",
"1y"
],
"type": "string",
"default": "7d",
"description": "Requested history. The response dateRange reports the range allowed by the plan."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
Read complete recorded consent and journey breakdowns, geography, policies, devices and sources. Grouped buckets can be large. Requires consent.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs91/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
from
Requested history. The response dateRange reports the range allowed by the plan.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project_consent_analytics",
"title": "Get Consent analytics breakdown",
"description": "Read complete recorded consent and journey breakdowns, geography, policies, devices and sources. Grouped buckets can be large. Requires consent.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"from": {
"enum": [
"24h",
"3d",
"7d",
"30d",
"90d",
"1y"
],
"type": "string",
"default": "7d",
"description": "Requested history. The response dateRange reports the range allowed by the plan."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Read a page of 50 stored consent records. Returns items, page, pageSize, total and nextPage. Pass nextPage to continue; null means the last page. Requires consent.read.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
Not provided
Missing description. Explain what this value means and how to supply it.
search
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_project_consent_records",
"title": "Search Consent records",
"description": "Read a page of 50 stored consent records. Returns items, page, pageSize, total and nextPage. Pass nextPage to continue; null means the last page. Requires consent.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 1000000,
"minimum": 1
},
"search": {
"type": "string",
"default": "",
"maxLength": 256
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Read the current and latest runtime versions, update availability, and existing role and billing restrictions. No lifecycle action is performed. Requires consent.read.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project_consent_lifecycle",
"title": "Get Consent runtime lifecycle",
"description": "Read the current and latest runtime versions, update availability, and existing role and billing restrictions. No lifecycle action is performed. Requires consent.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description89/100
Read one bounded page of runtime key metadata. Secret key values are never returned. Runtime keys differ from organization API keys. Requires consent.keys.read and an admin or owner role.
Describe the returned information so the agent knows whether it will answer the request.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_project_consent_runtime_keys",
"title": "List Consent runtime keys",
"description": "Read one bounded page of runtime key metadata. Secret key values are never returned. Runtime keys differ from organization API keys. Requires consent.keys.read and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 8192,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description86/100
Update branding, session duration, trusted origins or the minimum c15t version. Omitted fields retain their values. At minimumC15tMajor 3 the project refuses requests from c15t 2.x sites, which stop loading the banner until they update; read c15tV2HoursLast7Days from get_project_consent first. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes. minimumC15tMajor needs an Instance on c15t 2.x or later, and 3 also needs rollout-c15t-minimum-version.
The description explains the capability, when to use it, and what to expect.
Inputs43/100
3 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
branding
Not provided
Missing description. Explain what this value means and how to supply it.
minimumC15tMajor
Not provided
Missing description. Explain what this value means and how to supply it.
sessionDurationMinutes
Not provided
Missing description. Explain what this value means and how to supply it.
trustedOrigins
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_project_consent_settings",
"title": "Update Consent settings",
"description": "Update branding, session duration, trusted origins or the minimum c15t version. Omitted fields retain their values. At minimumC15tMajor 3 the project refuses requests from c15t 2.x sites, which stop loading the banner until they update; read c15tV2HoursLast7Days from get_project_consent first. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes. minimumC15tMajor needs an Instance on c15t 2.x or later, and 3 also needs rollout-c15t-minimum-version.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"branding": {
"enum": [
"inth",
"c15t",
"none"
],
"type": "string"
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
},
"trustedOrigins": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1
},
"minimumC15tMajor": {
"anyOf": [
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
},
"sessionDurationMinutes": {
"anyOf": [
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 15
},
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 60
},
{
"type": "number",
"const": 180
},
{
"type": "number",
"const": 360
},
{
"type": "number",
"const": 720
},
{
"type": "number",
"const": 1440
}
]
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Replace the stored translation configuration. i18n null clears it; omitted nested fields are not merged. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes.
The description explains the capability, when to use it, and what to expect.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
i18n › anyOf › 0 › defaultProfile
Not provided
Missing description. Explain what this value means and how to supply it.
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "set_project_consent_translations",
"title": "Set Consent translations",
"description": "Replace the stored translation configuration. i18n null clears it; omitted nested fields are not merged. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes.",
"inputSchema": {
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string",
"maxLength": 20000
},
{
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 128
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"i18n",
"context"
],
"properties": {
"i18n": {
"anyOf": [
{
"type": "object",
"properties": {
"messages": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 128
},
"additionalProperties": {
"type": "object",
"required": [
"translations"
],
"properties": {
"translations": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 32
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"fallbackLanguage": {
"type": "string",
"maxLength": 32
}
},
"additionalProperties": false
}
},
"defaultProfile": {
"type": "string",
"maxLength": 128
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Replace IAB vendorIds. An empty list clears selected vendors. Omit additionalConsentProviders to keep the list, or pass an empty list to clear it. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
vendorIds
Not provided
Missing description. Explain what this value means and how to supply it.
additionalConsentProviders
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "set_project_consent_iab",
"title": "Set Consent IAB vendors",
"description": "Replace IAB vendorIds. An empty list clears selected vendors. Omit additionalConsentProviders to keep the list, or pass an empty list to clear it. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"vendorIds",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope."
},
"vendorIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"maxItems": 2000
},
"additionalConsentProviders": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 1000
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Replace the full stored policy array. Read the complete section first to preserve fields you need. Requires consent.write, projects.write and an admin or owner role. Subject to plan rules and allow-public-agent-writes.
The description explains the capability, when to use it, and what to expect.
Inputs25/100
3 of 12 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID returned by list_projects. Requires projects.read in addition to the stated Consent scope.
Clear enough to supply this argument.
policies › items › id
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › model
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › prompt
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › categories
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › scopeMode
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › preselectedCategories
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › actions
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › rights
Not provided
Missing description. Explain what this value means and how to supply it.
policies › items › copyRevision
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
List Website Audit targets with monitoring settings and ownership, ordered by ID. Bounded page of 25 by default, at most 100. Requires website-audit.read. Cursor is bound to organization and filters. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs33/100
2 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
projectId
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_website_targets",
"description": "List Website Audit targets with monitoring settings and ownership, ordered by ID. Bounded page of 25 by default, at most 100. Requires website-audit.read. Cursor is bound to organization and filters. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description86/100
Read a Website Audit target by ID with its settings, ownership, monitoring and latest scan status. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs49/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_target",
"description": "Read a Website Audit target by ID with its settings, ownership, monitoring and latest scan status. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
List all matching Website Audit history, ordered by ID, without a recent-sync window. Bounded page of 25 by default, at most 100. Filters by projectId, targetId and status. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs25/100
2 of 8 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
projectId
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
status
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_website_scans",
"description": "List all matching Website Audit history, ordered by ID, without a recent-sync window. Bounded page of 25 by default, at most 100. Filters by projectId, targetId and status. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"status": {
"enum": [
"pending",
"running",
"completed",
"failed",
"cancelled"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Read one Website Audit status, preview/access tier, scope, coverage, timestamps and summary by scan ID. Results and checks are separate reads. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs53/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_scan",
"description": "Read one Website Audit status, preview/access tier, scope, coverage, timestamps and summary by scan ID. Results and checks are separate reads. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Read the full evidence of one Website Audit: conditions, coverage, cookies and their attributes, vendors, unidentified observations and comparison. results is null while results are unavailable. This explicit detail read can be large. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs54/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_scan_results",
"description": "Read the full evidence of one Website Audit: conditions, coverage, cookies and their attributes, vendors, unidentified observations and comparison. results is null while results are unavailable. This explicit detail read can be large. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Read the checks report, cover and history of one Website Audit. reportVersion defaults to 2; use 1 for the legacy format. report is null for previews that did not run consent checks or scans without a retained report. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs50/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
reportVersion
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_scan_report",
"description": "Read the checks report, cover and history of one Website Audit. reportVersion defaults to 2; use 1 for the legacy format. report is null for previews that did not run consent checks or scans without a retained report. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"reportVersion": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Read a bounded page of cookies from one Website Audit, including attributes and evidence. available=false means the scan has no results yet, not that it found zero cookies. Includes coverage and dataQuality. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs40/100
2 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_website_scan_cookies",
"description": "Read a bounded page of cookies from one Website Audit, including attributes and evidence. available=false means the scan has no results yet, not that it found zero cookies. Includes coverage and dataQuality. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Get the authenticated REST download path and content type for a retained screenshot. For MCP bytes use get_website_scan_screenshot_content and follow nextOffset with ifMatch. This metadata tool returns no public URL. Requires website-audit.read. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs36/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
captureId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_scan_screenshot_download",
"description": "Get the authenticated REST download path and content type for a retained screenshot. For MCP bytes use get_website_scan_screenshot_content and follow nextOffset with ifMatch. This metadata tool returns no public URL. Requires website-audit.read. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"captureId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"captureId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description75/100
Add a Website Audit target to a project. settings is the complete target configuration. Enabling monitoring schedules paid audits under existing entitlements. Requires website-audit.write and an admin/owner role. Public writes must be enabled for the organization. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs14/100
2 of 14 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
settings › approvedAuditPolicy
Not provided
Missing description. Explain what this value means and how to supply it.
settings › crawlMode
Not provided
Missing description. Explain what this value means and how to supply it.
settings › includeUrls
Not provided
Missing description. Explain what this value means and how to supply it.
settings › maxDepth
Not provided
Missing description. Explain what this value means and how to supply it.
settings › maxPages
Not provided
Missing description. Explain what this value means and how to supply it.
settings › monitoringEnabled
Not provided
Missing description. Explain what this value means and how to supply it.
settings › origin
Not provided
Missing description. Explain what this value means and how to supply it.
settings › policyUrls
Not provided
Missing description. Explain what this value means and how to supply it.
settings › projectId
Not provided
Missing description. Explain what this value means and how to supply it.
settings › regionProfiles
Not provided
Missing description. Explain what this value means and how to supply it.
settings › scheduleCadence
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_website_target",
"description": "Add a Website Audit target to a project. settings is the complete target configuration. Enabling monitoring schedules paid audits under existing entitlements. Requires website-audit.write and an admin/owner role. Public writes must be enabled for the organization. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"settings",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"settings": {
"type": "object",
"required": [
"crawlMode",
"maxDepth",
"maxPages",
"monitoringEnabled",
"origin",
"policyUrls",
"projectId",
"scheduleCadence"
],
"properties": {
"origin": {
"type": "string",
"minLength": 1
},
"maxDepth": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"maxPages": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"crawlMode": {
"enum": [
"mixed",
"domain",
"sitemap",
"explicit_urls"
],
"type": "string"
},
"projectId": {
"type": "string",
"minLength": 1
},
"policyUrls": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"includeUrls": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"regionProfiles": {
"type": "array",
"items": {
"enum": [
"uk_gdpr",
"eu_eea_gdpr",
"us_ca_cpra",
"us_tx_baseline",
"custom"
],
"type": "string"
}
},
"scheduleCadence": {
"enum": [
"hourly",
"daily",
"weekly",
"biweekly",
"monthly"
],
"type": "string"
},
"monitoringEnabled": {
"type": "boolean"
},
"approvedAuditPolicy": {
"oneOf": [
{
"type": "object",
"properties": {},
"description": "Audit expectations approved in the Dashboard. To keep them, leave this out or send back the value from the website target unchanged.",
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description75/100
Replace a Website Audit target configuration, including monitoring. settings must retain its projectId; a target cannot move between projects. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs13/100
2 of 15 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
settings › approvedAuditPolicy
Not provided
Missing description. Explain what this value means and how to supply it.
settings › crawlMode
Not provided
Missing description. Explain what this value means and how to supply it.
settings › includeUrls
Not provided
Missing description. Explain what this value means and how to supply it.
settings › maxDepth
Not provided
Missing description. Explain what this value means and how to supply it.
settings › maxPages
Not provided
Missing description. Explain what this value means and how to supply it.
settings › monitoringEnabled
Not provided
Missing description. Explain what this value means and how to supply it.
settings › origin
Not provided
Missing description. Explain what this value means and how to supply it.
settings › policyUrls
Not provided
Missing description. Explain what this value means and how to supply it.
settings › projectId
Not provided
Missing description. Explain what this value means and how to supply it.
settings › regionProfiles
Not provided
Missing description. Explain what this value means and how to supply it.
settings › scheduleCadence
Not provided
Missing description. Explain what this value means and how to supply it.
settings › enabled
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_website_target",
"description": "Replace a Website Audit target configuration, including monitoring. settings must retain its projectId; a target cannot move between projects. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"settings",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"settings": {
"type": "object",
"required": [
"crawlMode",
"maxDepth",
"maxPages",
"monitoringEnabled",
"origin",
"policyUrls",
"projectId",
"scheduleCadence",
"enabled"
],
"properties": {
"origin": {
"type": "string",
"minLength": 1
},
"enabled": {
"type": "boolean"
},
"maxDepth": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"maxPages": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"crawlMode": {
"enum": [
"mixed",
"domain",
"sitemap",
"explicit_urls"
],
"type": "string"
},
"projectId": {
"type": "string",
"minLength": 1
},
"policyUrls": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"includeUrls": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"regionProfiles": {
"type": "array",
"items": {
"enum": [
"uk_gdpr",
"eu_eea_gdpr",
"us_ca_cpra",
"us_tx_baseline",
"custom"
],
"type": "string"
}
},
"scheduleCadence": {
"enum": [
"hourly",
"daily",
"weekly",
"biweekly",
"monthly"
],
"type": "string"
},
"monitoringEnabled": {
"type": "boolean"
},
"approvedAuditPolicy": {
"oneOf": [
{
"type": "object",
"properties": {},
"description": "Audit expectations approved in the Dashboard. To keep them, leave this out or send back the value from the website target unchanged.",
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description88/100
Delete one Website Audit target and its monitors. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Confirm the target ID with the user before deleting it. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs39/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_website_target",
"description": "Delete one Website Audit target and its monitors. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Confirm the target ID with the user before deleting it. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Replace the policy page URLs of one Website Audit target. An empty array clears the saved list. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs42/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
policyUrls
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_website_policy_pages",
"description": "Replace the policy page URLs of one Website Audit target. An empty array clears the saved list. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"policyUrls",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"policyUrls": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"maxItems": 20
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Read ownership verification instructions and methods available to this member for one target. Requires website-audit.read and a user token. Also requires projects.read for the project context.
Describe the returned information so the agent knows whether it will answer the request.
Inputs43/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_domain_verification",
"description": "Read ownership verification instructions and methods available to this member for one target. Requires website-audit.read and a user token. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description72/100
Verify ownership of a target domain. Omit method to recheck DNS and HTTPS, or use an available email/Search Console method. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.
Describe the returned information so the agent knows whether it will answer the request.
Inputs50/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
method
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "verify_website_domain",
"description": "Verify ownership of a target domain. Omit method to recheck DNS and HTTPS, or use an available email/Search Console method. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"context"
],
"properties": {
"method": {
"enum": [
"dns",
"http",
"email",
"search_console"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
Shorten the title to an action and subject; move usage details into the description.
Description79/100
Start a Website Audit and spend organization credits. requestId must be a stable UUID v4 for retrying this request. scope can narrow an owned-site audit to a preview. Requires website-audit.write and an admin/owner role. Public writes and audit starts must be enabled. Confirm the intended target and paid action with the user. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs38/100
2 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
targetId
Not provided
Missing description. Explain what this value means and how to supply it.
requestId
Not provided
Missing description. Explain what this value means and how to supply it.
scope
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "start_website_scan",
"description": "Start a Website Audit and spend organization credits. requestId must be a stable UUID v4 for retrying this request. scope can narrow an owned-site audit to a preview. Requires website-audit.write and an admin/owner role. Public writes and audit starts must be enabled. Confirm the intended target and paid action with the user. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetId",
"requestId",
"context"
],
"properties": {
"scope": {
"enum": [
"free_preview",
"full_audit"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"targetId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"requestId": {
"type": "string",
"allOf": [
{
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$"
}
]
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
Review an unidentified Website Audit observation: dismiss, mark_as_ours, or report_vendor using its evidenceId. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.
The description explains the capability, when to use it, and what to expect.
Inputs22/100
2 of 9 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
review › anyOf › 0 › action
Not provided
Missing description. Explain what this value means and how to supply it.
review › anyOf › 0 › evidenceId
Not provided
Missing description. Explain what this value means and how to supply it.
review › anyOf › 1 › action
Not provided
Missing description. Explain what this value means and how to supply it.
review › anyOf › 1 › evidenceId
Not provided
Missing description. Explain what this value means and how to supply it.
review › anyOf › 2 › action
Not provided
Missing description. Explain what this value means and how to supply it.
review › anyOf › 2 › evidenceId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "review_website_scan_evidence",
"description": "Review an unidentified Website Audit observation: dismiss, mark_as_ours, or report_vendor using its evidenceId. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"review",
"context"
],
"properties": {
"review": {
"anyOf": [
{
"type": "object",
"required": [
"action",
"evidenceId"
],
"properties": {
"action": {
"type": "string",
"const": "dismiss"
},
"evidenceId": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"evidenceId"
],
"properties": {
"action": {
"type": "string",
"const": "mark_as_ours"
},
"evidenceId": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"evidenceId"
],
"properties": {
"action": {
"type": "string",
"const": "report_vendor"
},
"evidenceId": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
]
},
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
Discover and synchronize websites from the connected Google Search Console account. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.
Describe the returned information so the agent knows whether it will answer the request.
Inputs46/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "sync_website_search_console",
"description": "Discover and synchronize websites from the connected Google Search Console account. Requires website-audit.write and an admin/owner role. Public writes must be enabled. Also requires projects.read for the project context.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Owner-only retained settled consumption, without a recent-history cutoff. Requires billing.read. Pages are ordered by settlement time and ID descending. Pending/released holds, top-up purchases and provider balances are excluded. The cursor freezes the time range and filters; omitted filters inherit the cursor. Attribution reports missing evidence and unavailable lookups explicitly; initiatedBy is null when unknown. No charging keys are returned.
The description explains the capability, when to use it, and what to expect.
Inputs50/100
4 of 8 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
cursor
Opaque nextCursor from the preceding page for this organization and operation.
Clear enough to supply this argument.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
product
Not provided
Missing description. Explain what this value means and how to supply it.
since
Not provided
Missing description. Explain what this value means and how to supply it.
until
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_billing_credit_ledger",
"title": "List lifetime credit consumption",
"description": "Owner-only retained settled consumption, without a recent-history cutoff. Requires billing.read. Pages are ordered by settlement time and ID descending. Pending/released holds, top-up purchases and provider balances are excluded. The cursor freezes the time range and filters; omitted filters inherit the cursor. Attribution reports missing evidence and unavailable lookups explicitly; initiatedBy is null when unknown. No charging keys are returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"since": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"until": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1,
"description": "Opaque nextCursor from the preceding page for this organization and operation."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"product": {
"enum": [
"agent",
"code-audit",
"website-audit"
],
"type": "string"
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Returns the full current quote and recurring next cycle. May create or link the billing account; does not attach the plan. Startup is available only to existing Startup subscribers. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs42/100
5 of 12 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › anyOf › 0 › product
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 0 › plan
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 0 › checkoutAttemptId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › anyOf › 0 › promotionCode
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › product
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › plan
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › billingInterval
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › checkoutAttemptId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › anyOf › 1 › promotionCode
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "preview_billing_plan",
"title": "Preview a plan change",
"description": "Returns the full current quote and recurring next cycle. May create or link the billing account; does not attach the plan. Startup is available only to existing Startup subscribers. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"context"
],
"properties": {
"input": {
"anyOf": [
{
"type": "object",
"required": [
"product",
"plan",
"checkoutAttemptId"
],
"properties": {
"plan": {
"enum": [
"free",
"starter",
"starter_annual",
"pro",
"pro_annual",
"business",
"business_annual",
"startup",
"startup_annual"
],
"type": "string"
},
"product": {
"type": "string",
"const": "inth"
},
"promotionCode": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"checkoutAttemptId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"product",
"plan",
"billingInterval",
"checkoutAttemptId"
],
"properties": {
"plan": {
"enum": [
"hobby",
"starter",
"pro"
],
"type": "string"
},
"product": {
"type": "string",
"const": "consent"
},
"promotionCode": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"billingInterval": {
"enum": [
"month",
"year"
],
"type": "string"
},
"checkoutAttemptId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
}
]
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Changes the plan and may charge the default payment method. Requires the matching approved preview quote. Retains existing product, paid Consent, Enterprise, promotion and idempotency rules. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs23/100
5 of 22 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › anyOf › 0 › product
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 0 › plan
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 0 › checkoutAttemptId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › anyOf › 0 › promotionCode
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › product
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › plan
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › billingInterval
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › checkoutAttemptId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › anyOf › 1 › promotionCode
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › currency
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › discount › anyOf › 0 › amount
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › discount › anyOf › 0 › label
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › lineItems › items › amount
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › lineItems › items › description
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › lineItems › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › nextCycle › anyOf › 0 › startsAt
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › nextCycle › anyOf › 0 › total
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › subtotal
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › total
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Returns the full current top-up quote. May create or link the billing account; does not purchase credits. Use the current catalog version from get_billing_configuration. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs67/100
4 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › checkoutAttemptId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › catalogVersion
Not provided
Missing description. Explain what this value means and how to supply it.
input › credits
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "preview_billing_credit_purchase",
"title": "Preview a credit purchase",
"description": "Returns the full current top-up quote. May create or link the billing account; does not purchase credits. Use the current catalog version from get_billing_configuration. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"context"
],
"properties": {
"input": {
"type": "object",
"required": [
"checkoutAttemptId",
"catalogVersion",
"credits"
],
"properties": {
"credits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"catalogVersion": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"checkoutAttemptId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
Shorten the title to an action and subject; move usage details into the description.
Description93/100
Purchases the specified credits and may charge the default payment method. Requires the exact approved preview quote and current catalog version. Reuse the checkout UUID for an uncertain retry. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs23/100
4 of 16 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › checkoutAttemptId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › catalogVersion
Not provided
Missing description. Explain what this value means and how to supply it.
input › credits
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › currency
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › discount › anyOf › 0 › amount
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › discount › anyOf › 0 › label
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › lineItems › items › amount
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › lineItems › items › description
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › lineItems › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › nextCycle › anyOf › 0 › startsAt
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › nextCycle › anyOf › 0 › total
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › subtotal
Not provided
Missing description. Explain what this value means and how to supply it.
approvedQuote › total
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "purchase_billing_credits",
"title": "Purchase credits",
"description": "Purchases the specified credits and may charge the default payment method. Requires the exact approved preview quote and current catalog version. Reuse the checkout UUID for an uncertain retry. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"approvedQuote",
"context"
],
"properties": {
"input": {
"type": "object",
"required": [
"checkoutAttemptId",
"catalogVersion",
"credits"
],
"properties": {
"credits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"catalogVersion": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"checkoutAttemptId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"approvedQuote": {
"type": "object",
"required": [
"currency",
"discount",
"lineItems",
"nextCycle",
"subtotal",
"total"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"currency": {
"type": "string",
"pattern": "^[a-z]{3}$"
},
"discount": {
"anyOf": [
{
"type": "object",
"required": [
"amount",
"label"
],
"properties": {
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"amount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"subtotal": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount",
"description",
"label"
],
"properties": {
"label": {
"type": "string"
},
"amount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"maxItems": 100
},
"nextCycle": {
"anyOf": [
{
"type": "object",
"required": [
"startsAt",
"total"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"startsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"description": "The complete quote returned by the matching preview, approved by the buyer. A changed quote returns CONFLICT before attaching the plan or purchase. Monetary values are minor units.",
"additionalProperties": false
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Enables or disables future automatic purchases using the default payment method. Enabling requires current catalog version, a valid credit quantity and an explicit monthly number-of-purchases limit. Other provider rules are preserved. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs45/100
5 of 11 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › anyOf › 0 › enabled
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 0 › requestId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › anyOf › 1 › enabled
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › requestId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
input › anyOf › 1 › catalogVersion
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › monthlyPurchaseLimit
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › quantityCredits
Not provided
Missing description. Explain what this value means and how to supply it.
input › anyOf › 1 › thresholdCredits
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_billing_auto_top_up",
"title": "Configure automatic credit top-ups",
"description": "Enables or disables future automatic purchases using the default payment method. Enabling requires current catalog version, a valid credit quantity and an explicit monthly number-of-purchases limit. Other provider rules are preserved. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"context"
],
"properties": {
"input": {
"anyOf": [
{
"type": "object",
"required": [
"enabled",
"requestId"
],
"properties": {
"enabled": {
"type": "boolean",
"const": false
},
"requestId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"enabled",
"requestId",
"catalogVersion",
"monthlyPurchaseLimit",
"quantityCredits",
"thresholdCredits"
],
"properties": {
"enabled": {
"type": "boolean",
"const": true
},
"requestId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
},
"catalogVersion": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"quantityCredits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"thresholdCredits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"monthlyPurchaseLimit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
}
},
"additionalProperties": false
}
]
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Replaces the billing business name and full address. Null clears an optional address field. Accepts no payment details or provider tokens. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs30/100
3 of 10 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › businessName
Not provided
Missing description. Explain what this value means and how to supply it.
input › address › country
Not provided
Missing description. Explain what this value means and how to supply it.
input › address › line1
Not provided
Missing description. Explain what this value means and how to supply it.
input › address › line2
Not provided
Missing description. Explain what this value means and how to supply it.
input › address › city
Not provided
Missing description. Explain what this value means and how to supply it.
input › address › state
Not provided
Missing description. Explain what this value means and how to supply it.
input › address › postalCode
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_billing_profile",
"title": "Update billing identity",
"description": "Replaces the billing business name and full address. Null clears an optional address field. Accepts no payment details or provider tokens. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"context"
],
"properties": {
"input": {
"type": "object",
"required": [
"businessName",
"address"
],
"properties": {
"address": {
"type": "object",
"required": [
"country",
"line1",
"line2",
"city",
"state",
"postalCode"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
]
},
"line1": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"line2": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
]
},
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"postalCode": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"businessName": {
"type": "string",
"maxLength": 150,
"minLength": 1
}
},
"additionalProperties": false
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Sets the address that gets receipts and billing emails, such as an accounts-payable inbox. It needs no Inth account. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs52/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › email
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_billing_email",
"title": "Update billing email",
"description": "Sets the address that gets receipts and billing emails, such as an accounts-payable inbox. It needs no Inth account. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"context"
],
"properties": {
"input": {
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"pattern": "^(?!\\.)(?!.*\\.\\.)([-A-Za-z0-9_'+.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 254
}
},
"additionalProperties": false
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Schedules cancellation for the specified product at period end. Requires explicit confirmCancellation:true. Enterprise subscriptions remain sales-managed. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs50/100
4 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › product
Not provided
Missing description. Explain what this value means and how to supply it.
input › requestId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Resolve the mismatch between this description and its schema constraints.
confirmCancellation
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "cancel_billing_subscription",
"title": "Cancel a subscription at period end",
"description": "Schedules cancellation for the specified product at period end. Requires explicit confirmCancellation:true. Enterprise subscriptions remain sales-managed. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"confirmCancellation",
"context"
],
"properties": {
"input": {
"type": "object",
"required": [
"product",
"requestId"
],
"properties": {
"product": {
"enum": [
"inth",
"consent"
],
"type": "string"
},
"requestId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
},
"confirmCancellation": {
"type": "boolean",
"const": true
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Restores renewal for the specified product when cancellation or expiry is scheduled. Enterprise subscriptions remain sales-managed. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs32/100
4 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
input › product
Not provided
Missing description. Explain what this value means and how to supply it.
input › requestId
A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "uncancel_billing_subscription",
"title": "Undo scheduled subscription cancellation",
"description": "Restores renewal for the specified product when cancellation or expiry is scheduled. Enterprise subscriptions remain sales-managed. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"context"
],
"properties": {
"input": {
"type": "object",
"required": [
"product",
"requestId"
],
"properties": {
"product": {
"enum": [
"inth",
"consent"
],
"type": "string"
},
"requestId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A caller-generated UUID v4. Reuse it only for retries of this exact checkout; use a new ID for a different plan, amount or promotion."
}
},
"additionalProperties": false
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Sets an existing organization-owned payment method as default. Updates eligible existing subscriptions through the same billing policy as Dashboard. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs94/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
paymentMethodId
Payment method ID from list_billing_payment_methods for this organization.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "set_default_billing_payment_method",
"title": "Choose the default payment method",
"description": "Sets an existing organization-owned payment method as default. Updates eligible existing subscriptions through the same billing policy as Dashboard. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"paymentMethodId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
},
"paymentMethodId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Payment method ID from list_billing_payment_methods for this organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Detaches the specified organization-owned method after confirmPaymentMethodId matches. Existing protection for payment methods required by active subscriptions is retained. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs86/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
paymentMethodId
Payment method ID from list_billing_payment_methods for this organization.
Clear enough to supply this argument.
confirmPaymentMethodId
Payment method ID from list_billing_payment_methods for this organization.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "remove_billing_payment_method",
"title": "Remove a payment method",
"description": "Detaches the specified organization-owned method after confirmPaymentMethodId matches. Existing protection for payment methods required by active subscriptions is retained. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"paymentMethodId",
"confirmPaymentMethodId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
},
"paymentMethodId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Payment method ID from list_billing_payment_methods for this organization."
},
"confirmPaymentMethodId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Payment method ID from list_billing_payment_methods for this organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Creates a hosted person checkout/management link. Open it in a browser as the buyer; never ask an agent to collect card or provider tokens. The return URL is fixed to the canonical Dashboard. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.
The description explains the capability, when to use it, and what to expect.
Inputs95/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "open_billing_portal",
"title": "Open the hosted billing portal",
"description": "Creates a hosted person checkout/management link. Open it in a browser as the buyer; never ask an agent to collect card or provider tokens. The return URL is fixed to the canonical Dashboard. Requires billing.write, a user token and an organization owner role. Subject to allow-public-agent-writes before provider/account effects. Payment setup or confirmation returns requires_action with a fixed Dashboard URL, never a client secret.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description82/100
Owner-only usage counters, limits, features and automation entitlements. Requires billing.read. Null usage counters mean unavailable provider data; providerAvailable reports that state explicitly.
The description explains the capability, when to use it, and what to expect.
Inputs94/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing_entitlements",
"title": "Get billing entitlements",
"description": "Owner-only usage counters, limits, features and automation entitlements. Requires billing.read. Null usage counters mean unavailable provider data; providerAvailable reports that state explicitly.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Owner-only full plans, subscriptions, catalog and top-up configuration. Requires user-delegated billing.details.read. Read-only; null plan and hasBillingAccount mean the provider did not answer.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing_configuration",
"title": "Get billing configuration",
"description": "Owner-only full plans, subscriptions, catalog and top-up configuration. Requires user-delegated billing.details.read. Read-only; null plan and hasBillingAccount mean the provider did not answer.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Owner-only settled credit spend with activity, grouping and member or automation attribution. Requires billing.read. The shared ledger covers 30 days, five receipts per page; returns page, totalPages and periodDays. It is not a complete lifetime ledger.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
page
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing_credit_usage",
"title": "Get credit usage",
"description": "Owner-only settled credit spend with activity, grouping and member or automation attribution. Requires billing.read. The shared ledger covers 30 days, five receipts per page; returns page, totalPages and periodDays. It is not a complete lifetime ledger.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"page": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Owner-only invoices in pages of 20, with minor-unit monetary values and a nextCursor. Requires user-delegated billing.details.read. Public invoice IDs support direct detail and PDF reads without scanning recent invoice history.
The description explains the capability, when to use it, and what to expect.
Inputs95/100
Remove repeated schema validation from descriptions; focus on meaning and usage context.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
cursor
Opaque nextCursor from the preceding page for this organization and operation.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_billing_invoices",
"title": "List billing invoices",
"description": "Owner-only invoices in pages of 20, with minor-unit monetary values and a nextCursor. Requires user-delegated billing.details.read. Public invoice IDs support direct detail and PDF reads without scanning recent invoice history.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1,
"description": "Opaque nextCursor from the preceding page for this organization and operation."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Owner-only invoice detail with line items and minor-unit monetary values. Requires user-delegated billing.details.read. Use an invoiceId from list_billing_invoices. pdfPath identifies the authenticated REST download. MCP clients use get_billing_invoice_pdf and follow its chunk offsets. No payment is started.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
invoiceId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing_invoice",
"title": "Get billing invoice",
"description": "Owner-only invoice detail with line items and minor-unit monetary values. Requires user-delegated billing.details.read. Use an invoiceId from list_billing_invoices. pdfPath identifies the authenticated REST download. MCP clients use get_billing_invoice_pdf and follow its chunk offsets. No payment is started.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoiceId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"invoiceId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Owner-only billing business name, address and billing email. Requires user-delegated billing.details.read. profile is null when the billing account has no saved profile; billingEmail is null when none is set.
The description explains the capability, when to use it, and what to expect.
Inputs94/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing_profile",
"title": "Get billing profile",
"description": "Owner-only billing business name, address and billing email. Requires user-delegated billing.details.read. profile is null when the billing account has no saved profile; billingEmail is null when none is set.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Owner-only card and Link payment summaries in provider order, with last four digits, expiry and default status. Requires user-delegated billing.details.read. Reads one provider page and returns items, pageSize and nextCursor; follow the cursor even if a page has fewer items than pageSize. No card secret or setup session is returned.
The description explains the capability, when to use it, and what to expect.
Inputs76/100
4 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization.
Clear enough to supply this argument.
cursor
Opaque nextCursor from the preceding page for this organization and operation.
Clear enough to supply this argument.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_billing_payment_methods",
"title": "List billing payment methods",
"description": "Owner-only card and Link payment summaries in provider order, with last four digits, expiry and default status. Requires user-delegated billing.details.read. Reads one provider page and returns items, pageSize and nextCursor; follow the cursor even if a page has fewer items than pageSize. No card secret or setup session is returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1,
"description": "Opaque nextCursor from the preceding page for this organization and operation."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation. Defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description89/100
Read the verified person's account ID, name, email, avatar URL and PII-masking preference. Requires user-delegated account.read. organizationId selects an accessible organization context, never another user. Omit it when you have no memberships.
The description explains the capability, when to use it, and what to expect.
Inputs95/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_account_profile",
"title": "Get account profile",
"description": "Read the verified person's account ID, name, email, avatar URL and PII-masking preference. Requires user-delegated account.read. organizationId selects an accessible organization context, never another user. Omit it when you have no memberships.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description82/100
Read the verified person's account and organization email preferences. Requires user-delegated notifications.read. Account opt-outs take precedence. Routing is null without organization-management permission. For managers, membersPath points to bounded member discovery under members.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs94/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_notification_preferences",
"title": "Get notification preferences",
"description": "Read the verified person's account and organization email preferences. Requires user-delegated notifications.read. Account opt-outs take precedence. Routing is null without organization-management permission. For managers, membersPath points to bounded member discovery under members.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description89/100
Read the saved and effective hosted Code Audit provider-retention policy, version and existing owner/plan/rollout enablement state. Requires user-delegated organization-retention.read. strictZdrUnavailableReason is null when there is no denial reason. This read never changes retention.
The description explains the capability, when to use it, and what to expect.
Inputs57/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_organization_retention",
"title": "Get organization retention",
"description": "Read the saved and effective hosted Code Audit provider-retention policy, version and existing owner/plan/rollout enablement state. Requires user-delegated organization-retention.read. strictZdrUnavailableReason is null when there is no denial reason. This read never changes retention.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
Change your own name or hidePII preference. Omitted fields keep their current value. No organization membership is required when organizationId is omitted; write-pause evaluation uses your verified identity. Requires account.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
name
Not provided
Missing description. Explain what this value means and how to supply it.
hidePII
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_account_profile",
"title": "Update your account profile",
"description": "Change your own name or hidePII preference. Omitted fields keep their current value. No organization membership is required when organizationId is omitted; write-pause evaluation uses your verified identity. Requires account.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"hidePII": {
"type": "boolean"
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
Change your own preference for one email family across your account or within the selected organization. Account opt-outs win. Requires notifications.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs43/100
3 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
scope
Not provided
Missing description. Explain what this value means and how to supply it.
family
Not provided
Missing description. Explain what this value means and how to supply it.
enabled
Not provided
Missing description. Explain what this value means and how to supply it.
mode
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_notification_preferences",
"title": "Update notification preference",
"description": "Change your own preference for one email family across your account or within the selected organization. Account opt-outs win. Requires notifications.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scope",
"family",
"enabled",
"mode",
"context"
],
"properties": {
"mode": {
"enum": [
"immediate",
"daily"
],
"type": "string"
},
"scope": {
"enum": [
"account",
"organization"
],
"type": "string"
},
"family": {
"enum": [
"welcome",
"upsell",
"spike-protection",
"banner-recording",
"consent-rate-shift",
"banner-change-published",
"first-week-recap",
"unconfigured-region",
"missing-translation",
"c15t-upgrade",
"nps"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"enabled": {
"type": "boolean"
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Assign a notification role to current organization member IDs. configured:false requires an empty list and restores fallback to owners/admins. configured:true with [] sends that role to nobody. Requires notifications.routing.write and admin or owner. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs50/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
role
Not provided
Missing description. Explain what this value means and how to supply it.
configured
Not provided
Missing description. Explain what this value means and how to supply it.
userIds
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_notification_routing",
"title": "Update notification role routing",
"description": "Assign a notification role to current organization member IDs. configured:false requires an empty list and restores fallback to owners/admins. configured:true with [] sends that role to nobody. Requires notifications.routing.write and admin or owner. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"role",
"configured",
"userIds",
"context"
],
"properties": {
"role": {
"enum": [
"engineering",
"compliance",
"legal"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"userIds": {
"type": "array",
"items": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"maxItems": 500
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"configured": {
"type": "boolean"
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Read organization name, slug, logo, creation time and role permissions. Requires user-delegated organizations.read. Never selects another tenant.
The description explains the capability, when to use it, and what to expect.
Inputs58/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_organization_settings",
"title": "Read organization settings",
"description": "Read organization name, slug, logo, creation time and role permissions. Requires user-delegated organizations.read. Never selects another tenant.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description63/100
Change the selected organization name. Requires organizations.settings.write and admin or owner. Logo uploads use the authenticated binary REST operation. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
Resolve contradictions between the description, input schema, and annotations.
Inputs43/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
name
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_organization_settings",
"title": "Update organization name",
"description": "Change the selected organization name. Requires organizations.settings.write and admin or owner. Logo uploads use the authenticated binary REST operation. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"name",
"context"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"minLength": 2
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description75/100
Set hosted Code Audit provider retention with an optimistic expectedVersion and retry-stable mutationId. Requires organization-retention.write and owner. Strict ZDR retains existing enterprise, configuration, rollout and active-run checks. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs32/100
2 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
mutationId
Not provided
Missing description. Explain what this value means and how to supply it.
expectedVersion
Not provided
Missing description. Explain what this value means and how to supply it.
providerRetention
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_organization_retention",
"title": "Update organization provider retention",
"description": "Set hosted Code Audit provider retention with an optimistic expectedVersion and retry-stable mutationId. Requires organization-retention.write and owner. Strict ZDR retains existing enterprise, configuration, rollout and active-run checks. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"mutationId",
"expectedVersion",
"providerRetention",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"mutationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"expectedVersion": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"providerRetention": {
"enum": [
"standard",
"strict-zdr"
],
"type": "string"
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description86/100
Rename the organization slug, reserving the previous slug and updating runtime routes. Read current settings first and provide expectedSlug; stale state conflicts. Requires organizations.settings.write and admin or owner. Existing org-slug-rename flag also applies. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs40/100
2 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
newSlug
Not provided
Missing description. Explain what this value means and how to supply it.
expectedSlug
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "rename_organization_slug",
"title": "Rename organization URL",
"description": "Rename the organization slug, reserving the previous slug and updating runtime routes. Read current settings first and provide expectedSlug; stale state conflicts. Requires organizations.settings.write and admin or owner. Existing org-slug-rename flag also applies. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"newSlug",
"expectedSlug",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"newSlug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 20,
"minLength": 3
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"expectedSlug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 20,
"minLength": 3
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Upload PNG, JPEG, WEBP or GIF bytes as canonical padded base64, at most 524288 decoded bytes. Media type must match its signature. Replaces the image and deletes the previous managed blob. REST raw uploads allow up to 1048576 bytes. Account avatars work without memberships when organizationId is omitted. Requires account.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
mediaType
Not provided
Missing description. Explain what this value means and how to supply it.
data
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "upload_account_avatar",
"title": "Upload your account avatar",
"description": "Upload PNG, JPEG, WEBP or GIF bytes as canonical padded base64, at most 524288 decoded bytes. Media type must match its signature. Replaces the image and deletes the previous managed blob. REST raw uploads allow up to 1048576 bytes. Account avatars work without memberships when organizationId is omitted. Requires account.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"mediaType",
"data",
"context"
],
"properties": {
"data": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"maxLength": 699052,
"minLength": 4
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"mediaType": {
"enum": [
"image/png",
"image/jpeg",
"image/webp",
"image/gif"
],
"type": "string"
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Discover the authenticated binary REST upload path, media types and byte limit. Upload raw image bytes using a delegated REST Bearer [redacted] No token or signed storage URL is returned. Requires account.write.
The description explains the capability, when to use it, and what to expect.
Inputs95/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_account_avatar_upload_instructions",
"title": "Get account avatar upload instructions",
"description": "Discover the authenticated binary REST upload path, media types and byte limit. Upload raw image bytes using a delegated REST Bearer [redacted] No token or signed storage URL is returned. Requires account.write.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Clear the image and delete the old managed blob. Repeating removal leaves it empty. Requires account.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs94/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "remove_account_avatar",
"title": "Remove your account avatar",
"description": "Clear the image and delete the old managed blob. Repeating removal leaves it empty. Requires account.write. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID from list_organizations. Pass it explicitly for stable automation; otherwise defaults to the active organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Upload PNG, JPEG, WEBP or GIF bytes as canonical padded base64, at most 524288 decoded bytes. Media type must match its signature. Replaces the image and deletes the previous managed blob. REST raw uploads allow up to 1048576 bytes. Account avatars work without memberships when organizationId is omitted. Requires organizations.settings.write and admin or owner. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs40/100
2 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
mediaType
Not provided
Missing description. Explain what this value means and how to supply it.
data
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "upload_organization_logo",
"title": "Upload organization logo",
"description": "Upload PNG, JPEG, WEBP or GIF bytes as canonical padded base64, at most 524288 decoded bytes. Media type must match its signature. Replaces the image and deletes the previous managed blob. REST raw uploads allow up to 1048576 bytes. Account avatars work without memberships when organizationId is omitted. Requires organizations.settings.write and admin or owner. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"mediaType",
"data",
"context"
],
"properties": {
"data": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"maxLength": 699052,
"minLength": 4
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"mediaType": {
"enum": [
"image/png",
"image/jpeg",
"image/webp",
"image/gif"
],
"type": "string"
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Discover the authenticated binary REST upload path, media types and byte limit. Upload raw image bytes using a delegated REST Bearer [redacted] No token or signed storage URL is returned. Requires organizations.settings.write and admin or owner.
The description explains the capability, when to use it, and what to expect.
Inputs67/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_organization_logo_upload_instructions",
"title": "Get organization logo upload instructions",
"description": "Discover the authenticated binary REST upload path, media types and byte limit. Upload raw image bytes using a delegated REST Bearer [redacted] No token or signed storage URL is returned. Requires organizations.settings.write and admin or owner.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description86/100
Clear the image and delete the old managed blob. Repeating removal leaves it empty. Requires organizations.settings.write and admin or owner. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs50/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "remove_organization_logo",
"title": "Remove organization logo",
"description": "Clear the image and delete the old managed blob. Repeating removal leaves it empty. Requires organizations.settings.write and admin or owner. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Permanently delete the selected organization and dependent projects, billing, API keys and stored data. confirmation must exactly match its current slug. Requires organizations.delete and owner. Existing enable-org-self-delete flag applies. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.
The description explains the capability, when to use it, and what to expect.
Inputs33/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
confirmation
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_organization",
"title": "Delete organization",
"description": "Permanently delete the selected organization and dependent projects, billing, API keys and stored data. confirmation must exactly match its current slug. Requires organizations.delete and owner. Existing enable-org-self-delete flag applies. Requires a user-delegated token. allow-public-agent-writes must be enabled. Existing product flags and permission checks also apply.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"organizationId",
"confirmation",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"confirmation": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description79/100
Read your provider linkage, rollout availability and integration discovery paths. Requires integrations.read user scope. No provider tokens are returned.
Describe the returned information so the agent knows whether it will answer the request.
Inputs76/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_integration_status",
"description": "Read your provider linkage, rollout availability and integration discovery paths. Requires integrations.read user scope. No provider tokens are returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description75/100
Read connected GitHub installation accounts in bounded ID order. Requires integrations.read. Default20 max100; follow nextCursor.
Describe the returned information so the agent knows whether it will answer the request.
Inputs50/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Explain the meaning of this value, not just its name.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_github_installations",
"description": "Read connected GitHub installation accounts in bounded ID order. Requires integrations.read. Default20 max100; follow nextCursor.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
Read stored GitHub repositories, branch/path filters and PR scan settings. Requires integrations.read. Bounded ID pages default20 max100. get_integration_repository reads active scanning and automation ownership; list_repository_project_links reads all project/policy bindings.
Describe the returned information so the agent knows whether it will answer the request.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_integration_repositories",
"description": "Read stored GitHub repositories, branch/path filters and PR scan settings. Requires integrations.read. Bounded ID pages default20 max100. get_integration_repository reads active scanning and automation ownership; list_repository_project_links reads all project/policy bindings.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description82/100
Read a tenant-scoped GitHub repository with full settings, current scanning state and automation ownership. Requires integrations.read. Discovery has no recent-sync limit.
The description explains the capability, when to use it, and what to expect.
Inputs52/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Explain the meaning of this value, not just its name.
id
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_integration_repository",
"description": "Read a tenant-scoped GitHub repository with full settings, current scanning state and automation ownership. Requires integrations.read. Discovery has no recent-sync limit.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Read bounded project links for a tenant-scoped repository, including root, branch, scheduled settings and the first20 PR/weekly/cron policies. Continue policiesNextCursor with list_repository_link_policies. Requires integrations.read. Default20 max100; follow nextCursor.
The description explains the capability, when to use it, and what to expect.
Inputs46/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
id
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_repository_project_links",
"description": "Read bounded project links for a tenant-scoped repository, including root, branch, scheduled settings and the first20 PR/weekly/cron policies. Continue policiesNextCursor with list_repository_link_policies. Requires integrations.read. Default20 max100; follow nextCursor.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description75/100
Read every scan policy for a tenant-scoped active project repository link. Requires integrations.read. Default20 max100, stable ID pages. Follow nextCursor; this continues policiesNextCursor from list_repository_project_links.
Describe the returned information so the agent knows whether it will answer the request.
Inputs46/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
id
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_repository_link_policies",
"description": "Read every scan policy for a tenant-scoped active project repository link. Requires integrations.read. Default20 max100, stable ID pages. Follow nextCursor; this continues policiesNextCursor from list_repository_project_links.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
Read stored Search Console property listings and attribution. Requires integrations.read. Attribution includes names and emails only with members.read. Admins/owners see member listings; other members see only their own provider account. Bounded ID pages default20 max100. No provider request is made.
The description explains the capability, when to use it, and what to expect.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_search_console_properties",
"description": "Read stored Search Console property listings and attribution. Requires integrations.read. Attribution includes names and emails only with members.read. Admins/owners see member listings; other members see only their own provider account. Bounded ID pages default20 max100. No provider request is made.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Read verified domain proofs, method, verifier and timestamp. Requires integrations.read. Verifier names and emails require members.read. Proof identities are visible only to the verifier or an admin/owner. Admins/owners see all proofs; other members see proofs for their own property listings plus Search Console proofs whose listings may be gone. Bounded ID pages default20 max100; unverified tokens are never returned.
The description explains the capability, when to use it, and what to expect.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_integration_domain_proofs",
"description": "Read verified domain proofs, method, verifier and timestamp. Requires integrations.read. Verifier names and emails require members.read. Proof identities are visible only to the verifier or an admin/owner. Admins/owners see all proofs; other members see proofs for their own property listings plus Search Console proofs whose listings may be gone. Bounded ID pages default20 max100; unverified tokens are never returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Discover the latest completed owned-site scan per target across an organization or project. Requires website-audit.read and projects.read. Bounded target-ID pages default20 max100. dataCompleteness latest-scan-index means cookie bodies are separate: use list_website_scan_cookies for each returned scanId and follow its cursor. Vendor assessments are excluded.
The description explains the capability, when to use it, and what to expect.
Inputs46/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
projectId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_latest_cookie_inventory",
"description": "Discover the latest completed owned-site scan per target across an organization or project. Requires website-audit.read and projects.read. Bounded target-ID pages default20 max100. dataCompleteness latest-scan-index means cookie bodies are separate: use list_website_scan_cookies for each returned scanId and follow its cursor. Vendor assessments are excluded.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Create a signed GitHub approval link for an organization admin/owner. Requires integrations.write and enabled public writes. The person must complete provider approval in the browser; return is fixed to hosted organization settings. Never provide a provider token.
Describe the returned information so the agent knows whether it will answer the request.
Inputs69/100
Explain the meaning of this value, not just its name.
organizationId
Explicit accessible organization context.
Explain the meaning of this value, not just its name.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_github_install_flow",
"description": "Create a signed GitHub approval link for an organization admin/owner. Requires integrations.write and enabled public writes. The person must complete provider approval in the browser; return is fixed to hosted organization settings. Never provide a provider token.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description77/100
Sync your organization GitHub connection from the provider. Requires integrations.write, admin/owner and enabled public writes. May change stored accounts/repositories. No token input.
The description explains the capability, when to use it, and what to expect.
Inputs66/100
Explain the meaning of this value, not just its name.
organizationId
Explicit accessible organization context.
Explain the meaning of this value, not just its name.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "sync_github_integration",
"description": "Sync your organization GitHub connection from the provider. Requires integrations.write, admin/owner and enabled public writes. May change stored accounts/repositories. No token input.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description78/100
Sync a tenant-scoped GitHub installation by its internal ID from list_github_installations. Requires integrations.write, admin/owner and enabled public writes. Calls the provider.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
id
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "sync_github_installation",
"description": "Sync a tenant-scoped GitHub installation by its internal ID from list_github_installations. Requires integrations.write, admin/owner and enabled public writes. Calls the provider.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Update repository branch/path filters under existing first-organization automation ownership. Requires integrations.write, admin/owner and enabled public writes. Omission preserves a setting; [] clears it. At least one setting is required.
The description explains the capability, when to use it, and what to expect.
Inputs43/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
id
Not provided
Missing description. Explain what this value means and how to supply it.
settings › branchFilters
Not provided
Missing description. Explain what this value means and how to supply it.
settings › ignoredPaths
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_integration_repository_settings",
"description": "Update repository branch/path filters under existing first-organization automation ownership. Requires integrations.write, admin/owner and enabled public writes. Omission preserves a setting; [] clears it. At least one setting is required.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"settings",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"settings": {
"type": "object",
"properties": {
"ignoredPaths": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1024,
"minLength": 1
},
"maxItems": 100
},
"branchFilters": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1024,
"minLength": 1
},
"maxItems": 100
}
},
"additionalProperties": false
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Enable or disable continuous Code Audit PR monitoring for a repository. Requires integrations.write, admin/owner, first-organization automation ownership, the continuous Code Audit entitlement (every current plan, Free included) and enabled public writes. Enabling authorizes future automated credit usage. Existing allow-audit-starts remains authoritative for starts.
The description explains the capability, when to use it, and what to expect.
Inputs45/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
id
Not provided
Missing description. Explain what this value means and how to supply it.
enabled
Not provided
Missing description. Explain what this value means and how to supply it.
branchFilters
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_integration_pull_request_scans",
"description": "Enable or disable continuous Code Audit PR monitoring for a repository. Requires integrations.write, admin/owner, first-organization automation ownership, the continuous Code Audit entitlement (every current plan, Free included) and enabled public writes. Enabling authorizes future automated credit usage. Existing allow-audit-starts remains authoritative for starts.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"enabled",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"enabled": {
"type": "boolean"
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"branchFilters": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1024,
"minLength": 1
},
"maxItems": 100
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Link a connected repository and project in the same organization. Requires integrations.write, admin/owner and enabled public writes. Reuses Dashboard behavior: creates or replaces the project repository binding, resetting root to / and productionBranch to null.
The description explains the capability, when to use it, and what to expect.
Inputs40/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
id
Not provided
Missing description. Explain what this value means and how to supply it.
projectId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "link_integration_repository_project",
"description": "Link a connected repository and project in the same organization. Requires integrations.write, admin/owner and enabled public writes. Reuses Dashboard behavior: creates or replaces the project repository binding, resetting root to / and productionBranch to null.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"projectId",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Remove weekly and cron Code Audit scan policies for this organization. Requires integrations.write, admin/owner and enabled public writes. PR policies remain. Existing history stays readable.
The description explains the capability, when to use it, and what to expect.
Inputs78/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Explicit accessible organization context.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "cleanup_integration_scheduled_policies",
"description": "Remove weekly and cron Code Audit scan policies for this organization. Requires integrations.write, admin/owner and enabled public writes. PR policies remain. Existing history stays readable.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Explicit accessible organization context."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Retrieve retained screenshot bytes using this authorized MCP connection. Requires website-audit.read and projects.read, with the same tenant and report-access checks as REST. Returns a base64 chunk, default16KiB max64KiB, mediaType, etag and nextOffset. Continue with nextOffset as offset and the same etag as ifMatch; offset>0 requires ifMatch. A changed resource returns conflict. No Bearer [redacted] or storage URL is returned.
The description explains the capability, when to use it, and what to expect.
Inputs29/100
2 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Not provided
Missing description. Explain what this value means and how to supply it.
captureId
Not provided
Missing description. Explain what this value means and how to supply it.
offset
Not provided
Missing description. Explain what this value means and how to supply it.
maxBytes
Not provided
Missing description. Explain what this value means and how to supply it.
ifMatch
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_website_scan_screenshot_content",
"title": "Read screenshot bytes",
"description": "Retrieve retained screenshot bytes using this authorized MCP connection. Requires website-audit.read and projects.read, with the same tenant and report-access checks as REST. Returns a base64 chunk, default16KiB max64KiB, mediaType, etag and nextOffset. Continue with nextOffset as offset and the same etag as ifMatch; offset>0 requires ifMatch. A changed resource returns conflict. No Bearer [redacted] or storage URL is returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"captureId",
"context"
],
"properties": {
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"ifMatch": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"maxBytes": {
"type": "integer",
"maximum": 65536,
"minimum": 1
},
"captureId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Retrieve an invoice PDF using this authorized MCP connection. Owner-only, requires billing.details.read. Returns a base64 chunk, default16KiB max64KiB, mediaType, etag and nextOffset. Continue using offset:nextOffset and ifMatch:etag; changed bytes return conflict. No Bearer [redacted] or provider URL is returned. This read does not initiate payment.
The description explains the capability, when to use it, and what to expect.
Inputs29/100
2 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Not provided
Missing description. Explain what this value means and how to supply it.
invoiceId
Not provided
Missing description. Explain what this value means and how to supply it.
offset
Not provided
Missing description. Explain what this value means and how to supply it.
maxBytes
Not provided
Missing description. Explain what this value means and how to supply it.
ifMatch
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing_invoice_pdf",
"title": "Read invoice PDF bytes",
"description": "Retrieve an invoice PDF using this authorized MCP connection. Owner-only, requires billing.details.read. Returns a base64 chunk, default16KiB max64KiB, mediaType, etag and nextOffset. Continue using offset:nextOffset and ifMatch:etag; changed bytes return conflict. No Bearer [redacted] or provider URL is returned. This read does not initiate payment.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoiceId",
"context"
],
"properties": {
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"ifMatch": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"maxBytes": {
"type": "integer",
"maximum": 65536,
"minimum": 1
},
"invoiceId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Recover your ready or uploading document drafts for the selected organization. Returns at most ten files with metadata and status. Sent files are available through chat message metadata. Requires agents.read and a user token. Available while new document processing is paused.
The description explains the capability, when to use it, and what to expect.
Inputs83/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_agent_chat_attachments",
"title": "List pending Agent chat attachments",
"description": "Recover your ready or uploading document drafts for the selected organization. Returns at most ten files with metadata and status. Sent files are available through chat message metadata. Requires agents.read and a user token. Available while new document processing is paused.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Upload one document as canonical padded base64. Validation and private storage verification finish before the ready attachment is returned; no separate finalize call exists. Maximum 20 MiB per file, ten pending files and 40 MiB total per person/organization. Supports PDF, DOCX, UTF-8 text/source/config files, Markdown, CSV, JSON and supported images. Uploads create new IDs on each call; use list_agent_chat_attachments to recover after a lost response. Include the returned ID in start_agent_chat or send_agent_message attachmentIds. Requires agents.write, allow-public-agent-writes and allow-document-processing.
The description explains the capability, when to use it, and what to expect.
Inputs73/100
5 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly.
Clear enough to supply this argument.
fileName
Not provided
Missing description. Explain what this value means and how to supply it.
mediaType
Optional file MIME hint. The shared byte validator chooses the canonical stored type.
Clear enough to supply this argument.
data
Complete file bytes as canonical padded base64; no data URL prefix.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "upload_agent_chat_attachment",
"title": "Upload and verify Agent chat document",
"description": "Upload one document as canonical padded base64. Validation and private storage verification finish before the ready attachment is returned; no separate finalize call exists. Maximum 20 MiB per file, ten pending files and 40 MiB total per person/organization. Supports PDF, DOCX, UTF-8 text/source/config files, Markdown, CSV, JSON and supported images. Uploads create new IDs on each call; use list_agent_chat_attachments to recover after a lost response. Include the returned ID in start_agent_chat or send_agent_message attachmentIds. Requires agents.write, allow-public-agent-writes and allow-document-processing.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fileName",
"data",
"context"
],
"properties": {
"data": {
"type": "string",
"pattern": "^[A-Za-z0-9+/]*={0,2}$",
"maxLength": 27962028,
"minLength": 4,
"description": "Complete file bytes as canonical padded base64; no data URL prefix."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"fileName": {
"type": "string",
"pattern": "^[^\\p{C}/\\\\]+$",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"mediaType": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Optional file MIME hint. The shared byte validator chooses the canonical stored type."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Read original document bytes through this authorized MCP connection. Requires agents.read and the existing owner or published organization-sharing permission on every chunk. Ready drafts stay author-only. Returns base64 with byteOffset, byteLength, totalBytes, nextOffset, hasMore, mediaType, fileName and etag. Default 16 KiB, maximum 64 KiB. Continue with offset=nextOffset and ifMatch=etag until hasMore=false. Later chunks require ifMatch; changed content conflicts. New-processing flags do not block existing downloads. No Bearer [redacted] private storage URL is returned.
The description explains the capability, when to use it, and what to expect.
Inputs43/100
3 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly.
Clear enough to supply this argument.
attachmentId
Not provided
Missing description. Explain what this value means and how to supply it.
offset
Not provided
Missing description. Explain what this value means and how to supply it.
maxBytes
Not provided
Missing description. Explain what this value means and how to supply it.
ifMatch
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_agent_chat_attachment_content",
"title": "Read Agent chat document bytes",
"description": "Read original document bytes through this authorized MCP connection. Requires agents.read and the existing owner or published organization-sharing permission on every chunk. Ready drafts stay author-only. Returns base64 with byteOffset, byteLength, totalBytes, nextOffset, hasMore, mediaType, fileName and etag. Default 16 KiB, maximum 64 KiB. Continue with offset=nextOffset and ifMatch=etag until hasMore=false. Later chunks require ifMatch; changed content conflicts. New-processing flags do not block existing downloads. No Bearer [redacted] private storage URL is returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attachmentId",
"context"
],
"properties": {
"offset": {
"type": "integer",
"maximum": 9007199254675454,
"minimum": 0
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"ifMatch": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"maxBytes": {
"type": "integer",
"maximum": 65536,
"minimum": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentId": {
"type": "string",
"pattern": "^aga_[A-Za-z0-9_-]{1,60}$"
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Revoke and delete one of your unfinished or ready document drafts. A file already sent belongs to its conversation and cannot be discarded here. Requires agents.write and allow-public-agent-writes. Document-processing pause does not prevent discarding unused drafts.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly.
Clear enough to supply this argument.
attachmentId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "discard_agent_chat_attachment",
"title": "Discard unused Agent chat attachment",
"description": "Revoke and delete one of your unfinished or ready document drafts. A file already sent belongs to its conversation and cannot be discarded here. Requires agents.write and allow-public-agent-writes. Document-processing pause does not prevent discarding unused drafts.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attachmentId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentId": {
"type": "string",
"pattern": "^aga_[A-Za-z0-9_-]{1,60}$"
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Creation/list organization, or a tenant assertion for known attachment IDs. Omit for your saved organization on creation/list. Known IDs resolve their organization directly."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Requires code-audit.read. Read the complete pinned full-audit price, plan checksum, expiry and approval state. This quote is for continuing a prepared audit, separate from unlocking a completed report. approvalAvailability describes the persisted workflow owner; Dashboard-owned workflows require the provided Dashboard link. Reads remain available while audit starts are paused.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
scanId
Scan ID from Code Audit history. Direct reads do not depend on a recent sync window.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Optional accessible organization ID. When supplied, the scan must belong to this organization.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_code_audit_quote",
"title": "Read full-audit quote",
"description": "Requires code-audit.read. Read the complete pinned full-audit price, plan checksum, expiry and approval state. This quote is for continuing a prepared audit, separate from unlocking a completed report. approvalAvailability describes the persisted workflow owner; Dashboard-owned workflows require the provided Dashboard link. Reads remain available while audit starts are paused.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Scan ID from Code Audit history. Direct reads do not depend on a recent sync window."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Optional accessible organization ID. When supplied, the scan must belong to this organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Spend credits and continue a prepared full audit. Requires user-delegated code-audit.write and organization admin/owner. First read the quote, then supply its exact quoteId and candidatePlanChecksum plus an explicit maxCredits. The stored quote is locked and checked at credit reservation. Reuse requestId for uncertain retries. pending means delivery is not yet acknowledged; reread state or retry the same input. Gated by allow-public-agent-writes and allow-audit-starts. Older Dashboard-owned workflows return requires_dashboard before reserving credits.
The description explains the capability, when to use it, and what to expect.
Inputs47/100
4 of 8 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Scan ID from Code Audit history. Direct reads do not depend on a recent sync window.
Clear enough to supply this argument.
organizationId
Optional accessible organization ID. When supplied, the scan must belong to this organization.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
quoteId
Not provided
Missing description. Explain what this value means and how to supply it.
candidatePlanChecksum
Not provided
Missing description. Explain what this value means and how to supply it.
maxCredits
Not provided
Missing description. Explain what this value means and how to supply it.
requestId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "approve_code_audit_quote",
"title": "Approve full-audit quote",
"description": "Spend credits and continue a prepared full audit. Requires user-delegated code-audit.write and organization admin/owner. First read the quote, then supply its exact quoteId and candidatePlanChecksum plus an explicit maxCredits. The stored quote is locked and checked at credit reservation. Reuse requestId for uncertain retries. pending means delivery is not yet acknowledged; reread state or retry the same input. Gated by allow-public-agent-writes and allow-audit-starts. Older Dashboard-owned workflows return requires_dashboard before reserving credits.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"quoteId",
"candidatePlanChecksum",
"maxCredits",
"requestId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Scan ID from Code Audit history. Direct reads do not depend on a recent sync window."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"quoteId": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"requestId": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"maxCredits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Optional accessible organization ID. When supplied, the scan must belong to this organization."
},
"candidatePlanChecksum": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
Read your active browser sessions, 20 per page by default, maximum 100. Requires account.security.read. OAuth returns currentSessionId:null and isCurrent:false, because it has no current browser session.
Describe the returned information so the agent knows whether it will answer the request.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Accessible organization context; never selects another user.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_account_sessions",
"title": "List browser sessions",
"description": "Read your active browser sessions, 20 per page by default, maximum 100. Requires account.security.read. OAuth returns currentSessionId:null and isCurrent:false, because it has no current browser session.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Accessible organization context; never selects another user."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Align the title with the capability actually described by this tool.
Description82/100
Read your active first-party and reviewed-partner OAuth grants. Requires account.security.read. lastActiveAt:null means the grant did not record a timestamp. ID-ordered bounded pages; follow nextCursor.
Describe the returned information so the agent knows whether it will answer the request.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Accessible organization context; never selects another user.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_connected_devices",
"title": "List connected devices",
"description": "Read your active first-party and reviewed-partner OAuth grants. Requires account.security.read. lastActiveAt:null means the grant did not record a timestamp. ID-ordered bounded pages; follow nextCursor.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Accessible organization context; never selects another user."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Revoke your selected browser session and invalidate its cached token. Requires account.security.write and enabled public writes. The real current browser session is protected. An absent own ID returns revokedCount:0. OAuth grants remain active.
The description explains the capability, when to use it, and what to expect.
Inputs67/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Accessible organization context; never selects another user.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
id
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "revoke_account_session",
"title": "Revoke browser session",
"description": "Revoke your selected browser session and invalidate its cached token. Requires account.security.write and enabled public writes. The real current browser session is protected. An absent own ID returns revokedCount:0. OAuth grants remain active.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Accessible organization context; never selects another user."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Revoke your browser sessions. Requires account.security.write and enabled public writes. mode all requires confirmation revoke-all-browser-sessions and leaves OAuth grants active. mode others requires an actual authenticated browser session, so OAuth callers must use all. No session ID is invented or accepted from callers.
The description explains the capability, when to use it, and what to expect.
Inputs55/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Accessible organization context; never selects another user.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
mode
Not provided
Missing description. Explain what this value means and how to supply it.
confirmation
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "revoke_account_sessions",
"title": "Revoke browser sessions",
"description": "Revoke your browser sessions. Requires account.security.write and enabled public writes. mode all requires confirmation revoke-all-browser-sessions and leaves OAuth grants active. mode others requires an actual authenticated browser session, so OAuth callers must use all. No session ID is invented or accepted from callers.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"mode",
"context"
],
"properties": {
"mode": {
"enum": [
"all",
"others"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"confirmation": {
"type": "string",
"const": "revoke-all-browser-sessions"
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Accessible organization context; never selects another user."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Revoke your selected first-party or reviewed-partner OAuth grant and linked access tokens. Requires account.security.write and enabled public writes. Partner consent is removed when no live grant remains. Revoking the connection used for this tool may end further access.
The description explains the capability, when to use it, and what to expect.
Inputs45/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Accessible organization context; never selects another user.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
id
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "revoke_connected_device",
"title": "Revoke connected device",
"description": "Revoke your selected first-party or reviewed-partner OAuth grant and linked access tokens. Requires account.security.write and enabled public writes. Partner consent is removed when no live grant remains. Revoking the connection used for this tool may end further access.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"context"
],
"properties": {
"id": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Accessible organization context; never selects another user."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Read an authorized attachment as a bounded base64 chunk through this MCP connection. Requires support.read. Uses the same customer ownership and conversation-sharing rules as downloads. Start at offset zero; decode and concatenate data, then continue with nextOffset and the returned etag as ifMatch until hasMore is false. Offset is a byte offset. Default maxBytes is 16384; maximum 65536. Later chunks require ifMatch; changed content conflicts. Downloads have bounded memory use; later chunks may reread earlier provider bytes. No API Bearer [redacted] storage URL is returned.
The description explains the capability, when to use it, and what to expect.
Inputs58/100
4 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
attachmentId
Not provided
Missing description. Explain what this value means and how to supply it.
offset
Not provided
Missing description. Explain what this value means and how to supply it.
maxBytes
Maximum decoded bytes in this response. Defaults to 16384.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
ifMatch
The etag returned by the first chunk. Required for offset greater than zero.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_support_attachment_content",
"title": "Read support attachment bytes",
"description": "Read an authorized attachment as a bounded base64 chunk through this MCP connection. Requires support.read. Uses the same customer ownership and conversation-sharing rules as downloads. Start at offset zero; decode and concatenate data, then continue with nextOffset and the returned etag as ifMatch until hasMore is false. Offset is a byte offset. Default maxBytes is 16384; maximum 65536. Later chunks require ifMatch; changed content conflicts. Downloads have bounded memory use; later chunks may reread earlier provider bytes. No API Bearer [redacted] storage URL is returned.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attachmentId",
"context"
],
"properties": {
"offset": {
"type": "integer",
"maximum": 9007199254675454,
"minimum": 0
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"ifMatch": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "The etag returned by the first chunk. Required for offset greater than zero."
},
"maxBytes": {
"type": "integer",
"maximum": 65536,
"minimum": 1,
"description": "Maximum decoded bytes in this response. Defaults to 16384."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentId": {
"type": "string",
"pattern": "^sat_[1-9a-km-z]+$",
"maxLength": 64
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Create a private conversation and its first message as the authenticated person. Returns the conversation, message, complete attachments and polling checkpoint. Retrying the same clientMessageId and payload returns the same conversation. Queues delivery to support. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs79/100
5 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
clientMessageId
A UUID generated once per message. Reuse it with the same text and attachment IDs when retrying. A different payload conflicts.
Clear enough to supply this argument.
text
Not provided
Missing description. Explain what this value means and how to supply it.
attachmentIds
Up to five finalized attachments uploaded by you in this organization, in display order. Omit for no attachments. IDs must be unique.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_support_conversation",
"title": "Create customer support conversation",
"description": "Create a private conversation and its first message as the authenticated person. Returns the conversation, message, complete attachments and polling checkpoint. Retrying the same clientMessageId and payload returns the same conversation. Queues delivery to support. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"clientMessageId",
"text",
"context"
],
"properties": {
"text": {
"type": "string",
"maxLength": 64000,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^sat_[1-9a-km-z]+$",
"maxLength": 64
},
"maxItems": 5,
"description": "Up to five finalized attachments uploaded by you in this organization, in display order. Omit for no attachments. IDs must be unique."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
},
"clientMessageId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A UUID generated once per message. Reuse it with the same text and attachment IDs when retrying. A different payload conflicts."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Reply to your own or an organization-shared conversation. Closed or resolved conversations reject messages until their creator reopens them. Returns the message with its author and complete attachment metadata. Retrying the same clientMessageId and payload does not duplicate the message. Queues delivery to support. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs71/100
5 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
conversationId
Not provided
Missing description. Explain what this value means and how to supply it.
clientMessageId
A UUID generated once per message. Reuse it with the same text and attachment IDs when retrying. A different payload conflicts.
Clear enough to supply this argument.
text
Not provided
Missing description. Explain what this value means and how to supply it.
attachmentIds
Up to five finalized attachments uploaded by you in this organization, in display order. Omit for no attachments. IDs must be unique.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "send_support_message",
"title": "Send customer support message",
"description": "Reply to your own or an organization-shared conversation. Closed or resolved conversations reject messages until their creator reopens them. Returns the message with its author and complete attachment metadata. Retrying the same clientMessageId and payload does not duplicate the message. Queues delivery to support. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversationId",
"clientMessageId",
"text",
"context"
],
"properties": {
"text": {
"type": "string",
"maxLength": 64000,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^sat_[1-9a-km-z]+$",
"maxLength": 64
},
"maxItems": 5,
"description": "Up to five finalized attachments uploaded by you in this organization, in display order. Omit for no attachments. IDs must be unique."
},
"conversationId": {
"type": "string",
"pattern": "^spc_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
},
"clientMessageId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A UUID generated once per message. Reuse it with the same text and attachment IDs when retrying. A different payload conflicts."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Make a conversation and its history readable by every member of its organization. Only its creator can share it. Sharing cannot be undone through the customer API. Repeating this action leaves it shared. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
conversationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "share_support_conversation",
"title": "Share support conversation with organization",
"description": "Make a conversation and its history readable by every member of its organization. Only its creator can share it. Sharing cannot be undone through the customer API. Repeating this action leaves it shared. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"conversationId": {
"type": "string",
"pattern": "^spc_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Close your conversation and stop new messages until it is reopened. The returned status is closed. Only the conversation creator can change its status. Repeating the action does not create another status change. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
conversationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "close_support_conversation",
"title": "Close customer support conversation",
"description": "Close your conversation and stop new messages until it is reopened. The returned status is closed. Only the conversation creator can change its status. Repeating the action does not create another status change. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"conversationId": {
"type": "string",
"pattern": "^spc_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description89/100
Reopen your closed conversation so customers can reply again. Only the conversation creator can change its status. Repeating the action does not create another status change. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
conversationId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "reopen_support_conversation",
"title": "Reopen customer support conversation",
"description": "Reopen your closed conversation so customers can reply again. Only the conversation creator can change its status. Repeating the action does not create another status change. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversationId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"conversationId": {
"type": "string",
"pattern": "^spc_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Reserve an image or screen recording for a support message. Returns attachment metadata and a short-lived PUT upload URL. Upload the exact bytes with the returned Content-Type to that URL without sending your API Bearer [redacted], then call finalize_support_attachment_upload. Images may be at most 10 MiB; recordings 100 MiB. Reuse clientAttachmentId only with the same metadata when retrying an unexpired pending upload. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs57/100
4 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
clientAttachmentId
Not provided
Missing description. Explain what this value means and how to supply it.
fileName
Display filename only, without a directory path or control characters.
Clear enough to supply this argument.
mediaType
Not provided
Missing description. Explain what this value means and how to supply it.
sizeBytes
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_support_attachment_upload",
"title": "Create support attachment upload",
"description": "Reserve an image or screen recording for a support message. Returns attachment metadata and a short-lived PUT upload URL. Upload the exact bytes with the returned Content-Type to that URL without sending your API Bearer [redacted], then call finalize_support_attachment_upload. Images may be at most 10 MiB; recordings 100 MiB. Reuse clientAttachmentId only with the same metadata when retrying an unexpired pending upload. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"clientAttachmentId",
"fileName",
"mediaType",
"sizeBytes",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"fileName": {
"type": "string",
"pattern": "^[^\\p{C}/\\\\]+$",
"maxLength": 255,
"minLength": 1,
"description": "Display filename only, without a directory path or control characters."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"mediaType": {
"enum": [
"image/gif",
"image/jpeg",
"image/png",
"image/webp",
"video/mp4",
"video/quicktime",
"video/webm"
],
"type": "string"
},
"sizeBytes": {
"type": "integer",
"maximum": 104857600,
"minimum": 1
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
},
"clientAttachmentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description97/100
Verify an upload belongs to you and matches the declared media type and byte count. Returns a ready attachment to include in a message. A mismatch fails the upload; an expired upload cannot be finalized. Repeating a successful finalization returns the existing attachment. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs72/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
attachmentId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "finalize_support_attachment_upload",
"title": "Finalize support attachment upload",
"description": "Verify an upload belongs to you and matches the declared media type and byte count. Returns a ready attachment to include in a message. A mismatch fails the upload; an expired upload cannot be finalized. Repeating a successful finalization returns the existing attachment. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attachmentId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentId": {
"type": "string",
"pattern": "^sat_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Expire and delete an unused attachment uploaded by you. Attached files cannot be discarded. Repeating an already completed discard is safe. Returns id and discarded. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
attachmentId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "discard_support_attachment",
"title": "Discard unused support attachment",
"description": "Expire and delete an unused attachment uploaded by you. Attached files cannot be discarded. Repeating an already completed discard is safe. Returns id and discarded. Requires support.write and a user token. Available only when allow-public-agent-writes is enabled for the organization.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attachmentId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentId": {
"type": "string",
"pattern": "^sat_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Read a page of up to 50 of your support conversations and conversations shared with the selected organization, newest updated first. Admins cannot read another person's private conversation. Returns items, nextCursor and hasMore. Requires support.read and a user token.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
cursor
Opaque nextCursor from the same tool and selectors. To poll a fully read conversation for new messages, use its checkpoint.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_support_conversations",
"title": "List customer support conversations",
"description": "Read a page of up to 50 of your support conversations and conversations shared with the selected organization, newest updated first. Admins cannot read another person's private conversation. Returns items, nextCursor and hasMore. Requires support.read and a user token.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 4096,
"minLength": 1,
"description": "Opaque nextCursor from the same tool and selectors. To poll a fully read conversation for new messages, use its checkpoint."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Read a known conversation and up to 100 messages in chronological order, with authors and attachment metadata. Continue with nextCursor until null for the full history. Save checkpoint and pass it as cursor to poll for new messages. Use get_support_attachment_content to read attachment bytes through MCP, or downloadUrl with a support.read REST Bearer [redacted] Private conversations remain author-only. Requires support.read.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
4 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization.
Clear enough to supply this argument.
conversationId
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Opaque nextCursor from the same tool and selectors. To poll a fully read conversation for new messages, use its checkpoint.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_support_conversation",
"title": "Read customer support conversation history",
"description": "Read a known conversation and up to 100 messages in chronological order, with authors and attachment metadata. Continue with nextCursor until null for the full history. Save checkpoint and pass it as cursor to poll for new messages. Use get_support_attachment_content to read attachment bytes through MCP, or downloadUrl with a support.read REST Bearer [redacted] Private conversations remain author-only. Requires support.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversationId",
"context"
],
"properties": {
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 4096,
"minLength": 1,
"description": "Opaque nextCursor from the same tool and selectors. To poll a fully read conversation for new messages, use its checkpoint."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"conversationId": {
"type": "string",
"pattern": "^spc_[1-9a-km-z]+$",
"maxLength": 64
},
"organizationId": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Organization ID for stable automation. Lists default to your saved organization. A known conversation ID resolves its own organization; pass this to require a specific organization."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Expand internal abbreviations and remove technical prefixes from the display title.
Description98/100
Report unexpected Inth failures, misleading documentation, missing capabilities, or workarounds. Include expected and actual behavior and an optional request ID. Submit once per distinct issue and continue the original task if reporting fails. Do not report routine validation errors or include credentials, personal data, customer payloads, or full transcripts. Reports go to the Inth team; follow the user's permission to send feedback. No credits charged or product scopes required. Returns a ticket reference and alreadySubmitted. Resubmitting the same report within a UTC day returns the existing reference.
The description explains the capability, when to use it, and what to expect.
Inputs17/100
2 of 12 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
category
Not provided
Missing description. Explain what this value means and how to supply it.
surface
Not provided
Missing description. Explain what this value means and how to supply it.
message
Not provided
Missing description. Explain what this value means and how to supply it.
expected
Not provided
Missing description. Explain what this value means and how to supply it.
actual
Not provided
Missing description. Explain what this value means and how to supply it.
reproduction
Not provided
Missing description. Explain what this value means and how to supply it.
requestId
Not provided
Missing description. Explain what this value means and how to supply it.
operation
Not provided
Missing description. Explain what this value means and how to supply it.
clientName
Not provided
Missing description. Explain what this value means and how to supply it.
clientVersion
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "submit_feedback",
"title": "Submit Inth feedback",
"description": "Report unexpected Inth failures, misleading documentation, missing capabilities, or workarounds. Include expected and actual behavior and an optional request ID. Submit once per distinct issue and continue the original task if reporting fails. Do not report routine validation errors or include credentials, personal data, customer payloads, or full transcripts. Reports go to the Inth team; follow the user's permission to send feedback. No credits charged or product scopes required. Returns a ticket reference and alreadySubmitted. Resubmitting the same report within a UTC day returns the existing reference.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"category",
"message",
"context"
],
"properties": {
"actual": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"message": {
"type": "string",
"maxLength": 8000,
"minLength": 1
},
"surface": {
"enum": [
"api",
"mcp",
"cli",
"docs",
"sdk",
"dashboard",
"other"
],
"type": "string"
},
"category": {
"enum": [
"bug",
"friction",
"docs_mismatch",
"feature_request",
"performance"
],
"type": "string"
},
"expected": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"operation": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"requestId": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"clientName": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"reproduction": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"clientVersion": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
Plan, tier, credit balance, and automatic top-up settings of an organization. Requires billing.read.
The description explains the capability, when to use it, and what to expect.
Inputs95/100
Input documentation gives an agent enough context to populate the arguments.
organizationId
Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_billing",
"title": "Get billing",
"description": "Plan, tier, credit balance, and automatic top-up settings of an organization. Requires billing.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
A page of connected GitHub repositories with project links, ordered by ID. Returns items, nextCursor, and hasMore. Requires code-audit.read.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable.
Clear enough to supply this argument.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_code_audit_repositories",
"title": "List Code Audit repositories",
"description": "A page of connected GitHub repositories with project links, ordered by ID. Returns items, nextCursor, and hasMore. Requires code-audit.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Scans of an organization, newest first, with status, counts, and whether the report is locked. Requires code-audit.read.
The description explains the capability, when to use it, and what to expect.
Inputs61/100
5 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable.
Clear enough to supply this argument.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
repositoryId
Only scans of this repository.
Explain the meaning of this value, not just its name.
status
Only scans in this status.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_code_audit_scans",
"title": "List Code Audit scans",
"description": "Scans of an organization, newest first, with status, counts, and whether the report is locked. Requires code-audit.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"minLength": 1,
"description": "Only scans in this status."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"repositoryId": {
"type": "string",
"minLength": 1,
"description": "Only scans of this repository."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
One scan with its status and progress. Requires code-audit.read.
Describe the returned information so the agent knows whether it will answer the request.
Inputs83/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
scanId
Scan ID, as returned by list_code_audit_scans.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_code_audit_scan",
"title": "Get Code Audit scan",
"description": "One scan with its status and progress. Requires code-audit.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"minLength": 1,
"description": "Scan ID, as returned by list_code_audit_scans."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Starts a scan of a connected repository on its production branch. The first scan of a repository is a free preview; later ones need the previous preview unlocked. Requires code-audit.write and an admin or owner role. Ask the person to confirm before calling this.
The description explains the capability, when to use it, and what to expect.
Inputs94/100
Input documentation gives an agent enough context to populate the arguments.
repositoryId
Repository ID, as returned by list_code_audit_repositories.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "start_code_audit_scan",
"title": "Start Code Audit scan",
"description": "Starts a scan of a connected repository on its production branch. The first scan of a repository is a free preview; later ones need the previous preview unlocked. Requires code-audit.write and an admin or owner role. Ask the person to confirm before calling this.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"repositoryId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"repositoryId": {
"type": "string",
"minLength": 1,
"description": "Repository ID, as returned by list_code_audit_repositories."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description68/100
Poll a delayed scan start using its preparationId and repositoryId. Requires code-audit.read or code-audit.write.
Describe the returned information so the agent knows whether it will answer the request.
Inputs44/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
preparationId
Not provided
Missing description. Explain what this value means and how to supply it.
repositoryId
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_code_audit_scan_request",
"title": "Get Code Audit scan request",
"description": "Poll a delayed scan start using its preparationId and repositoryId. Requires code-audit.read or code-audit.write.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"preparationId",
"repositoryId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"repositoryId": {
"type": "string",
"minLength": 1
},
"preparationId": {
"type": "string",
"minLength": 1
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
The findings of a scan. A free preview returns the visible subset plus the locked count and the credits needed to unlock. Use detail full for every evidence block and the report decisions. Summary is the default. Requires code-audit.read.
The description explains the capability, when to use it, and what to expect.
Inputs69/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
scanId
Scan ID, as returned by list_code_audit_scans.
Clear enough to supply this argument.
detail
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_code_audit_scan_issues",
"title": "Get Code Audit scan issues",
"description": "The findings of a scan. A free preview returns the visible subset plus the locked count and the credits needed to unlock. Use detail full for every evidence block and the report decisions. Summary is the default. Requires code-audit.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"detail": {
"enum": [
"summary",
"full"
],
"type": "string"
},
"scanId": {
"type": "string",
"minLength": 1,
"description": "Scan ID, as returned by list_code_audit_scans."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Align the title with the capability actually described by this tool.
Description85/100
Spends credits to unlock the full report of a free preview scan. Requires code-audit.write and an owner role. Ask the person to confirm the credit cost before calling this.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
scanId
Scan ID, as returned by list_code_audit_scans.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "unlock_code_audit_scan",
"title": "Unlock Code Audit scan",
"description": "Spends credits to unlock the full report of a free preview scan. Requires code-audit.write and an owner role. Ask the person to confirm the credit cost before calling this.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scanId",
"context"
],
"properties": {
"scanId": {
"type": "string",
"minLength": 1,
"description": "Scan ID, as returned by list_code_audit_scans."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
Findings in the organization Inbox, newest first. Requires inbox.read.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
5 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable.
Clear enough to supply this argument.
status
Only items in this status.
Explain the meaning of this value, not just its name.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Cursor from a previous page.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_inbox_items",
"title": "List Inbox items",
"description": "Findings in the organization Inbox, newest first. Requires inbox.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"minLength": 1,
"description": "Cursor from a previous page."
},
"status": {
"enum": [
"open",
"accepted",
"dismissed",
"resolved"
],
"type": "string",
"description": "Only items in this status."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
One Inbox finding with its code evidence. A runtime finding also carries runtimeVendor: the project ID, vendor ID, and evidence of how the vendor loaded, such as the script URL and Google Tag Manager container. Requires inbox.read.
The description explains the capability, when to use it, and what to expect.
Inputs91/100
Explain what happens when this optional value is omitted.
itemId
Inbox item ID, as returned by list_inbox_items.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_inbox_item",
"title": "Get Inbox item",
"description": "One Inbox finding with its code evidence. A runtime finding also carries runtimeVendor: the project ID, vendor ID, and evidence of how the vendor loaded, such as the script URL and Google Tag Manager container. Requires inbox.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"itemId",
"context"
],
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Inbox item ID, as returned by list_inbox_items."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Updates status or assignment of an Inbox finding. Omit status to preserve it; omit assignedToUserId to preserve assignment; null clears assignment. Status choices: open, accepted, dismissed, or resolved. Pass the version from the item you read; a stale version is refused. Requires inbox.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs79/100
5 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
itemId
Inbox item ID, as returned by list_inbox_items.
Clear enough to supply this argument.
status
Not provided
Missing description. Explain what this value means and how to supply it.
assignedToUserId
Omit to preserve assignment; null to unassign; otherwise a current organization member user ID from assignmentOptions.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
version
The `version` of the item as last read.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_inbox_item",
"title": "Update Inbox item",
"description": "Updates status or assignment of an Inbox finding. Omit status to preserve it; omit assignedToUserId to preserve assignment; null clears assignment. Status choices: open, accepted, dismissed, or resolved. Pass the version from the item you read; a stale version is refused. Requires inbox.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"itemId",
"version",
"context"
],
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Inbox item ID, as returned by list_inbox_items."
},
"status": {
"enum": [
"open",
"accepted",
"dismissed",
"resolved"
],
"type": "string"
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"version": {
"type": "string",
"pattern": "^\\d+$",
"description": "The `version` of the item as last read."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"assignedToUserId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
],
"description": "Omit to preserve assignment; null to unassign; otherwise a current organization member user ID from assignmentOptions."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Opens a GitHub issue in the connected repository for a code finding. Returns the existing issue if one was already created. Requires inbox.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Explain what happens when this optional value is omitted.
itemId
Inbox item ID, as returned by list_inbox_items.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_inbox_github_issue",
"title": "Create GitHub issue for Inbox item",
"description": "Opens a GitHub issue in the connected repository for a code finding. Returns the existing issue if one was already created. Requires inbox.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"itemId",
"context"
],
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Inbox item ID, as returned by list_inbox_items."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
Expand internal abbreviations and remove technical prefixes from the display title.
Description78/100
A bounded page of your chats and chats shared with this organization, newest updated first. Includes visibility and viewerIsOwner. Requires agents.read and a user token.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
3 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
organizationId
Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable.
Clear enough to supply this argument.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_agent_chats",
"title": "List Inth Agent chats",
"description": "A bounded page of your chats and chats shared with this organization, newest updated first. Includes visibility and viewerIsOwner. Requires agents.read and a user token.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Permanently share a chat you own with members of its organization. Sharing is one-way. Requires agents.write. Other members can read but cannot send or delete.
The description explains the capability, when to use it, and what to expect.
Inputs91/100
Explain what happens when this optional value is omitted.
chatId
Agent chat ID, as returned by start_agent_chat.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "share_agent_chat",
"title": "Share an Inth Agent chat",
"description": "Permanently share a chat you own with members of its organization. Sharing is one-way. Requires agents.write. Other members can read but cannot send or delete.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"chatId",
"context"
],
"properties": {
"chatId": {
"type": "string",
"minLength": 1,
"description": "Agent chat ID, as returned by start_agent_chat."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Permanently delete a chat you own and its attachments, including access by members if shared. Requires agents.write.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Explain what happens when this optional value is omitted.
chatId
Agent chat ID, as returned by start_agent_chat.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "delete_agent_chat",
"title": "Delete an Inth Agent chat",
"description": "Permanently delete a chat you own and its attachments, including access by members if shared. Requires agents.write.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"chatId",
"context"
],
"properties": {
"chatId": {
"type": "string",
"minLength": 1,
"description": "Agent chat ID, as returned by start_agent_chat."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Starts a private Inth Agent chat with a first message and answers once the agent has accepted it, usually with status running. Upload documents with upload_agent_chat_attachment first, then pass their ordered attachmentIds. An empty message requires at least one attachment. Reuse clientMessageId with identical text and ordered attachmentIds after a lost response; changed content conflicts. The agent answers consent, privacy, legal research, and c15t questions, and can take minutes. Call get_agent_chat until status is idle to read the reply, or open dashboardUrl. Replies use organization credits; without enough the send is refused with INSUFFICIENT_CREDITS. Requires agents.write and a user token; messages and the title are included only when the token also has agents.read.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
organizationId
Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable.
Clear enough to supply this argument.
message
What to ask the Inth Agent. May be empty only when attachmentIds contains a ready document.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
attachmentIds
Ordered ready document IDs uploaded by you in this organization. Up to ten files and 40 MiB total. Include the same IDs and order on retries.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
inboxItemId
Inbox item the chat is about, as returned by list_inbox_items.
Clear enough to supply this argument.
clientMessageId
A UUID v4 you choose. Recover a lost response with the same ID, text and exact ordered attachmentIds. An accepted identical retry returns the same turn; changed content conflicts. Use a new ID for a new message or when the previous turn lapsed before acceptance.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "start_agent_chat",
"title": "Start an Inth Agent chat",
"description": "Starts a private Inth Agent chat with a first message and answers once the agent has accepted it, usually with status running. Upload documents with upload_agent_chat_attachment first, then pass their ordered attachmentIds. An empty message requires at least one attachment. Reuse clientMessageId with identical text and ordered attachmentIds after a lost response; changed content conflicts. The agent answers consent, privacy, legal research, and c15t questions, and can take minutes. Call get_agent_chat until status is idle to read the reply, or open dashboardUrl. Replies use organization credits; without enough the send is refused with INSUFFICIENT_CREDITS. Requires agents.write and a user token; messages and the title are included only when the token also has agents.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"message",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"message": {
"type": "string",
"maxLength": 50000,
"description": "What to ask the Inth Agent. May be empty only when attachmentIds contains a ready document."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"inboxItemId": {
"type": "string",
"minLength": 1,
"description": "Inbox item the chat is about, as returned by list_inbox_items."
},
"attachmentIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^aga_[A-Za-z0-9_-]{1,60}$"
},
"maxItems": 10,
"description": "Ordered ready document IDs uploaded by you in this organization. Up to ten files and 40 MiB total. Include the same IDs and order on retries."
},
"organizationId": {
"type": "string",
"minLength": 1,
"description": "Organization ID. Defaults to the saved Dashboard selection, which can change when you switch organizations. Pass an explicit ID for stable automation. Required when several memberships remain and the saved selection is unavailable."
},
"clientMessageId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"description": "A UUID v4 you choose. Recover a lost response with the same ID, text and exact ordered attachmentIds. An accepted identical retry returns the same turn; changed content conflicts. Use a new ID for a new message or when the previous turn lapsed before acceptance."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description83/100
An Inth Agent chat with its messages. status is running while the agent is answering the latest message and idle once the reply is in; a reply with failed true ended without an answer, and so did a turn whose last message is still yours once status is idle. Requires agents.read and a user token.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Input documentation gives an agent enough context to populate the arguments.
chatId
Agent chat ID, as returned by start_agent_chat.
Clear enough to supply this argument.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_agent_chat",
"title": "Get an Inth Agent chat",
"description": "An Inth Agent chat with its messages. status is running while the agent is answering the latest message and idle once the reply is in; a reply with failed true ended without an answer, and so did a turn whose last message is still yours once status is idle. Requires agents.read and a user token.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"chatId",
"context"
],
"properties": {
"chatId": {
"type": "string",
"minLength": 1,
"description": "Agent chat ID, as returned by start_agent_chat."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Sends a follow-up message to one of your Inth Agent chats and answers once the agent has accepted it. Upload documents with upload_agent_chat_attachment first, then pass their ordered attachmentIds. An empty message requires an attachment. Reuse clientMessageId with identical text and ordered attachmentIds after a lost response; changed content conflicts. Wait for status idle first: a chat answers one message at a time, and a send during a running turn is refused with CONFLICT. Call get_agent_chat to read replies and structured document metadata; get_agent_chat_attachment_content reads original bytes. Replies use organization credits; without enough the send is refused with INSUFFICIENT_CREDITS. Requires agents.write and a user token; messages and the title are included only when the token also has agents.read.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
chatId
Agent chat ID, as returned by start_agent_chat.
Clear enough to supply this argument.
message
What to ask the Inth Agent. May be empty only when attachmentIds contains a ready document.
Clear enough to supply this argument.
clientMessageId
A UUID v4 you choose. Recover a lost response with the same ID, text and exact ordered attachmentIds. An accepted identical retry returns the same turn; changed content conflicts. Use a new ID for a new message or when the previous turn lapsed before acceptance.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
attachmentIds
Ordered ready document IDs uploaded by you in this organization. Up to ten files and 40 MiB total. Include the same IDs and order on retries.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
Explain what happens when this optional value is omitted.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "send_agent_message",
"title": "Send a message to an Inth Agent chat",
"description": "Sends a follow-up message to one of your Inth Agent chats and answers once the agent has accepted it. Upload documents with upload_agent_chat_attachment first, then pass their ordered attachmentIds. An empty message requires an attachment. Reuse clientMessageId with identical text and ordered attachmentIds after a lost response; changed content conflicts. Wait for status idle first: a chat answers one message at a time, and a send during a running turn is refused with CONFLICT. Call get_agent_chat to read replies and structured document metadata; get_agent_chat_attachment_content reads original bytes. Replies use organization credits; without enough the send is refused with INSUFFICIENT_CREDITS. Requires agents.write and a user token; messages and the title are included only when the token also has agents.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"chatId",
"message",
"context"
],
"properties": {
"chatId": {
"type": "string",
"minLength": 1,
"description": "Agent chat ID, as returned by start_agent_chat."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"message": {
"type": "string",
"maxLength": 50000,
"description": "What to ask the Inth Agent. May be empty only when attachmentIds contains a ready document."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"attachmentIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^aga_[A-Za-z0-9_-]{1,60}$"
},
"maxItems": 10,
"description": "Ordered ready document IDs uploaded by you in this organization. Up to ten files and 40 MiB total. Include the same IDs and order on retries."
},
"clientMessageId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"description": "A UUID v4 you choose. Recover a lost response with the same ID, text and exact ordered attachmentIds. An accepted identical retry returns the same turn; changed content conflicts. Use a new ID for a new message or when the previous turn lapsed before acceptance."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
Vendors seen on a project, most recently seen first, with their consent category, state, and review state. A vendor in state active has no decision yet. Requires projects.read.
The description explains the capability, when to use it, and what to expect.
Inputs71/100
5 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID, as returned by list_projects.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
state
Only vendors in this state.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Cursor from a previous page.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_project_vendors",
"title": "List project vendors",
"description": "Vendors seen on a project, most recently seen first, with their consent category, state, and review state. A vendor in state active has no decision yet. Requires projects.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"context"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"state": {
"enum": [
"active",
"not_seen_recently",
"ignored",
"approved",
"blocked"
],
"type": "string",
"description": "Only vendors in this state."
},
"cursor": {
"type": "string",
"minLength": 1,
"description": "Cursor from a previous page."
},
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description78/100
One vendor seen on a project: the pages and hosts it was seen on, how it loaded, such as the script URL and Google Tag Manager container, and the ID of its runtime Inbox finding. Requires projects.read.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
projectId
Project ID, as returned by list_projects.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
vendorId
Vendor ID, as returned by list_project_vendors.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_project_vendor",
"title": "Get project vendor",
"description": "One vendor seen on a project: the pages and hosts it was seen on, how it loaded, such as the script URL and Google Tag Manager container, and the ID of its runtime Inbox finding. Requires projects.read.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"vendorId",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"vendorId": {
"type": "string",
"minLength": 1,
"description": "Vendor ID, as returned by list_project_vendors."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Approves a vendor seen on a project, which accepts the data sharing, or ignores it. Either decision closes the vendor's runtime Inbox finding, and later scans keep the decision. Take projectId and vendorId from list_project_vendors or from runtimeVendor on get_inbox_item. Requires vendors.write and an admin or owner role.
The description explains the capability, when to use it, and what to expect.
Inputs80/100
4 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
projectId
Project ID, as returned by list_projects.
Clear enough to supply this argument.
vendorId
Vendor ID, as returned by list_project_vendors or in runtimeVendor by get_inbox_item.
Clear enough to supply this argument.
decision
Not provided
Missing description. Explain what this value means and how to supply it.
context
A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details.
Clear enough to supply this argument.
llm_model
The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "decide_project_vendor",
"title": "Approve or ignore a project vendor",
"description": "Approves a vendor seen on a project, which accepts the data sharing, or ignores it. Either decision closes the vendor's runtime Inbox finding, and later scans keep the decision. Take projectId and vendorId from list_project_vendors or from runtimeVendor on get_inbox_item. Requires vendors.write and an admin or owner role.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"vendorId",
"decision",
"context"
],
"properties": {
"context": {
"type": "string",
"description": "A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as \"a customer\". Do not quote the user or include names, emails, or other personal details."
},
"decision": {
"enum": [
"approve",
"ignore"
],
"type": "string"
},
"vendorId": {
"type": "string",
"minLength": 1,
"description": "Vendor ID, as returned by list_project_vendors or in runtimeVendor by get_inbox_item."
},
"llm_model": {
"type": "string",
"description": "The model identifier you are running as, for example \"claude-opus-4-8\" or \"gpt-5.2\". Pass \"unknown\" if you are not certain. Recorded for the server developer's analytics."
},
"projectId": {
"type": "string",
"minLength": 1,
"description": "Project ID, as returned by list_projects."
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
Loading score analytics…
Put your MCP to the test
A few tasks worth trying with this server, chosen from its reviewed tools. These have not been run.
01Get account profileRead the verified person's account ID, name, email, avatar URL and PII-masking preference.
02List regionsList the regions available when creating a project.
03List projectsList projects the signed-in account can access, with their consent settings.
04List Inbox itemsFindings in the organization Inbox, newest first.
05List organizationsList the organizations the signed-in account belongs to, with its role in each.
Want to run these tasks against your MCP server with us?
Inth setup, tools, quality score, publishing readiness, and alternatives.
How do I add Inth to Claude, ChatGPT, or Cursor?
Add Inth to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://mcp.inth.com/.
Is Inth MCP ready for ChatGPT and Claude?
As of November 14, 2026, Inth scores 94/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and does not yet meet Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Inth's MCP tool documentation?
As of November 14, 2026, Inth scores 74/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 153 of 153 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Inth?
As of November 15, 2026, alternatives to Inth in developer-tools on the Manufact MCP leaderboard include Speko, Manufact, AgentMail, Context, and AgentPhone.
How can Inth improve its MCP documentation?
update_website_target is the lowest-scoring reviewed tool at 48/100. No output schema is declared. Add one for structured results so clients can interpret returned fields. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.