mesh

作者 decocms已验证

One secure endpoint for every MCP server. Deploy anywhere.

337
Stars
38
Forks
TypeScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/decocms/mesh

快速入门

使用 mesh 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

deco Studio

Open-source · TypeScript-first · Deploy anywhere

Open-source private AI workspace for organizations.

Docs · Discord · decocms.com/studio

Checks & unit tests npm version MIT license GitHub stars Contributors Discord
Model Context Protocol TypeScript Bun React 19 Hono PostgreSQL OpenTelemetry

TL;DR: Your team needs a secure internal vibecoding platform. You just found it. Configure agents with team context. Connect private MCPs once — share capabilities, not credentials. Keep the model layer interchangeable. Roll out across the organization with SSO, RBAC, audit logs, and cost controls — all through one MCP endpoint. Local-first. Self-host or use the cloud.


What is deco Studio?

Studio packages the infrastructure behind an internal AI rollout: model routing, MCP authentication, agent configuration, SSO, RBAC, audit logs, and usage accounting. Your teams get chat. You keep control.

Under the hood it's one control plane for your AI agents — one MCP endpoint for all your agents, tools, and models. Agents package context, tools, and policy into something you publish to the organization. Connections give them governed access to your systems — GitHub, Slack, Postgres, Sentry, anything that speaks MCP — with tokens stored in an encrypted vault. Models stay interchangeable: OpenRouter or direct providers, chosen per agent and per tool.

Start with one team. Standardize approved models, tools, and context. Expand across the organization without copying secrets or rebuilding the platform. Install locally and it stays private; sync to the cloud for remote access, team roles, and shared billing.

┌─────────────────────────────────────────────────────────────────┐
│                             Clients                             │
│            Cursor · Claude · VS Code · Custom Agents            │
└───────────────────────────┬─────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────────────┐
│                           DECO STUDIO                           │
│      Agents · Connections · Models · Vault · Observability      │
└───────────────────────────┬─────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────────────┐
│                       Tools & MCP Servers                       │
│       GitHub · Slack · Postgres · OpenRouter · Your APIs        │
└─────────────────────────────────────────────────────────────────┘

Quick Start

bunx decostudio

Or clone and run from source:

git clone https://github.com/decocms/studio.git
bun install
bun run dev

runs at http://localhost:4000 (client) with API routes proxied to the Bun server


What you get

Agents

Package context, tools, and policy into an agent. Define instructions, add skills and files, grant approved MCP access, choose a model policy, then publish the agent to the organization. Each agent is its own MCP endpoint — callable from Cursor, Claude Desktop, your own code, or another agent. Agents compose, and every action is tracked with cost attribution.

Connections

Connect private systems once, securely. Register MCP servers at the organization level through a web UI with one-click OAuth — no JSON configs. Tokens live in the encrypted vault, and you grant tool-level access by organization, role, or agent. Share MCP capabilities — not credentials.

As tool surfaces grow, Studio exposes Virtual MCPs — one endpoint, different strategies for which tools to surface:

  • Full-context: expose everything (simple, deterministic, good for small toolsets)
  • Smart selection: narrow the toolset before execution
  • Code execution: load tools on demand in a sandbox

Models

Keep the AI layer interchangeable. Use OpenRouter or connect Anthropic, OpenAI, Google, or any compatible provider directly — the best model for each agent and tool, behind one router. For coding work, engineers can link their own Claude Code or Codex session and use the subscription already authenticated on their machine.

Projects

Projects bring agents and connections together around a goal. The project's UI adapts to what's inside — add a content agent and a CMS connection, the sidebar shows content management; add an analytics agent and a database, it shows dashboards and queries. The UI you see is the UI that's relevant for operating that project.

Observability

Account for every model and tool call. Trace the user, agent, model, tools, latency, errors, tokens, and cost for every thread. Break usage down by agent, connection, organization, or teammate — one dashboard.

From your desktop to your org

Localbunx decostudio on your desktop. Embedded PostgreSQL. Private.
CloudLog in to studio.decocms.com. Control local projects from any browser.
TeamInvite people. SSO and role-based access. Shared connections. Cost attribution.
EnterpriseSelf-hosted. Organization isolation, tool-scoped API keys, audit logs. Your infra, your rules.

Core Capabilities

CapabilityWhat it does
AgentsPackage context, tools, and policy into publishable agents with cost attribution
ConnectionsRoute MCP traffic through one governed endpoint with auth, proxy, and encrypted token vault
ModelsInterchangeable AI layer — OpenRouter or direct providers, model policy per agent
ProjectsOrganize agents and connections around goals with an adaptive UI
Virtual MCPsCompose and expose governed toolsets as new MCP endpoints
ObservabilityTraces, costs, errors, and latency per user, agent, and connection — one dashboard
Access ControlSSO + RBAC via Better Auth — OAuth 2.1 and tool-scoped API keys per workspace/project
Multi-tenancyOrganization/project isolation for config, credentials, policies, and audit logs
Event BusPub/sub between connections with scheduled/cron delivery and at-least-once guarantees
BindingsCapability contracts so tools target interfaces, not specific implementations
StoreDiscover and install agents, tools, and templates

Define Tools

Type-safe, audited, observable, callable via MCP.

import { z } from "zod";
import { defineTool } from "~/core/define-tool";

export const CONNECTION_CREATE = defineTool({
  name: "CONNECTION_CREATE",
  description: "Create a new MCP connection",
  inputSchema: z.object({
    name: z.string(),
    connection: z.object({
      type: z.enum(["HTTP", "SSE", "WebSocket"]),
      url: z.string().url(),
      token: z.string().optional(),
    }),
  }),
  outputSchema: z.object({
    id: z.string(),
    scope: z.enum(["workspace", "project"]),
  }),
  handler: async (input, ctx) => {
    await ctx.access.check();
    const conn = await ctx.storage.connections.create({
      projectId: ctx.project?.id ?? null,
      ...input,
      createdById: ctx.auth.user!.id,
    });
    return { id: conn.id, scope: conn.projectId ? "project" : "workspace" };
  },
});

Every tool call gets input/output validation, access control, audit logging, and OpenTelemetry traces automatically.


Project Structure

Applications

WorkspacePurpose
apps/apiHono API, authentication, tools, storage, migrations, and the deco CLI
apps/docsAstro documentation site
apps/nativeTauri desktop app and local Rust runtime
apps/webVite and React 19 administration interface

Packages

WorkspacePurpose
packages/bindingsRuntime-validated MCP capability contracts
packages/create-deconpm create deco project scaffolding CLI
packages/e2eBlack-box Playwright suite for Studio
packages/harness-runnerIn-sandbox coding-agent harness process
packages/mcp-utilsMCP proxy, gateway, aggregation, and sandbox primitives
packages/runtimeRuntime helpers for MCP servers, OAuth, tools, and triggers
packages/sandboxAgent sandbox lifecycle, daemon, dispatch, and proxy implementation
packages/sharedPrivate isomorphic contracts, SDK utilities, and async primitives
packages/typegenTyped client generator for Studio Virtual MCPs
packages/uiInternal React design system

Development

bun install          # Install dependencies
bun run dev          # Run the web app and API
bun test             # Run tests
bun run check        # Type check
bun run lint         # Lint
bun run fmt          # Format

App-specific commands

bun run --cwd=apps/web dev          # Vite dev server (port 4000)
bun run --cwd=apps/api dev:server   # Hono server with hot reload
bun run --cwd=apps/api migrate      # Run database migrations

Worktrees

dev:worktree routes http://<WORKTREE_SLUG>.localhost via Caddy — useful for running multiple workspaces without port conflicts.

# One-time setup
brew install caddy && caddy start

# Start
WORKTREE_SLUG=my-feature bun run dev:worktree

# Conductor adapter (sets WORKTREE_SLUG from CONDUCTOR_WORKSPACE_NAME)
bun run dev:conductor

Deploy Anywhere

# Docker (embedded PostgreSQL)
docker compose -f deploy/docker-compose/docker-compose.yml up

# Docker (PostgreSQL)
docker compose -f deploy/docker-compose/docker-compose.postgres.yml up

# Bun
bun run build:studio && bun run --cwd=apps/api start

# Kubernetes (Helm)
helm install deco-studio oci://ghcr.io/decocms/chart-deco-studio --version <version> -n deco-studio --create-namespace

No vendor lock-in. Runs on Docker, Kubernetes, AWS, GCP, or local runtimes.

What you need to run it

TierFootprint
LaptopNothing. One process, embedded PostgreSQL.
DockerThe published image. Bring PostgreSQL or use the embedded one.
Production (Helm)PostgreSQL you bring, plus optional NATS (event bus wake-up), ClickHouse + OTel Collector (traces and analytics), and the sandbox operator (isolated agent environments on Kubernetes). Your identity provider, your model keys, your storage.

Production topology

graph TB
    clients["MCP clients — Cursor · Claude · VS Code · your code"]

    clients -->|"one MCP endpoint · SSO · RBAC · audit"| api

    subgraph k8s ["Kubernetes (Helm)"]
        api["Studio API + Admin UI"]
        api --> sandbox["Agent sandboxes<br/>(sandbox-operator)"]
        api -->|"notify"| nats["NATS"]
        api -->|"traces · costs"| otel["OTel Collector"]
        nats -->|"wake"| worker["Workers<br/>event bus · schedules"]
        otel --> ch[("ClickHouse")]
    end

    pg[("PostgreSQL")]
    api --> pg
    worker --> pg

    subgraph upstream ["Models & tools"]
        models["Anthropic · OpenAI<br/>OpenRouter · Ollama"]
        mcps["GitHub · Slack · Postgres<br/>your MCP servers"]
    end

    api -->|"model routing · vaulted credentials"| upstream

Every box is optional except Studio and PostgreSQL — start small, turn on the rest as the rollout grows.


Tech Stack

LayerTech
RuntimeBun / Node
LanguageTypeScript + Zod
FrameworkHono (API) + Vite + React 19
DatabaseKysely → embedded PostgreSQL / PostgreSQL
AuthBetter Auth (OAuth 2.1 + API keys)
ObservabilityOpenTelemetry
UIReact 19 + Tailwind v4 + shadcn
ProtocolModel Context Protocol (MCP)

Roadmap

  • Agent marketplace — discover, hire, and compose agents
  • Declarative planning engine
  • Cost analytics and spend caps
  • Remote access from any browser
  • Live tracing debugger
  • Workflow orchestration with guardrails

License

MIT — see LICENSE.md.

Questions? builders@decocms.com


Contributing

bun run fmt      # Format
bun run lint     # Lint
bun test         # Test

See AGENTS.md for coding guidelines, CONTRIBUTING.md for the contribution workflow, and TESTING.md for the testing rules.

Good first steps: open an issue, pick one labeled good first issue, or ask in Discord.


Contributors

Studio is built in the open. Thanks to everyone who has shipped a commit.

Contributors to decocms/studio

Maintainers — see MAINTAINERS.txt:

@guitavano · @viktormarinho · @mcandeia · @pedrofrxncx · @JonasJesus42 · @aka-sacci-ccr · @vibegui · @tlgimenes · @vibe-dex · @nicacioliveira


Made with care by the deco community

常见问题

What is mesh?

mesh is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by decocms. One secure endpoint for every MCP server. Deploy anywhere. It has 337 GitHub stars.

Is mesh safe to use?

Yes. mesh passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install mesh?

Clone the repository with "git clone https://github.com/decocms/mesh" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is mesh written in?

mesh is primarily written in TypeScript. It is open-source under decocms on GitHub, so you can review or fork the full source.

Are there alternatives to mesh?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mesh against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情