# daedro-mcp-hub

The private shared Hub lets users sign in with a passkey and Google Authenticator,
connect their own S3 credentials, and browse storage in a personal or work
profile. **Use Text stats** runs the bundled word-count MCP after sign-in. The deployed pilot also supports short English audio and video
transcription through isolated CPU processors. Start with the [S3 browser
guide](docs/shared-s3.md) or the [media guide](docs/shared-media.md).

The standalone marketplace, managed Docker profiles and package-review tools
remain available for operators. The [handbook](docs/README.md) distinguishes
private pilot evidence from the [public release requirements](docs/public-release-spec.md).

## Try the catalog

From this checkout, with Go 1.26 or later and Make installed, run:

```sh
make portal
```

Open `http://127.0.0.1:8791/` in your browser. Choose **Explore Text stats** to see a word-count request and its connection instructions. Search for `word_count` or browse a shelf such as Social or Transcription to discover other tools. Discovery runs without Docker or credentials. HTTP clients can fetch `GET /api/v1/services`. MCP clients can connect to `http://127.0.0.1:8791/mcp` and call `services_list`. The interactive guide lists the routes and tool schemas served by this build. [Live documentation](http://127.0.0.1:8791/docs)

If a managed workspace is already running on local port 8792, run `bin/daedro-mcp-hub serve --port 8791 --workspace-port 8792` after `make build`. **Use Text stats** opens that HTTPS workspace with the profile selected. Trust its operator-issued CA and enter your own caller token there.

## Deploy a private instance

1. The operator builds the worker image, initializes a private configuration directory, starts the managed loopback HTTPS listener, and issues each user a caller token. Follow the [managed host setup](docs/operations.md#manage-the-cleaning-pool).
2. Open the managed hub with its CA trusted, choose **Deploy Text stats** and enter your token in the workspace. Leave **Private instance** checked and click **Deploy instance**.
3. Enter `Quarterly revenue increased.` and click **Count words**. Expect `3`. To use the same tool from an agent, connect a Streamable HTTP MCP client to the displayed instance endpoint with your token and call `word_count`.

**Text cleaning** previews changes before execution. **Text stats** counts whitespace-separated words locally. You can also upload a Python stdio source file or a supported Docker/OCI image archive. An administrator reviews the original bytes and approves the tool contract before anyone can deploy a package. The S3 adapter runs separately with read-only credentials. Other Daedro catalog entries describe independently hosted services. [Package upload and review](docs/packages.md) · [S3 setup](integrations/s3/README.md)

## Project references

- [Product scope and acceptance criteria](docs/product.md) and [marketplace design](docs/design.md)
- [Connect an HTTP or MCP client](docs/clients.md)
- [HTTP and MCP reference](docs/reference.md)
- [Add a service or handbook chapter](docs/authoring.md)
- [Deployment security and operator trust](SECURITY.md)
- [Demo infrastructure budget](docs/demo-budget.md)

Visual workflow editing and integration with the full Daedro platform are scheduled for a later phase.

## Public pilot

Run the Docker-free storefront behind a TLS edge with `bin/daedro-mcp-hub public --origin https://daedro.hub.rokenshi.com`. Google sign-in and Stripe's stablecoin subscription sandbox are opt-in. The pilot records test invoices for invited accounts and keeps Docker administration on its private listener. [Account setup](docs/accounts.md) · [Seller and payment options](docs/billing.md) · [Hosting](docs/hosting.md)

Check a proposed free network without creating infrastructure:

```sh
bin/daedro-mcp-hub network plan --file configs/network-pilot.json --simulate 30
```

The output distinguishes candidate locations and simulated peers from real servers. [First VM on the Google Cloud Free Trial](docs/google-cloud.md) · [Network topology](docs/network-topology.md)
