Skip to main content
Glama

add_provider

Add a new AI provider for brainstorming: connect any OpenAI-compatible API or a local CLI that runs on your existing subscription instead of API credits.

Instructions

Add a new AI provider for brainstorming. Supports any OpenAI-compatible API, or a locally installed agent CLI (kind='cli') that runs on an existing subscription instead of API credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsNocli only ('custom' adapter): argv template. Placeholders: {{model}}, {{system}}, {{prompt}}, {{outfile}}.
kindNo'api' (default) for an OpenAI-compatible HTTP endpoint, 'cli' for a local agent CLI.
nameYesProvider name, e.g. 'groq', 'ollama', 'mistral', 'claude'
adapterNocli only: built-in adapter — claude, codex, gemini, qwen, kimi, cursor-agent, opencode, droid — or 'custom'. Defaults to the provider name.
backendNocli only: run the Claude CLI against another vendor's coding plan — moonshot, minimax, glm. Overrides 'adapter'.
baseURLNoapi only: base URL, e.g. 'http://localhost:11434/v1' for Ollama
commandNocli only: executable to run. Required for adapter 'custom'.
promptViaNocli only ('custom' adapter): how the prompt reaches the CLI.
apiKeyEnvVarNoapi only: environment variable holding the API key. Use 'NONE' if no key required.
defaultModelYesDefault model for this provider, e.g. 'llama3', 'sonnet'. Use 'default' to let a CLI pick its own.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed11 schema fields changedv1.6.0
    • addedInput schema / properties / adapter
      Added value: +{
      +  "description": "cli only: built-in adapter — claude, codex, gemini, qwen, kimi, cursor-agent, opencode, droid — or 'custom'. Defaults to the provider name.",
      +  "type": "string"
      +}
    • changedInput schema / properties / apiKeyEnvVar / description
      Previous value: -"Environment variable name for the API key. Use 'NONE' if no key required."New value: +"api only: environment variable holding the API key. Use 'NONE' if no key required."
    • addedInput schema / properties / args
      Added value: +{
      +  "description": "cli only ('custom' adapter): argv template. Placeholders: {{model}}, {{system}}, {{prompt}}, {{outfile}}.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / backend
      Added value: +{
      +  "description": "cli only: run the Claude CLI against another vendor's coding plan — moonshot, minimax, glm. Overrides 'adapter'.",
      +  "type": "string"
      +}
    • changedInput schema / properties / baseURL / description
      Previous value: -"API base URL, e.g. 'http://localhost:11434/v1' for Ollama"New value: +"api only: base URL, e.g. 'http://localhost:11434/v1' for Ollama"
    • addedInput schema / properties / command
      Added value: +{
      +  "description": "cli only: executable to run. Required for adapter 'custom'.",
      +  "type": "string"
      +}
    • changedInput schema / properties / defaultModel / description
      Previous value: -"Default model to use for this provider, e.g. 'llama3', 'mixtral-8x7b-32768'"New value: +"Default model for this provider, e.g. 'llama3', 'sonnet'. Use 'default' to let a CLI pick its own."
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "'api' (default) for an OpenAI-compatible HTTP endpoint, 'cli' for a local agent CLI.",
      +  "enum": [
      +    "api",
      +    "cli"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / name / description
      Previous value: -"Provider name, e.g. 'groq', 'ollama', 'mistral'"New value: +"Provider name, e.g. 'groq', 'ollama', 'mistral', 'claude'"
    • addedInput schema / properties / promptVia
      Added value: +{
      +  "description": "cli only ('custom' adapter): how the prompt reaches the CLI.",
      +  "enum": [
      +    "arg",
      +    "stdin"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "baseURL",
      -  "apiKeyEnvVar",
      -  "defaultModel"
      -]New value: +[
      +  "name",
      +  "defaultModel"
      +]
  2. First observedv1.0.1

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide destructiveHint=false, leaving the behavioral burden mostly on the description. The description usefully conveys that the tool supports API and CLI modes and that CLI mode uses an existing subscription instead of API credits. However, it doesn't disclose side effects like whether the provider is persisted, whether it overrides existing providers, or what happens on invalid configurations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences and immediately states the purpose and the two supported modes. There is no redundancy, and the most valuable scope information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (10 params, no output schema), the description provides a helpful high-level framing that complements the fully self-describing schema. The only clear gap is that the description doesn't cover return values or post-add confirmation behavior, but the schema details all parameters well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description doesn't add significant value beyond the schema; it merely echoes the CLI/API distinction already present in field descriptions. It does not clarify conditional requirements or the relationship between adapter, backend, and command beyond what the schema contains.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (Add) and explicit resource (new AI provider for brainstorming), and distinguishes this from siblings like list_providers and brainstorm tools. It clearly identifies both supported modes: OpenAI-compatible APIs and local CLI providers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: adding a provider for brainstorming, with either API or CLI. It doesn't explicitly say when not to use it or name alternatives like list_providers, but the context is specific enough for an agent to select it over purely brainstorming or listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/spranab/brainstorm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server