Download the PHP package builtbyberry/laravel-swarm-mcp without Composer

On this page you can find all versions of the php package builtbyberry/laravel-swarm-mcp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-swarm-mcp

Laravel Swarm MCP

tests

A read-only Model Context Protocol server for Laravel Swarm, built on the official laravel/mcp package. It exposes a swarm's durable run history, durable-run inspection, and audit-outbox health as MCP Resources, so any MCP-compatible AI client — Claude, Cursor, and others — can observe your swarm runs.

Read-only by design. This release exposes observability Resources only and registers zero Tools. It can observe swarm runs but can never pause, resume, cancel, or signal them. Operator control is a deliberately deferred later minor (see Read-only by design).

It wraps Laravel Swarm's public display-read contracts (introduced in core v0.19.0) — ReadableRunHistoryStore, InspectsDurableRuns, and ReadableAuditOutbox — so every read is display-decrypted and degrade-safe by construction: an undecryptable field (e.g. after an APP_KEY rotation) comes back as null with an *_available: false flag rather than raw sw0: ciphertext or a failed read.

Requirements

Installation

Optionally publish the config file:

Configuration

config/swarm-mcp.php:

Key Default Description
server.enabled true Master switch for the observability server.
server.name Laravel Swarm Display name reported to MCP clients.
transports.stdio.enabled true Expose the server over stdio (local / agent-host).
transports.http.enabled false Expose the server over the networked HTTP transport. Off by default.
transports.http.path swarm-mcp Route path for the HTTP transport.
authentication.middleware ['auth:sanctum'] Middleware applied to the HTTP transport route.
resources.* true Toggle individual resource groups (run_history, durable_inspection, audit_outbox).

Connecting an MCP client

stdio (default)

The server is registered under the handle laravel-swarm and started with the laravel/mcp command:

Point your MCP client at that command. For example, a Claude Desktop entry:

HTTP (Streamable)

Set transports.http.enabled to true. The server is then reachable at the configured path (default POST /swarm-mcp) behind the configured authentication middleware. A networked caller must authenticate — the default guard is auth:sanctum (your application provides Sanctum). See Authorization.

Resources

URI Backed by Returns
swarm://runs ReadableRunHistoryStore::query() The most recent runs — a lean, decryption-free projection.
swarm://runs/{runId} ReadableRunHistoryStore::findForDisplay() A single run with its steps; sealed fields degrade per field.
swarm://durable-runs/{runId} InspectsDurableRuns::inspect() Assembled durable-run state: waits, signals, progress, children, branches, hierarchical outputs.
swarm://audit-outbox/health ReadableAuditOutbox::healthSummary() Outbox availability + pending / dead-letter / reserved counts.
swarm://audit-outbox/queue/{state} pending() / deadLettered() The pending or dead-lettered queue (metadata + last_error only).
swarm://audit-outbox/records/{id} ReadableAuditOutbox::record() A single outbox row with its full display-decrypted payload.

Display-safe reads

Every resource resolves the bound public contract — never the @internal SwarmPersistenceCipher. Sealed payloads are opened through the display path, which honors swarm.persistence.decrypt_failure_policy and degrades per field: an undecryptable value becomes null with an explicit *_available: false flag (output_available, context_available, payload_available, …). A rotated APP_KEY or a single poison row therefore never throws, never aborts the read, and never leaks sw0: ciphertext to the client. The audit-outbox reads are pure SELECTs — they cannot drain or mutate the outbox that swarm:relay --type=audit drains.

Read-only by design

v0.1.0 is intentionally Resources-only. The server registers no Tools, so an AI client can read swarm state but cannot act on it. Exposing the operator control verbs (pause / resume / cancel / signal) to an autonomous agent is a subtle surface — it requires a per-run authorization callback and deliberately excludes fleet-wide batch verbs — and is planned for a later minor behind an explicit opt-in. Until then, this package is a safe, observe-only window into your swarms.

Authorization

The server authenticates a networked caller (via the configured authentication.middleware), but it is agnostic about which runs a caller may read — scoping run visibility to a tenant or user is your application's responsibility. This release exposes read-only data only.

Testing

License

The MIT License (MIT). Please see the License File for more information.


All versions of laravel-swarm-mcp with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
builtbyberry/laravel-swarm Version ^0.19 || ^0.20 || ^0.21 || ^0.22 || ^0.23 || ^0.24 || ^0.25 || ^0.26
illuminate/contracts Version ^13.0
illuminate/support Version ^13.0
laravel/mcp Version ^0.8
spatie/laravel-package-tools Version ^1.16
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package builtbyberry/laravel-swarm-mcp contains the following files

Loading the files please wait ...