Soma connects Claude Code to a batteries-included RMCP runtime for drop-in provider-backed tools, prompts, and resources.
Use this skill when the user wants to plan a derivative Soma-shaped project/export for a new MCP server, especially after calling the scaffold_intent elicitation action. It turns the returned JSON intent into an approval-first implementation plan without directly mutating files.
Use when the user asks to run or inspect Soma through its MCP tool, local stdio runtime, HTTP runtime, scaffold intent flow, setup checks, or action-dispatch surface.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
no_authRun the MCP server without authentication. ONLY safe when the server is bound to 127.x loopback.
${user_config.no_auth}Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
api_tokenOptional bearer token for HTTP MCP fallback. Not used by the default stdio connection.
${user_config.api_token}auth_modeServer auth mode. 'bearer' uses only the static API token. 'oauth' enables configured OAuth/OIDC providers and JWT issuance.
${user_config.auth_mode}public_urlPublic base URL for OAuth issuer metadata, e.g. https://example.yourdomain.com. Required when auth_mode=oauth.
${user_config.public_url}server_urlOptional HTTP server base URL for remote/platform fallback and health monitoring. The default MCP connection uses local stdio instead.
${user_config.server_url}use_dockerTrue uses docker compose; false uses a systemd user service.
${user_config.use_docker}soma_api_keyOptional upstream API key for dropped-in tools that use the bundled SomaClient compatibility layer. Maps to SOMA_API_KEY.
${user_config.soma_api_key}soma_api_urlOptional upstream API URL for dropped-in tools that use the bundled SomaClient compatibility layer. Maps to SOMA_API_URL.
${user_config.soma_api_url}trace_headersTrusted inbound HTTP trace-header extraction mode. Keep 'off' unless loopback or a trusted gateway strips or overwrites untrusted trace headers; see docs/TRACE_CONTEXT.md.
${user_config.trace_headers}auth_admin_emailBootstrap allowed email for OAuth mode, shared by all configured providers.
${user_config.auth_admin_email}google_client_idGoogle OAuth client ID used when auth_mode=oauth.
${user_config.google_client_id}google_client_secretGoogle OAuth client secret from the same Google Cloud Console credential.
${user_config.google_client_secret}Soma is a batteries-included RMCP server runtime and shipping binary
for bringing new agent capabilities online with as little custom Rust as
possible. It locks in the production patterns that every server in the family
keeps rediscovering: one compact MCP tool, stdio and Streamable HTTP transports,
CLI parity, direct REST routes, auth/OAuth, observability, plugin packaging,
web fallback, Docker/runtime samples, generated contracts, and release
automation.
The repository can still scaffold a renamed project, but Soma is now a shipped
runtime first. The default product path is to run soma in an explicit mode,
drop provider files into providers/ (or point SOMA_PROVIDER_DIR
elsewhere), and let the provider registry project those capabilities across MCP,
CLI, REST, OpenAPI, Palette summaries, generated docs, and plugin metadata.
Provider manifests also carry MCP-native prompt, resource, task, and elicitation
metadata for the registry contract. Scaffolding is the path for creating a new
distributable repo with the same locked-in runtime.
30-second path: install the soma binary -> soma status ->
npx -y soma-rmcp mcp from an MCP client -> call the soma MCP tool through
tools/call with {"action":"status"}.
Status: production RMCP runtime. Write-capable provider actions are allowed only when the provider declares them and destructive actions are gated.
Not for: an unauthenticated public gateway, a replacement for upstream service authorization, arbitrary untrusted code execution, or a multi-tenant security boundary by itself.
Soma is the runtime product first and the template/export source second.
Generated projects replace these names during scaffold post-processing, but the
shipped soma command is the source of truth for product behavior.
| Surface | Soma value | Generated-project pattern |
|---|---|---|
| Repository | jmagar/soma | <service>-rmcp or a documented product exception |
| Rust crate/package | soma | service-specific crate names |
| Canonical binary | soma | usually r<service> or the product name |
| npm package | soma-rmcp | <service>-rmcp |
| MCP tool | soma | usually <service> |
| Env prefix | SOMA_* | generated service prefix |
| Path | Use when | You author | Runtime supplies |
|---|---|---|---|
| Drop-in provider | You can describe a capability as a manifest, script, WASM module, OpenAPI operation, or upstream MCP call. | Files under providers/ with tools, prompts, resources, env needs, capability grants, and surface overlays. | MCP tool dispatch, dynamic CLI commands, direct REST routes, schema validation, auth policy, refresh, OpenAPI/Palette summaries, generated docs, and plugin metadata. |
| Static Rust provider | The capability needs native Rust, tight integration, or reusable crates. | A Rust provider/action registered with the provider registry. | The same MCP/CLI/REST/docs/plugin projection without per-surface rewrites. |
| Scaffolded product | You need a renamed repository, package identity, ports, plugins, Docker labels, and release metadata. | A scaffold_intent payload or cargo xtask scaffold options. | A compiling product repo, scaffold report, cargo-generate post-processing, and scaffold/export verification checks. |
| Custom profile | You need a narrower binary or deployment shape. | Cargo feature selection. | The same runtime crates behind local-adapter, server, and full profiles. |
Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry.
Syslog management via MCP
Download audio/video with yt-dlp (Rust binary), embed metadata + cover art, organize by artist, and transfer to local, SSH, or rclone targets.
npx claudepluginhub p/jmagar-soma-plugins-somaConsult multiple AI coding agents (Gemini, OpenAI, Grok, Perplexity, plus codex, antigravity, and grok CLIs when installed) to get diverse perspectives on coding problems
Matt Pocock's agent skills for real engineering — grilling, spec/ticket flows, TDD, code review, domain modelling and more. Plug-and-play, not vibe coding.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Harness-native ECC operator layer - 67 agents, 278 skills, 94 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.