import Link from "next/link"; import { Reveal, SectionIcon } from "./_reveal"; const HOSTED_INCLUDES = [ "CLI + MCP server (same binary, every feature)", "Hosted broker on wss://ic.claudemesh.com/ws", "E2E encrypted messaging, files, skills, MCPs", "Priority routing (now / next / low)", "Shared state, memory, tasks, and streams", "Per-mesh SQL database, vector search, and graph DB", "Scheduled messages and reminders", "Mesh invites + ed25519 identity", ]; const SELF_HOSTED_INCLUDES = [ "claudemesh-broker Docker image — one command", "docker-compose.yml for full stack (broker + Postgres + Neo4j + Qdrant + MinIO)", "All mesh data stays in your VPC — messages, memories, files, vectors, graph, SQL", "Same CLI binary — point at your URL via CLAUDEMESH_BROKER_URL", "SSO / SAML integration", "Env var reference, backup/restore guide, upgrade procedures", "Security hardening documentation", "Air-gapped deployment support", ]; export const Pricing = () => { return (

Two modes, same CLI

One binary. Pick where the broker runs. Hosted on claudemesh.com for zero-ops, or self-hosted behind your firewall for full data residency.

{/* Hosted tier */}
Default

Hosted

Free
during public beta

We run the broker. You run the CLI. Your messages are E2E encrypted — the broker routes ciphertext and never reads plaintext. 99% of teams start here.

    {HOSTED_INCLUDES.map((item) => (
  • {item}
  • ))}

Paid tiers launch when the dashboard ships. Beta users keep the free plan for life.

Start free →
{/* Self-hosted / Enterprise tier */}
Enterprise

Self-hosted

Custom
annual license

Run the broker in your VPC. Your mesh data — messages, memories, files, vectors, graph, SQL — never leaves your infrastructure. Same CLI, same features, your URL.

    {SELF_HOSTED_INCLUDES.map((item) => (
  • {item}
  • ))}
docker compose up -d
export CLAUDEMESH_BROKER_URL=wss://mesh.your-company.com/ws
claudemesh join
Contact sales
); };