Summary
Introduce a type (or category) field on provider definitions to classify each provider as one of:
| Type |
Examples |
mcp_server |
official MCP servers (filesystem, GitHub MCP, Brave search, etc.) |
llm |
OpenAI, Anthropic, Mistral, Cohere, etc. |
app |
GitHub (REST), Google, Linear, Okta, Stripe, etc. |
Motivation
As the provider list grows (especially after adding official MCP servers — see #360), users need a way to filter, browse, and understand what each provider is. The CLI, any future UI, and agent tooling can use the classification to surface relevant providers contextually (e.g. "show me all LLM providers", "list connected MCP servers").
Proposed Changes
- Add a
"type" field to the bundled provider JSON schema (e.g. alongside "name", "auth_flow").
- Classify all existing bundled providers (GitHub →
app, Google → app, OpenAI → llm, Okta → app, Linear → app).
- Expose the field via
authsome provider list (add a --type filter flag and show the type column in tabular output).
- Validate the field in the provider loader so unknown types surface a clear error.
Work Items
Summary
Introduce a
type(orcategory) field on provider definitions to classify each provider as one of:mcp_serverllmappMotivation
As the provider list grows (especially after adding official MCP servers — see #360), users need a way to filter, browse, and understand what each provider is. The CLI, any future UI, and agent tooling can use the classification to surface relevant providers contextually (e.g. "show me all LLM providers", "list connected MCP servers").
Proposed Changes
"type"field to the bundled provider JSON schema (e.g. alongside"name","auth_flow").app, Google →app, OpenAI →llm, Okta →app, Linear →app).authsome provider list(add a--typefilter flag and show the type column in tabular output).Work Items
type(required, enum:mcp_server | llm | app)typeon all existing bundled provider JSONs--type <mcp_server|llm|app>filter toauthsome provider list