Eine offene agentische Runtime in TypeScript, die Coding Agents im Hintergrund ausführt und deren Arbeit verifiziert, bevor Änderungen committet werden.
Auch bekannt als agentproto/ts, @agentproto/app-client, @agentproto/harness, @agentproto/mcp-server, @agentproto/plugin-local-browser
- Stars
- 9
- Tools
- —
- Downloads, 30 Tage
- 28.785
- Neueste Version
- —
- Letzter Commit
- 14. Nov. 2026
- Lizenz
- Apache-2.0
Was ist agentproto MCP?
agentproto ist ein MCP server. Eine offene agentische Runtime in TypeScript, die Coding Agents im Hintergrund ausführt und deren Arbeit verifiziert, bevor Änderungen committet werden.
Zusammenfassung generiert aus dem README des Projekts
Über agentproto MCP server
Diese TypeScript Runtime bietet eine Hintergrundumgebung für das Management von Coding Agents, ohne dass eine ständige manuelle Überwachung nötig ist. Sie fungiert als zentraler Daemon, der verschiedene bestehende Agent CLIs wie Claude Code, Codex, Hermes und Mastra über einen einheitlichen Lifecycle ausführen kann. Entwickler können mehrere Agents über eine einzige Schnittstelle starten, Nachrichten senden und sie überwachen, sodass sie das Terminal verlassen können, während die Arbeit weiterläuft.
Ein Kernfeature ist die Möglichkeit, Agent-Aktionen durch automatisierte Checks zu kontrollieren. Du kannst deine eigenen Test-Suites oder ein stärkeres Reviewer-Modell anbinden, um Änderungen zu verifizieren, bevor Code committet wird. Das System unterstützt komplexe Workflows, einschließlich verschachtelter Orchestrierung, bei der Agents andere Agents verwalten, sowie geplante Cron-Jobs und Browser-Automatisierung. Es integriert sich in das MCP-Ökosystem und ermöglicht es dir, Tools von anderen Servern direkt in deine Agent-Sessions zu importieren und zu proxien.
Um dies zu nutzen, installierst du das CLI und startest den Daemon lokal. Du benötigst spezifische Adapter-Packages für die Agents, die du verwenden möchtest. Die Runtime stellt eine Vielzahl von Tools via MCP bereit, darunter Session-Management, Memory-Storage und Sandbox-Execution, was sie zu einem umfassenden Framework für agentische Entwicklung macht.
Was du damit machen kannst
- 1Automatisierte Code-VerifizierungLasse einen Coding Agent ein Modul refactoren und stelle sicher, dass es die Tests besteht, bevor es committet wird.
- 2Hintergrund-Agent-OrchestrierungVerwalte mehrere Coding Agents gleichzeitig über eine einzige Command-Interface.
- 3Geplante Agent-WorkflowsRichte wiederkehrende Aufgaben für deine Agents mithilfe der Cron-Funktionalität ein.
- 4Erweiterung der Agent-CapabilitiesVersorge Agents mit zusätzlichen Funktionen, indem du bestehende MCP server importierst.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du agentproto MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenagentproto MCP in Claude Code installieren
$ claude mcp add ts -- npx -y @agentproto/app-clientagentproto MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"ts": {
"command": "npx",
"args": [
"-y",
"@agentproto/app-client"
]
}
}
}agentproto MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"ts": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@agentproto/app-client"
]
}
}
}agentproto MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"ts","type":"stdio","command":"npx","args":["-y","@agentproto/app-client"]}'agentproto MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"ts": {
"command": "npx",
"args": [
"-y",
"@agentproto/app-client"
]
}
}
}agentproto MCP in Codex installieren
$ codex mcp add ts -- npx -y @agentproto/app-clientagentproto MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.ts] command = "npx" args = ["-y", "@agentproto/app-client"]
agentproto MCP in Gemini CLI installieren
$ gemini mcp add -s user ts npx -- -y @agentproto/app-clientagentproto MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"ts": {
"command": "npx",
"args": [
"-y",
"@agentproto/app-client"
]
}
}
}Automatisierte Checks
Geluften am 12. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarBestanden
- Open Source Lizenz (OSI)Bestanden
- Commit oder Release im letzten JahrBestanden
- Package-Name ähnelt keinem populären PackageBestanden
- Remote Endpoint nutzt HTTPSNicht geprüft
- Destruktive Tools sind markiertNicht geprüft
- Keine versteckten Anweisungen an das ModellBestanden
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenNicht geprüft
README
Auf GitHub ansehenagentproto/ts
Let your coding agents work without you watching.
agentproto runs Claude Code, Codex, Hermes, opencode, Mastra, and any other coding agent in the background, shows them all in one place, and checks each one's work — with your tests or a reviewer model — before anything is committed. No more babysitting terminal windows.
- Run them all the same way. Start, message, watch, and stop any agent with the same commands. Fifteen agents under one lifecycle today.
- Work checked before it lands. Attach a check — your tests, or a stronger model reviewing the change — and it runs each time the agent finishes. Commits wait for the check and your OK, even after you close your laptop.
- Keep the tools you have. It drives the agent CLIs you already use — nothing to rewrite. Agents can even run and check other agents.
- And a full toolbox around them. Author tools as files and serve them, import any MCP server and hand it to any agent, open tunnels, drive browsers, schedule workflows and cron runs.
The daemon is the flagship surface of something bigger: agentproto is an open agentic framework — the AIP specs define every agent component (tools, skills, agents, knowledge, workflows, policies) as a plain file with a declared contract, and this repo is the TypeScript runtime that loads, runs, and projects them into any host (CLI, HTTP, MCP, Mastra, Vercel AI SDK). Files with contracts is what lets any runtime load them — and lets agents read, write, and improve their own components.
Status: 1.32.0. APIs are stabilising; expect minor breaking changes between releases.
Quick start
Or bootstrap from zero in one line:
# macOS / linux
curl -fsSL https://raw.githubusercontent.com/agentproto/ts/main/scripts/bootstrap/install.sh | bash
# Windows 10/11 (PowerShell 5.1+)
irm https://raw.githubusercontent.com/agentproto/ts/main/scripts/bootstrap/install.ps1 | iex
Manual path:
npm i -g @agentproto/cli
agentproto install claude-code # auto-installs the adapter package too
agentproto serve # start the daemon (foreground)
agentproto sessions start claude-code --cwd . --prompt "refactor the payments module"
agentproto sessions --watch
Then gate it: attach a policy to any session's turn-end and stage the commit behind a human ack. See agentproto.sh for the full pitch, or jump straight to agentproto.sh/features for the honest split below.
What's live vs. roadmap
This repo ships two very different things under one name:
- Tier 1 — live, verified hands-on: the daemon, the CLI, fifteen agent adapters (Claude Code, Claude SDK, Codex, Gemini, Grok CLI, Hermes, jcode, opencode, Mastra Code + in-process, Mastra Agent, OpenClaw, browser-as-agent, Antigravity, pi), durable policy gates, nested orchestration with role gating, fan-in monitoring, workflows/cron, and an MCP surface (~175 tools) on the daemon itself.
- Tier 2 — the wider AIP spec family: 72 numbered specs live in
agentproto/agentproto. Most
reference-implementation packages beyond Tier 1 are
0.1.0-alphascaffolding — real schemas, real intent, not yet operational software.
Full breakdown: https://agentproto.sh/features. If you find a Tier 2 claim anywhere that reads as shipped, please file an issue — that split is the contract.
Contributing an adapter
The adapter contract is small: declare models[] and modes[] via an
AIP-45 manifest, implement the lifecycle verbs, and reuse the shared
provider-kit primitives (creds, catalog entry, setup/status tools). Obvious
gaps: Cursor (agent CLI, ACP-capable — not verified end to end), aider,
goose, cline, Continue. See adapters/claude-code
for a complete reference implementation, and look for good first issue
labels in the tracker.
VS Code extension
packages/vscode contains the private agentproto-vscode extension: local
operational views for daemon sessions and permissions, plus commands to manage
agents from the editor. Every Releases
asset is built in CI, never committed to the repo:
- Dev builds — every push to
maintouchingpackages/vscodepublishes a prerelease VSIX taggedvscode-dev-<sha>, for grabbing the bleeding edge. - Official releases — a "Version Packages" PR merge that included
vscode changes publishes a versioned VSIX tagged
vscode-v<version>, same cadence as every other package's release.
Install either through VS Code's Extensions: Install from VSIX... command.
To build one yourself instead:
cd packages/vscode
pnpm package
unzip -t agentproto-vscode-*.vsix
See packages/vscode/README.md for
development and verification commands.
Packages
The repo is organised into five layers, each a sibling subtree under
packages/ or adapters/.
1 — Runtime & daemon
@agentproto/runtime is the long-running gateway that turns a workspace into
a live AIP runtime: session management, an MCP server, an HTTP transport, the
HEARTBEAT autonomy loop, and append-only conversation persistence.
packages/runtime/ @agentproto/runtime Session lifecycle, MCP tools, HTTP API, supervisor / orchestrator
packages/cli/ @agentproto/cli `agentproto` binary — install adapters, run/serve sessions, daemon
packages/mcp-server/ @agentproto/mcp-server Per-doctype CRUD MCP tools (create/load/list/update/resolve/delete)
Key MCP tools exposed by the runtime:
| Tool | Purpose |
|---|---|
agent_start / agent_prompt / agent_output / agent_kill / agent_interrupt |
Spawn, drive, interrupt, and stop long-lived agent-CLI sessions |
message_parent |
Child session reports a result, progress update, or blocker up to its parent supervisor (resolved from the child's recorded parentSessionId; no session id argument) |
agent_set_model / agent_set_effort / agent_set_posture |
Best-effort live switches for a session's config axes (return {applied:false, reason} when the running adapter can't apply them live) |
agent_sessions_list / agent_export |
List agent sessions; export a clean transcript |
conversation_read |
Read the provider-native conversation behind any session (agent-cli or PTY) |
session_list / session_tree / session_usage / session_restart |
Canonical session list, hierarchy, usage, and resume |
session_archive / session_unarchive |
Hide / restore sessions from the canonical list (VS Code "show archived" toggle) |
session_rename / session_set_pinned |
Set or clear a session's user-facing title / label, or toggle its pinned sort flag |
session_flag_status |
Manually correct a session's awaitingInput / awaitingQuestion classification |
worktree_gc |
Plan/apply garbage collection of linked git worktrees |
terminal_start / terminal_input / terminal_output / terminal_kill |
Drive raw PTY sessions |
command_log_tail |
Read the JSONL audit log for command_execute |
policy_attach / policy_cancel / policy_status |
Supervisor completion-policy lifecycle |
workflow_run_file / workflow_start / workflow_status / workflow_cancel |
Run WORKFLOW.md and stage-barrier workflows |
app_install / app_run / app_list / app_status / app_stop |
Install and run @agentproto/app apps as live agent sessions |
app_apply / app_unapply / app_list_applied |
Mount / unmount apps to scopes with dependency validation |
app_data_read / app_data_write / app_data_list / app_data_migrate |
App-scoped durable data plane (read/write/list + legacy migration), anchored at the app's dataDir (default <dir>/data) |
harness_preset_list / harness_preset_create / harness_preset_delete / harness_preset_set_default |
Persisted harness→auth-profile presets |
workspace_brain_query / workspace_brain_status / workspace_brain_ingest |
Per-workspace transcript recall (BM25) |
memory_search / memory_list / memory_read / memory_write / memory_supersede / memory_archive / memory_dismiss |
AIP-72 memory store (memory.root, default ~/.agentproto/memory); anyone proposes, the operator or a supervisor commits; memory-bound agents get a spawn digest in their system prompt |
conversation_export |
Export a daemon transcript to a target adapter's native store (claude-code today) |
llm_endpoint_start / llm_endpoint_stop / llm_endpoint_status / llm_endpoint_set_upstream_link / llm_endpoint_list_links |
Local LLM Endpoint proxy sidecar (requires features.llmEndpoint) |
tunnel_create / tunnel_list / tunnel_stop / tunnel_revoke / tunnel_status |
Public URL tunnels for local ports (private signed link by default; public: true opts out; tunnel_revoke invalidates the link) |
list_provider_presets |
Gateway presets (Anthropic, Moonshot, OpenRouter, Requesty, DeepSeek, xAI) |
harness_list / harness_models / harness_install |
List installed harnesses (agent CLIs), page one harness's models, install one by slug (adapter_list / adapter_models / adapter_install are deprecated aliases) |
harness_capabilities |
Discover what an installed adapter can do on this host |
catalog_models |
Read-only catalog of runnable models + routes (daemon GET /catalog/models) |
list_sandbox_providers / setup_sandbox_provider |
Sandbox provider catalog and credentials |
sandbox_exec |
Run one command in a sandbox box (ephemeral, or an existing sandboxId) and return exit code + stdout/stderr |
list_eval_reporters / setup_eval_reporter |
Eval-reporter backends (e.g. Langfuse) |
browser_navigate / browser_extract_text / browser_click / … / list_browsers |
Browser page tools, forwarded to the Bureau MCP (defaults.browser.proxyImport, default bureau); fetch_page reads a URL without a browser |
mcp_discovered_list / mcp_imported_list / mcp_import / mcp_imported_remove |
Discover and curate imported MCP servers |
mcp_imported_status / mcp_imported_tool_list / mcp_imported_call |
Proxy imported MCP tools |
skill_import / skill_imported_list / skill_imported_remove / skill_resync |
Curate imported skills (a SKILL.md folder is copied into ~/.agentproto/skills/<id>/) for per-session delivery |
permissions_list / permissions_respond |
Held permission requests across permission-hold sessions |
cron_create / cron_list / cron_delete / cron_run |
Recurring daemon jobs (opt-in) |
role_list |
Enumerate spawn-time roles and delegation privileges |
daemon_health |
Cheap in-process liveness probe |
agentproto_session_story / agentproto_terminal |
Per-session story / live PTY MCP App panels |
agentproto_sessions / agentproto_bureau_sessions |
MCP App panel views |
2 — Adapter families
packages/provider-kit/ @agentproto/provider-kit Shared catalog, creds, setup-ledger, MCP tool primitives
packages/provider-presets/ @agentproto/provider-presets Shared gateway preset registry (Anthropic, Moonshot, OpenRouter, Requesty, DeepSeek, xAI, xAI-Anthropic, LLM Endpoint)
adapters/claude-code/ @agentproto/adapter-claude-code AIP-45 adapter for Claude Code
adapters/claude-sdk/ @agentproto/adapter-claude-sdk AIP-45 adapter for Claude SDK (Anthropic/Moonshot/OpenRouter gateway modes)
adapters/codex/ @agentproto/adapter-codex AIP-45 adapter for Codex
adapters/gemini/ @agentproto/adapter-gemini AIP-45 adapter for Gemini
adapters/hermes/ @agentproto/adapter-hermes AIP-45 adapter for Hermes
adapters/opencode/ @agentproto/adapter-opencode AIP-45 adapter for OpenCode
adapters/openclaw/ @agentproto/adapter-openclaw AIP-45 adapter for Openclaw
adapters/antigravity/ @agentproto/adapter-antigravity AIP-45 adapter for Google Antigravity
adapters/mastra-agent/ @agentproto/adapter-mastra-agent First-party agent — AIP-42 AGENT.md run as a live Mastra agent behind ACP
adapters/browser/ @agentproto/adapter-browser Browser / CDP session adapter
All agent-CLI adapters share the provider-kit primitives: makeSetupTool
(single-field or multi-field creds), computeStatus, AdapterCatalogEntry, and
makeCredsStore. mastra-agent is the odd one out: every other adapter wraps
an external agent CLI, whereas mastra-agent is ours end to end — an
AGENT.md run as a live Mastra agent (our loop, our models), spawned by the
daemon like any arm or standalone via agentproto-mastra acp.
3 — Tool authoring
The original three-layer model for tools consumed inside the runtime or projected into a host framework: contract → implementation → bundle.
packages/tool/ @agentproto/tool AIP-14 defineTool, ToolHandle, validators
packages/driver/ @agentproto/driver AIP-30 implementTool, defineDriver, runTool, resolver
packages/driver/cli/ @agentproto/driver-cli AIP-29 CLI/subprocess transport
packages/driver/http/ @agentproto/driver-http HTTP transport
packages/driver/mcp/ @agentproto/driver-mcp MCP server transport
packages/driver/sdk/ @agentproto/driver-sdk SDK / dynamic-import transport
import { defineTool } from "@agentproto/tool"
import { implementTool, defineDriver } from "@agentproto/driver"
import { z } from "zod"
const greetTool = defineTool({
id: "greet",
description: "Greets a name in the bound locale.",
inputSchema: z.object({ name: z.string() }),
outputSchema: z.object({ greeting: z.string() }),
contextSchema: z.object({ locale: z.enum(["en", "fr"]) }),
})
const greetBuiltin = implementTool(greetTool, async ({ input, context }) => ({
greeting: context.locale === "fr" ? `Bonjour ${input.name}` : `Hello ${input.name}`,
}))
const greetDriver = defineDriver({
id: "greet-builtin",
name: "Greet (builtin)",
description: "In-process greeter.",
kind: "builtin",
implements: [{ tool: "greet", version: "0.1.0" }],
implementations: [greetBuiltin],
})
Re-express any ToolImplementation in a host framework's tool shape:
adapters/ai-sdk/ @agentproto/adapter-ai-sdk Vercel AI SDK Tool projection
adapters/mastra/ @agentproto/adapter-mastra Mastra createTool projection
packages/bridge/ @agentproto/bridge AIP-42 AGENT.md → Mastra Agent
import { toAiSdkTool } from "@agentproto/adapter-ai-sdk"
import { toMastraTool } from "@agentproto/adapter-mastra"
const aiSdkTool = toAiSdkTool(greetBuiltin, { context: { locale: "en" } })
const mastraTool = toMastraTool(greetBuiltin, { source: { context: { locale: "en" } } })
4 — Knowledge & workflow
packages/corpus/ @agentproto/corpus AIP-10/12/18 knowledge composition (pure, no I/O)
packages/corpus-cli/ @agentproto/corpus-cli `corpus` binary — validate, lint, operate a corpus workspace
packages/workflow-runtime/ @agentproto/workflow-runtime AIP-15 typed step-walker (tool/map/branch/loop/transform)
packages/agent-runtime/ @agentproto/agent-runtime MultiAgentRuntime kernel with swappable ports
@agentproto/corpus composes AIP-10 KNOWLEDGE, AIP-12 PLAYBOOK, AIP-18
COLLECTION, AIP-9 OPERATOR, AIP-15 WORKFLOW, and AIP-41 ROUTINE into an
autonomous knowledge-improvement system. Pure: zero runtime, zero filesystem,
zero HTTP — all I/O via injected ports.
5 — Platform: auth, sandbox, secrets, telemetry
packages/auth/ @agentproto/auth Pluggable CredentialStore + device-code (RFC 8628) auth flow
packages/sandbox/ @agentproto/sandbox agent_start.sandbox: boot/reconnect/pause an isolated box
packages/secrets/ @agentproto/secrets Broker-resolved provision auth headers, mcp-header exposure
packages/processor/ @agentproto/processor Dependency-free Redactor port for transcript/log scrubbing
packages/telemetry/ @agentproto/telemetry Telemetry port + OTel adapter
packages/eval/ @agentproto/eval Scorers + runEval, including an LLM-judge scorer
Specifications
The AIP markdown specs live in agentproto/agentproto. Browse rendered versions at https://agentproto.sh/docs.
Key specs implemented here:
| AIP | Spec | Package |
|---|---|---|
| AIP-9 | OPERATOR.md | @agentproto/operator |
| AIP-10 | KNOWLEDGE.md | @agentproto/corpus |
| AIP-12 | PLAYBOOK.md | @agentproto/corpus |
| AIP-14 | TOOL.md | @agentproto/tool |
| AIP-15 | WORKFLOW.md | @agentproto/workflow, @agentproto/workflow-runtime |
| AIP-17 | RUNNER.md | @agentproto/runner |
| AIP-18 | COLLECTION.md | @agentproto/corpus |
| AIP-29 | CLI.md | @agentproto/driver-cli |
| AIP-30 | DRIVER.md | @agentproto/driver |
| AIP-36 | SANDBOX.md | @agentproto/sandbox |
| AIP-40 | EXTENSION.md | @agentproto/extension |
| AIP-41 | ROUTINE.md | @agentproto/routine |
| AIP-42 | AGENT.md | @agentproto/agent, @agentproto/bridge |
| AIP-45 | Agent CLI adapter | adapters/{claude-code,claude-sdk,hermes,opencode,codex,openclaw,mastra-agent,antigravity,jcode} |
| AIP-57 | Model resolution primitive | @agentproto/model-routing |
| AIP-62 | REVIEW.md | @agentproto/review |
| AIP-65 | DECISION.md | @agentproto/runtime |
| AIP-66 | Managed cloud agents (cloud:<vendor> target) |
@agentproto/runtime, adapters/claude-code-cloud |
Building from source
pnpm install
pnpm -r build
pnpm -r test
License
Apache-2.0 — see LICENSE. Copyright 2026 Jeremy André and agentproto contributors.
Contributing
Spec evolution happens at agentproto/agentproto. This repo tracks AIP progression — implementations follow as AIPs reach Review/Final status. PRs welcome for runtime bugfixes, perf, and adapter coverage — see "Contributing an adapter" above.
agentproto MCP Fragen
Wie füge ich agentproto MCP zu Claude Code hinzu?
Führe claude mcp add ts -- npx -y @agentproto/app-client in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich agentproto MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Welche Coding Agents kann ich mit agentproto ausführen?
Du kannst Claude Code, Codex, Hermes, opencode, Mastra und fünfzehn weitere Agents unter einem einzigen Lifecycle ausführen.
Wie stellt agentproto die Codequalität sicher?
Du kannst Checks wie deine eigenen Tests oder ein stärkeres Reviewer-Modell anbinden, die jedes Mal ausgeführt werden, wenn ein Agent fertig ist, bevor Commits vorgenommen werden.
Kann ich meine bestehenden MCP server mit dieser Runtime nutzen?
Ja, du kannst jeden MCP server importieren und ihn jedem Agent zur Verfügung stellen, der innerhalb des Frameworks läuft.
Wie installiere ich agentproto auf macOS oder Linux?
Du kannst die Installation über einen einzigen curl-Befehl starten, der in der Dokumentation bereitgestellt wird.