agent-harnesses MCP server
Recommends, compares and searches agent harnesses from the curated best-of-Agent-Harnesses list
Self-hostable MCP gateway that puts agents, tool connections and model routing behind one endpoint
Official · deco CMS TypeScript Remote (hosted) · Streamable HTTPLocal · Streamable HTTP AI and MLDeveloper toolsDevOps and monitoring
78 popularity score ★ 416 ↓ 15k/wk
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
{
"mcpServers": {
"deco-studio": {
"url": "https://studio.decocms.com/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>"
}
}
}https://studio.decocms.com/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>{
"servers": {
"deco-studio": {
"type": "http",
"url": "https://studio.decocms.com/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>"
}
}
}Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
claude mcp add --transport http deco-studio 'http://localhost:3000/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>'{
"mcpServers": {
"deco-studio": {
"url": "http://localhost:3000/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>"
}
}
}{
"servers": {
"deco-studio": {
"type": "http",
"url": "http://localhost:3000/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>"
}
}
}[mcp_servers.deco-studio]
url = "http://localhost:3000/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>"gemini mcp add --scope user --transport http deco-studio 'http://localhost:3000/api/<ORG_SLUG>/mcp/gateway/<AGENT_ID>'| Set together: secrets | |
|---|---|
BETTER_AUTH_SECRET secret |
Optional: Auth signing secret; keep it stable across restarts and set it for anything shared (Compose falls back to a placeholder). |
ENCRYPTION_KEY secret |
Optional: Credential-vault key; keep it stable across restarts, or stored tokens cannot be read. |
DATABASE_URL secret |
Optional: PostgreSQL connection; Compose points it at its own postgres service. |
NATS_URL |
Optional: NATS connection, comma-separated for several; NATS_USER and NATS_PASSWORD (together) or NATS_CREDS add auth. |
PORT |
Optional: API listener port; Compose maps it on 127.0.0.1. |
BASE_URL |
Optional: Public origin used in generated URLs. |
DATA_DIR |
Optional: Runtime files and local telemetry; /app/data in the image. |
CLICKHOUSE_URL |
Optional: Optional ClickHouse endpoint for monitoring and analytics. |
| Set together: object-storage | |
S3_ENDPOINT |
Optional: S3-compatible object storage endpoint; S3_FORCE_PATH_STYLE defaults to true and must be false for AWS S3. |
S3_BUCKET |
Optional: Object storage bucket. |
S3_ACCESS_KEY_ID secret |
Optional: Object storage access key. |
S3_SECRET_ACCESS_KEY secret |
Optional: Object storage secret key. |
deco Studio is a control plane for an organisation's AI use. You register other MCP servers in it once (GitHub, Slack, Postgres or any MCP server), and their tokens are kept in an encrypted vault. You then decide which tools each agent, role or organisation may call. MCP clients such as Cursor, Claude or VS Code connect to Studio instead of to each server. Each agent you publish there is its own MCP endpoint, and every model and tool call is logged with tokens, cost, latency and errors.
Studio also exposes its own management tools over MCP: organisations and members, connections, virtual MCPs, agents' threads, automations, a task board, API keys, secrets, AI provider keys, repositories and change requests, Jira, object storage and monitoring. The tool registry at v4.519.0 (apps/api/src/tools/index.ts) lists 245 of them, and DATABASES_RUN_SQL is no longer among them. A comment in that file calls the full set about 200 tools, enough to crowd a client's context. Agent endpoints ('virtual MCPs') can instead expose all tools, a narrowed selection, or load tools on demand in a sandbox.
Since v4.519.0 Studio is no longer a single process with an embedded PostgreSQL. The npm package decocms (program deco) still exists, but its README says the CLI no longer starts a local runtime. You run the released image (ghcr.io/decocms/studio/studio) with Docker Compose, which brings PostgreSQL, NATS and MinIO object storage, or install the Helm chart on Kubernetes. The maker also runs a hosted copy at studio.decocms.com. Models are chosen per agent, through OpenRouter or direct Anthropic, OpenAI, Google or other compatible providers. Engineers can also link their own Claude Code or Codex session for coding work.
| To run it yourself | Docker |
|---|---|
| Runs on | macOS, Windows, Linux |
| deco Studio | Your own instanceSign up on your own instance (the first user becomes organisation owner), or use the hosted studio.decocms.com |
| OpenRouter or a model provider (Anthropic, OpenAI, Google) | Paid planA provider key for the models your agents call |
| Also |
|
Clone the repository and run `docker compose -f selfhost/examples/docker-compose/compose.yaml up`. Copy selfhost/examples/docker-compose/.env.example to .env first if you want to change settings. Then open http://localhost:3000 and sign up. Create an organisation and an agent, and point your client at that agent's endpoint. For production, the Helm chart (oci://ghcr.io/decocms/chart-deco-studio) expects a PostgreSQL you provide, plus NATS, and ClickHouse with an OTel Collector for traces and analytics.
It serves MCP over HTTP only and has no stdio mode: a client connects to a running Studio's URL. The unscoped /mcp/... and /mcp/self routes still work but log a deprecation; use the /api/<org>/mcp/... paths. BETTER_AUTH_SECRET and ENCRYPTION_KEY must be set explicitly in production. Cost spend caps, an agent marketplace and remote access from any browser are on its roadmap, not shipped. The desktop app is macOS on Apple Silicon only for now.
Suits a team that wants many MCP servers shared through one governed endpoint, with per-agent tool access, vaulted credentials, SSO, audit logs and cost tracking. It also suits anyone who wants agents published as endpoints other clients can call. A single developer who only needs one or two tools in one client will find it heavy. Self-hosting now means running Docker with PostgreSQL, NATS and object storage, so they should connect those servers directly instead. Choose the hosted studio.decocms.com to avoid running it, or self-host to keep everything on your own machines.
23 only read, 30 change things, 7 can delete or overwrite.
ORGANIZATION_CREATE changesORGANIZATION_LISTORGANIZATION_SETTINGS_UPDATE changesORGANIZATION_MEMBER_ADD changesORGANIZATION_MEMBER_REMOVE deletesORGANIZATION_MEMBER_UPDATE_ROLE changesCOLLECTION_CONNECTIONS_CREATE changesCOLLECTION_CONNECTIONS_LISTCOLLECTION_CONNECTIONS_UPDATE changesCOLLECTION_CONNECTIONS_DELETE deletesCONNECTION_TESTCONNECTION_TOOLS_SEARCHCONNECTION_TOOL_CALL changesCOLLECTION_VIRTUAL_MCP_CREATE changesCOLLECTION_VIRTUAL_MCP_LISTCOLLECTION_VIRTUAL_MCP_UPDATE changesCOLLECTION_VIRTUAL_MCP_DELETE deletesCOLLECTION_THREADS_LISTCOLLECTION_THREAD_MESSAGES_LISTAUTOMATION_CREATE changesAUTOMATION_LISTAUTOMATION_TRIGGER_ADD changesAUTOMATION_RUN changesAUTOMATION_DELETE deletesTASK_BOARD_ITEM_CREATE changesTASK_BOARD_ITEM_LISTTASK_BOARD_ITEM_UPDATE changesTASK_BOARD_COMMENT_CREATE changesTASK_BOARD_SPRINT_CREATE changesTASK_BOARD_PROMOTE_TO_PRODUCTION changesAPI_KEY_CREATE changesAPI_KEY_LISTAPI_KEY_DELETE deletesSECRET_CREATE changesSECRET_LISTAI_PROVIDERS_LISTAI_PROVIDERS_LIST_MODELSAI_PROVIDER_KEY_CREATE changesAI_PROVIDER_CREDITSMONITORING_LOGS_LISTMONITORING_STATSTHREAD_ANALYTICS_USAGEFILE_CONFIG_CREATE changesLIST_OBJECTSPUT_PRESIGNED_URL changesDELETE_OBJECT deletesGIT_ACCOUNT_CONNECT_TOKEN changesREPOSITORY_LISTREPOSITORY_CREATE_FROM_TEMPLATE changesREPOSITORY_DELETE deletesCHANGE_REQUEST_OPEN changesCHANGE_REQUEST_MERGE changesJIRA_ISSUE_SEARCHJIRA_ISSUE_CREATE changesJIRA_COMMENT_ADD changesSANDBOX_START changesWEB_SEARCHDEEP_RESEARCHGENERATE_IMAGE changesGLOBAL_SEARCH