pm_provider
{"content":"{{\u003c badge content=\"Sovereign\" color=\"purple\" class=\"tier-badge\" \u003e}}\n\n{{\u003c callout type=\"info\" \u003e}}\n**Sovereign tier required.** Both `list_presets` and `create_preset` require Sovereign. Vanguard users can manage presets through the [Settings UI](/valdr/docs/ui/settings/) but not via MCP.\n{{\u003c /callout \u003e}}\n\nThe `pm_provider` tool exposes launcher preset management over MCP. It's the programmatic equivalent of the Settings UI — list existing presets, create new ones, and include provider defaults metadata.\n\nFor the full JSON schema and field reference, see [Preset Configuration](/valdr/docs/valdr-provider-packs/presets/) and [Provider Configuration](/valdr/docs/valdr-provider-packs/overview/).\n\n## Actions\n\n`list_presets`, `create_preset`, `help`\n\n---\n\n## list_presets\n\nList all launcher preset records.\n\n### Parameters\n\n| Field | Type | Required | Notes |\n|-------|------|----------|-------|\n| `includeProviderDefaults` | boolean | No | Default `true` — also returns available provider type metadata |\n\n### Example\n\n```text\npm_provider { action: \"list_presets\" }\n```\n\nReturns the summary shape of each preset (key, displayName, providerType, envRefs, worktree, configPreview) plus optional provider defaults.\n\n---\n\n## create_preset\n\nCreate a new launcher preset.\n\n### Parameters\n\n| Field | Type | Required | Notes |\n|-------|------|----------|-------|\n| `key` | string | Yes | Unique preset key |\n| `displayName` | string | Yes | Human-readable name |\n| `providerType` | string | Yes | Must be registered (`claude`, `codex`, `gemini`, `openai`, `anthropic`, `ollama`) |\n| `description` | string | No | |\n| `tags` | string[] | No | |\n| `allowAdhocOverrides` | boolean | No | Default `true` |\n| `config` | object | No | Provider-specific config object |\n| `env` | array | No | Array of `{ name, valueRef }` |\n| `worktree` | object | No | `{ shouldCreateWorktree?, allowReuseExistingWorktree? }` |\n| `actor` | string | No | Who created it |\n\n### Example\n\n```text\npm_provider {\n action: \"create_preset\",\n key: \"coder-claude\",\n displayName: \"Claude Coder\",\n providerType: \"claude\",\n description: \"Claude Code preset for coding tasks\",\n config: {\n model: \"opus\",\n permissionMode: \"acceptEdits\",\n keepAliveMs: 120000\n },\n env: [],\n worktree: {\n shouldCreateWorktree: true,\n allowReuseExistingWorktree: true\n }\n}\n```\n\nFor the full field reference and resolution behavior, see [Preset Configuration](/valdr/docs/valdr-provider-packs/presets/).\n\n---\n\n## help\n\n```text\npm_provider { action: \"help\" }\n```\n\n## Related\n\n- [Preset Configuration](/valdr/docs/valdr-provider-packs/presets/) — full JSON schema and resolution rules\n- [Provider Configuration](/valdr/docs/valdr-provider-packs/overview/) — provider setup schema and per-provider config\n- [pm_session.launch_task](../sessions/#launch_task) — sessions consume presets via `launcherConfigKey`","description":"List and create launcher presets programmatically via MCP.","title":"pm_provider"}
Sovereign
Sovereign tier required. Both
list_presets and create_preset require Sovereign. Vanguard users can manage presets through the Settings UI but not via MCP.The pm_provider tool exposes launcher preset management over MCP. It’s the programmatic equivalent of the Settings UI — list existing presets, create new ones, and include provider defaults metadata.
For the full JSON schema and field reference, see Preset Configuration and Provider Configuration.
Actions
list_presets, create_preset, help
list_presets
List all launcher preset records.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
includeProviderDefaults | boolean | No | Default true — also returns available provider type metadata |
Example
pm_provider { action: "list_presets" }Returns the summary shape of each preset (key, displayName, providerType, envRefs, worktree, configPreview) plus optional provider defaults.
create_preset
Create a new launcher preset.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
key | string | Yes | Unique preset key |
displayName | string | Yes | Human-readable name |
providerType | string | Yes | Must be registered (claude, codex, gemini, openai, anthropic, ollama) |
description | string | No | |
tags | string[] | No | |
allowAdhocOverrides | boolean | No | Default true |
config | object | No | Provider-specific config object |
env | array | No | Array of { name, valueRef } |
worktree | object | No | { shouldCreateWorktree?, allowReuseExistingWorktree? } |
actor | string | No | Who created it |
Example
pm_provider {
action: "create_preset",
key: "coder-claude",
displayName: "Claude Coder",
providerType: "claude",
description: "Claude Code preset for coding tasks",
config: {
model: "opus",
permissionMode: "acceptEdits",
keepAliveMs: 120000
},
env: [],
worktree: {
shouldCreateWorktree: true,
allowReuseExistingWorktree: true
}
}For the full field reference and resolution behavior, see Preset Configuration.
help
pm_provider { action: "help" }Related
- Preset Configuration — full JSON schema and resolution rules
- Provider Configuration — provider setup schema and per-provider config
- pm_session.launch_task — sessions consume presets via
launcherConfigKey