Skip to main content

AI Providers

MCP tools for the AI Providers module. See the AI Providers module docs for permissions and data model.

list-ai-providers​

List AI providers

Arguments​

ArgumentTypeRequiredDescription
project_idstringnoProject ID (required if not using project key auth)
limitnumbernoResults per page. Above the maximum it is clamped; below 1 or not an integer it is 400 VALIDATION_FAILED.
cursorstringnoThe previous page's next_cursor; omit it for the first page. Send it with the same filters as the request that returned it: a malformed cursor, or one sent with other filters, is 400 INVALID_CURSOR.

create-ai-provider​

Create an AI provider

Arguments​

ArgumentTypeRequiredDescription
project_idstringnoProject ID (required if not using project key auth)
namestringyesProvider configuration name
providerstringyesLLM provider
default_modelstringyesDefault model to use
secret_idstringnoSecret ID containing API credentials. Required for bedrock and vertex unless config.apiKey carries one.
base_urlstringnoCustom base URL for the provider
configobjectnoAdditional provider-specific configuration

get-ai-provider​

Get an AI provider

Arguments​

ArgumentTypeRequiredDescription
ai_provider_idstringyesAI Provider ID

update-ai-provider​

Update an AI provider

Arguments​

ArgumentTypeRequiredDescription
ai_provider_idstringyesAI Provider ID
namestringno—
providerstringnoLLM provider
default_modelstringno—
secret_idstring | nullno—
base_urlstringno—
configobjectno—

delete-ai-provider​

Delete an AI provider

Arguments​

ArgumentTypeRequiredDescription
ai_provider_idstringyesAI Provider ID
forcebooleannoWhen true, delete the provider's price overrides and unlink its usage history so a provider with only soft dependents can be removed. Has no effect on live references (chats, agents, model routes), which always block deletion.

list-ai-provider-models​

List the models this provider can run

Arguments​

ArgumentTypeRequiredDescription
ai_provider_idstringyesAI Provider ID
qstringnoKeeps the models whose id or display_name contains this text, ignoring case. Applied before paging.
limitnumbernoResults per page. Above the maximum it is clamped; below 1 or not an integer it is 400 VALIDATION_FAILED.
cursorstringnoThe previous page's next_cursor; omit it for the first page. Send it with the same filters as the request that returned it: a malformed cursor, or one sent with other filters, is 400 INVALID_CURSOR.

get-ai-provider-prices​

List per-provider price overrides

Arguments​

ArgumentTypeRequiredDescription
ai_provider_idstringyesAI Provider ID

update-ai-provider-prices​

Upsert per-provider price overrides

Arguments​

ArgumentTypeRequiredDescription
ai_provider_idstringyesAI Provider ID
pricesarray<object>yes—