Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Soma

von dinglebear-aiVersion 0.10.0i★ 1iLäuft auf deinem Computer
Name in der Registryai.dinglebear/soma

So installierst du es

What it does

RMCP runtime for provider-backed agents with CLI, REST, HTTP MCP, plugins, and scaffold support.

  • Connects Läuft auf deinem Computer
  • Account or key No key needed
  • Category Entwicklertools

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  3. Diese Einstellungen einfügen und speichern

    {
      "mcpServers": {
        "soma": {
          "command": "npx",
          "args": [
            "-y",
            "@dinglebear/soma",
            "mcp"
          ]
        }
      }
    }
  4. Claude beenden und neu öffnen

  5. Ausprobieren

    Nutze Soma und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es Soma nutzt, oder ein Werkzeug von Soma in der Antwort zeigt, bist du verbunden

5 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • SOMA_HOME Host data directory used by the local Soma CLI and stdio MCP runtime. · Standard ~/.soma
  • SOMA_PROVIDER_DIR Host directory scanned for drop-in provider manifests and modules. · Standard ./providers
  • SOMA_API_URL Optional deployed platform API or upstream API base URL used by the SomaClient compatibility layer. Leave unset for local provider/runtime mode.
  • SOMA_API_KEY Optional bearer token or upstream API key for provider-backed calls that use SomaClient. Keep secret.
  • RUST_LOG Rust tracing filter for local CLI and stdio MCP logs. · Standard info

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann Soma noch nicht verbinden

Soma läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die Soma verbinden kann

  • Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)

B · Andere in Entwicklertools, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  3. Diesen Befehl einfügen und Enter drücken

    claude mcp add --scope user soma -- npx -y @dinglebear/soma mcp
  4. /mcp in Claude Code eingeben

    Soma sollte in der Liste als verbunden erscheinen

  5. Ausprobieren

    Nutze Soma und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es Soma nutzt, oder ein Werkzeug von Soma in der Antwort zeigt, bist du verbunden

5 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • SOMA_HOME Host data directory used by the local Soma CLI and stdio MCP runtime. · Standard ~/.soma
  • SOMA_PROVIDER_DIR Host directory scanned for drop-in provider manifests and modules. · Standard ./providers
  • SOMA_API_URL Optional deployed platform API or upstream API base URL used by the SomaClient compatibility layer. Leave unset for local provider/runtime mode.
  • SOMA_API_KEY Optional bearer token or upstream API key for provider-backed calls that use SomaClient. Keep secret.
  • RUST_LOG Rust tracing filter for local CLI and stdio MCP logs. · Standard info

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  3. KI-Chat in Cursor im Agent-Modus öffnen

  4. Ausprobieren

    Nutze Soma und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es Soma nutzt, oder ein Werkzeug von Soma in der Antwort zeigt, bist du verbunden

5 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • SOMA_HOME Host data directory used by the local Soma CLI and stdio MCP runtime. · Standard ~/.soma
  • SOMA_PROVIDER_DIR Host directory scanned for drop-in provider manifests and modules. · Standard ./providers
  • SOMA_API_URL Optional deployed platform API or upstream API base URL used by the SomaClient compatibility layer. Leave unset for local provider/runtime mode.
  • SOMA_API_KEY Optional bearer token or upstream API key for provider-backed calls that use SomaClient. Keep secret.
  • RUST_LOG Rust tracing filter for local CLI and stdio MCP logs. · Standard info

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  3. KI-Chat in VS Code im Agent-Modus öffnen

  4. Ausprobieren

    Nutze Soma und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es Soma nutzt, oder ein Werkzeug von Soma in der Antwort zeigt, bist du verbunden

5 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • SOMA_HOME Host data directory used by the local Soma CLI and stdio MCP runtime. · Standard ~/.soma
  • SOMA_PROVIDER_DIR Host directory scanned for drop-in provider manifests and modules. · Standard ./providers
  • SOMA_API_URL Optional deployed platform API or upstream API base URL used by the SomaClient compatibility layer. Leave unset for local provider/runtime mode.
  • SOMA_API_KEY Optional bearer token or upstream API key for provider-backed calls that use SomaClient. Keep secret.
  • RUST_LOG Rust tracing filter for local CLI and stdio MCP logs. · Standard info

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die Soma nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user soma -- npx -y @dinglebear/soma mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "soma": {
      "command": "npx",
      "args": [
        "-y",
        "@dinglebear/soma",
        "mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "soma": {
      "command": "npx",
      "args": [
        "-y",
        "@dinglebear/soma",
        "mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "soma": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dinglebear/soma",
        "mcp"
      ]
    }
  }
}

Werte, die du selbst einträgst

  • SOMA_HOME env
    Host data directory used by the local Soma CLI and stdio MCP runtime.
  • SOMA_PROVIDER_DIR env
    Host directory scanned for drop-in provider manifests and modules.
  • SOMA_API_URL env
    Optional deployed platform API or upstream API base URL used by the SomaClient compatibility layer. Leave unset for local provider/runtime mode.
  • SOMA_API_KEY geheim env
    Optional bearer token or upstream API key for provider-backed calls that use SomaClient. Keep secret.
  • RUST_LOG env
    Rust tracing filter for local CLI and stdio MCP logs.

Die Beschreibungen sind noch im englischen Original.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
95/Wo.
Bestätigte Domain
✓ dinglebear.ai
Lizenzi
AGPL-3.0
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.10.0
In der Registry veröffentlichti
6. Aug. 2026
Code zuletzt geänderti
2. Nov. 2026
Entwickler
dinglebear-ai
Pakete
oci: ghcr.io/dinglebear-ai/soma:0.10.0
npm: @dinglebear/soma
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 15. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde über die Domain dinglebear.ai bestätigt (die Registry prüft, wem die Domain gehört)

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vor 13 Tagen

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt AGPL-3.0

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Entwicklertoolsi

  • Mehr Sterne als 69 % der anderen 5895 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 25 % der anderen 5895 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 5895 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Soma sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt vor 13 Tagen geändert, und die neueste Version (0.10.0) kam vor 3 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Docker, Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: REA, GitHub, Serena MCP: the IDE for your agent

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

von morlutoWeit verbreitet↓ 388.706/Wo.★ 457.688Aktualisiert vor 3 Tagen

Läuft auf deinem Computer

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

von githubWeit verbreitet★ 34.457Aktualisiert vor 12 Tagen

Computer oder Cloud

Serena MCP: the IDE for your agent

A powerful toolkit for coding, providing semantic retrieval and editing capabilities.

von oraiosWeit verbreitet↓ 35.170/Wo.★ 31.366Aktualisiert vor 6 Monaten

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

Soma

RMCP runtime for provider-backed agents with CLI, REST, HTTP MCP, plugins, and scaffold support.

API docs — rustdoc for every workspace crate plus the Redoc-rendered OpenAPI reference, deployed to GitHub Pages from main.

Soma is a batteries-included 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 @dinglebear/soma 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.

Contents

  • Naming
  • Capabilities And Boundaries
  • Install
  • Quickstart
  • Client Configuration
  • Runtime Surfaces
  • MCP Tool Reference
  • CLI Reference
  • Configuration
  • Authentication
  • Safety And Trust Model
  • Architecture
  • Distribution Contract
  • Development
  • Verification
  • Deployment
  • Troubleshooting
  • Related Servers
  • Documentation
  • License

Naming

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.

SurfaceSoma valueGenerated-project pattern
Repositorydinglebear-ai/soma (formerly rmcp-template, then rtemplate-mcp — both still redirect)dinglebear-ai/r , or the bare product name; older servers still carry -rmcp names behind redirects
Rust crate/packagesomaservice-specific crate names
Canonical binarysomausually r or the product name
npm package@dinglebear/soma -rmcp
MCP toolsomausually
Env prefixSOMA_*generated service prefix

Capabilities And Boundaries

PathUse whenYou authorRuntime supplies
Drop-in providerYou 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 providerThe 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 productYou 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 profileYou need a narrower binary or deployment shape.Cargo feature selection.The same runtime crates behind local-adapter, server, and full profiles.

Batteries Included

  • One compact MCP service tool (soma) with action dispatch, so agent tool lists stay small even as provider catalogs grow.
  • One canonical binary: soma with explicit serve, mcp, and CLI modes for REST API, Streamable HTTP MCP, stdio MCP, optional web UI, and local actions.
  • Dynamic provider loading from .json, .ts, .py, .wasm, and .md files, plus native Rust providers and upstream MCP/OpenAPI provider kinds. A structured providers/{tools,prompts,resources}/ layout is supported alongside root-level files, including path-derived MCP resources (static files and dynamic .ts readers) with a path-traversal trust boundary.
  • Provider manifest contracts for tools, prompts, resources, tasks, elicitation forms, env requirements, capability grants, and surface overlays.
  • Shared validation, destructive-action confirmation, auth/scope enforcement, response limits, redaction, logging, metrics, generated OpenAPI, generated provider surface docs, plugin manifests, setup, doctor, and release tooling.

Soma owns the runtime projection, validation, auth policy, packaging, generated metadata, and scaffold automation. Provider code owns service-specific behavior and credentials. Upstream services own their own authorization and data model. Soma deliberately refuses to make credentials part of tool-call input and does not turn provider manifests into an unrestricted remote execution boundary.

Install

Use the npm launcher when an MCP client expects an npx command. During postinstall, the package downloads the matching Linux/x64 or Windows/x64 release archive, verifies its SHA256SUMS entry and GitHub build attestation, and installs the native binary inside the package. GitHub CLI 2.68 or newer is required for provenance verification.

npx -y @dinglebear/soma mcp

Use Cargo while developing the repo:

cargo run --bin soma -- mcp

cargo run --bin soma -- serve

Release builds publish GitHub Release binaries, Docker/OCI metadata, the @dinglebear/soma npm launcher, MCP registry metadata, and plugin package files from the same release component.

Product Profiles

Choose the amount of surface area you want without changing the provider authoring model.

TargetBest fitDefault profileIncludes
Local agent adapterThin wrapper over dropped providers or an upstream APIlocal-adapterCLI + stdio MCP in one local binary. No REST/Web mirror by default.
Shared API/MCP serverService used by multiple clients or a gatewayserverCLI + REST API + Streamable HTTP MCP + stdio MCP + health/status routes + auth-capable runtime.
Full application platformApp owns state, jobs, dashboards, workflows, or human UIfullserver plus embedded web UI, OAuth, observability, and plugin support.
CLI-only or custom local toolScripts, operator utilities, one-machine toolsCustom feature set, usually starting from cliCLI parser and shared service layer. The stock packaged local binary uses local-adapter, so CLI-only products may prune MCP or adjust binary feature gates.

Lower-level Cargo features are available when you need a custom shape:

FeaturePurpose
cliCLI shim and command parsing.
mcpMCP tool, schema, resource, prompt, and scope layers.
mcp-stdioLocal stdio MCP transport.
apiREST handlers and OpenAPI-backed business routes.
authShared auth policy and bearer-token enforcement.
oauthGoogle, Authelia, and GitHub OAuth/OIDC plus JWT issuance on top of auth.
mcp-httpStreamable HTTP MCP mounted in Axum.
webEmbedded static web UI fallback.
observabilityMetrics/tracing hooks.
pluginPlugin setup/support helpers.
local-adapterLean local binary: cli + mcp-stdio.
serverDeployable HTTP runtime profile: cli + api + HTTP MCP + stdio MCP.
fullComplete platform profile: local adapter, server, web, OAuth, observability, and plugin support.

Quickstart

Run the product as-is:

git clone https://github.com/dinglebear-ai/soma

cd soma

Full platform mode: REST API + HTTP MCP + web fallback on :40060

cargo run --bin soma -- serve

Local binary: stdio MCP

cargo run --bin soma -- mcp

Local binary: CLI

cargo run --bin soma -- greet --name Alice

Useful smoke checks:

curl http://localhost:40060/health

cargo run --bin soma -- status cargo run --bin soma -- doctor

Call the MCP endpoint directly:

curl -s -X POST http://localhost:40060/mcp \

-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"soma","arguments":{"action":"greet","name":"Alice"}}}'

Drop In A Provider

The fastest path for a new server is provider-first. Add a provider manifest or module to providers/, then run the same binary. Use SOMA_PROVIDER_DIR when the provider catalog should live outside the working directory.

mkdir -p providers

cat > providers/hello-local.json <<'JSON' { "schema_version": 1, "provider": { "name": "hello-local", "kind": "static-rust", "title": "Hello Local" }, "tools": [ { "name": "hello_local", "description": "Return a deterministic hello payload from a dropped provider.", "input_schema": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string" } } }, "cli": { "enabled": true, "command": "hello-local" }, "rest": { "enabled": true, "method": "POST", "path": "/v1/hello-local" }, "meta": { "result": { "message": "hello from a dropped provider" } } } ] } JSON

Call it through the dynamic CLI surface:

cargo run --bin soma -- hello-local --name Alice

Run the server and call the same provider over REST and MCP:

cargo run --bin soma -- serve

curl -s -X POST http://localhost:40060/v1/hello-local \ -H "Content-Type: application/json" \ -d '{"name":"Alice"}'

curl -s -X POST http://localhost:40060/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"soma","arguments":{"action":"hello_local","name":"Alice"}}}'

Plain Python functions can also be dropped directly into providers/:

PROVIDER = {"name": "math-tools", "kind": "python"}

def add(a: int, b: int) -> int: """Add two integers.""" return a + b

When TOOLS is absent, public functions defined in the module become tools. Sync and async functions are supported, and common Python type annotations are converted into input schemas.

Python provider files are trusted code. Soma imports them during provider catalog refresh to discover tools, then executes tool calls in a sidecar with a cleared environment plus only declared provider/tool env values. Catalog import does not receive provider env; read secret

Nur der Anfang wird gezeigt; den Rest findest du im Repo