by decocms
Open-source control plane for your AI agents. Connect tools, hire agents, track every token and dollar
# Add to your Claude Code skills
git clone https://github.com/decocms/studioLast scanned: 5/25/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-25T08:22:40.340Z",
"semgrepRan": false,
"npmAuditRan": false,
"pipAuditRan": true
}studio is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by decocms. Open-source control plane for your AI agents. Connect tools, hire agents, track every token and dollar. It has 405 GitHub stars.
Yes. studio 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.
Clone the repository with "git clone https://github.com/decocms/studio" and add it to your Claude Code skills directory (see the Installation section above).
studio is primarily written in TypeScript. It is open-source under decocms on GitHub, so you can review or fork the full source.
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 studio against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
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.
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 │
└─────────────────────────────────────────────────────────────────┘
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
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.
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:
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 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.
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.
| Local | bunx decostudio on your desktop. Embedded PostgreSQL. Private. |
| Cloud | Log in to studio.decocms.com. Control local projects from any browser. |
| Team | Invite people. SSO and role-based access. Shared connections. Cost attribution. |
| Enterprise | Self-hosted. Organization isolation, tool-scoped API keys, audit logs. Your infra, your rules. |
| Capability | What it does |
|---|---|
| Agents | Package context, tools, and policy into publishable agents with cost attribution |
| Connections | Route MCP traffic through one governed endpoint with auth, proxy, and encrypted token vault |
| Models | Interchangeable AI layer — OpenRouter or direct providers, model policy per agent |
| Projects | Organize agents and connections around goals with an adaptive UI |
| Virtual MCPs | Compose and expose governed toolsets as new MCP endpoints |
| Observability | Traces, costs, errors, and latency per user, agent, and connection — one dashboard |
| Access Control | SSO + RBAC via Better Auth — OAuth 2.1 and tool-scoped API keys per workspace/project |
| Multi-tenancy | Organization/project isolation for config, credentials, policies, and audit logs |
| Event Bus | Pub/sub between connections with scheduled/cron delivery and at-least-once guarantees |
| Bindings | Capability contracts so tools target interfaces, not specific implementations |
| Store | Discover and install agents, tools, and templates |
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.
| Workspace | Purpose |
|---|---|
apps/api |
Hono API, authentication, tools, storage, migrations, and the deco CLI |
apps/docs |
Astro documentation site |
apps/native |
Tauri desktop app and local Rust runtime |
apps/web |
Vite and React 19 administration interface |
| Workspace | Purpose |
|---|---|
packages/bindings |
Runtime-validated MCP capability contracts |
packages/create-deco |
npm create deco |