Skip to content

Commit a05d586

Browse files
rmdevproclaude
andcommitted
Pluggable Agents: reframe around the host/agent contract; demote starter set
Lead with the protocol — what the host provides (model access, state, tools, identity, event loop) and what the agent declares (entry point, capabilities, required resources, exposed tools). Hosts now explicitly include every agentic-service Imperator slot, not just the Modular Agent Host. Google Workspace and Microsoft 365 reduced to a single small "starter set" section emphasising that most pluggable agents will be written by the people running them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 39abb4b commit a05d586

1 file changed

Lines changed: 54 additions & 64 deletions

File tree

‎open-source/pluggable-agents.html‎

Lines changed: 54 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width,initial-scale=1">
66
<title>Pluggable Agents — BlueprintAgentic</title>
7-
<meta name="description" content="Drop-in agents for Google Workspace and Microsoft 365. Gmail, Drive, Calendar, OneDrive — pip install and go.">
7+
<meta name="description" content="A contract between agents and the systems that run them. Open-source Python agents for any compliant host — the Modular Agent Host, every agentic-service Imperator slot, or your own.">
88
<link rel="icon" href="../assets/logos/favicon.ico">
99
<link rel="stylesheet" href="../css/style.css">
1010
<style>
@@ -59,96 +59,86 @@
5959
<a class="back" href="../index.html#open-source">← Open source</a>
6060
<div class="kicker">§ Agents · Open source</div>
6161
<h1>Pluggable Agents.</h1>
62-
<p class="tagline">Drop-in agents for the services your business already runs on.</p>
63-
<p class="sub">Every agent here is a Python package that plugs into the Modular Agent Host. Install it, the Host picks it up, and agents get new capabilities — no downtime, no monolithic redeploy. Two agents are currently published.</p>
64-
<div class="two-package">
65-
<div class="package-card">
66-
<div class="head"><span>google-workspace-agent</span><span class="v">v0.2</span></div>
67-
<h3>Google Workspace</h3>
68-
<p>Gmail · Drive · Docs · Sheets · Slides · Calendar. 30+ tools.</p>
69-
</div>
70-
<div class="package-card">
71-
<div class="head"><span>microsoft-365-agent</span><span class="v">v0.2</span></div>
72-
<h3>Microsoft 365</h3>
73-
<p>Outlook · Calendar · OneDrive. 15+ tools via Microsoft Graph.</p>
74-
</div>
75-
</div>
62+
<p class="tagline">A contract between agents and the systems that run them.</p>
63+
<p class="sub">Pluggable agents are Python packages that any compliant host can load. The host hands the agent the resources it needs to do its work — model access, persistent state, tools, identity, an event loop — through a stable protocol. The agent declares what it does, what it needs, and what it exposes. The pattern is open source and the published set is intentionally small. It is a starter, not a catalog — most pluggable agents will be the ones you write.</p>
7664
</div>
7765
</section>
7866

7967
<div class="wrap">
80-
<div class="detail-section">
81-
<div class="lbl">§ 01 · Google Workspace</div>
68+
<div class="detail-section" id="contract">
69+
<div class="lbl">§ 01 · The contract</div>
8270
<div>
83-
<h2>Full Google Workspace, agent-accessible.</h2>
84-
<p>Gmail, Drive, Docs, Sheets, Slides, and Calendar — all callable by agents via a single registered modular agent. Service-account authentication with domain-wide delegation means agents act on behalf of real users, safely.</p>
71+
<h2>What the system gives. What the agent declares.</h2>
72+
<p>The pluggable-agent contract is small on purpose. The host is responsible for the runtime; the agent is responsible for the work. Both halves are stable and inspectable, which is what makes agents portable across hosts and hosts portable across agents.</p>
8573

86-
<h3>Capabilities</h3>
87-
<div class="caps-grid">
88-
<div class="cap"><b>Gmail</b>read · send · search</div>
89-
<div class="cap"><b>Drive</b>list · search · create · delete · share · move · copy · rename</div>
90-
<div class="cap"><b>Sheets</b>read · write · append · clear · create</div>
91-
<div class="cap"><b>Docs</b>read · write · create</div>
92-
<div class="cap"><b>Slides</b>get · create</div>
93-
<div class="cap"><b>Calendar</b>list · create · update · get events</div>
94-
</div>
74+
<h3>The host provides</h3>
75+
<ul>
76+
<li><b>Model access</b> — calls into the configured inference layer, with retries, budgets, and fallback handled outside the agent</li>
77+
<li><b>State</b> — persistent storage scoped to the agent, with lifecycle managed by the host</li>
78+
<li><b>Tools</b> — a tool registry the agent can call into, including tools published by other pluggable agents loaded in the same host</li>
79+
<li><b>Identity and secrets</b> — credentials and on-behalf-of context, loaded from the host's secret store rather than the agent's environment</li>
80+
<li><b>An event loop</b> — scheduled invocations, message arrivals, and lifecycle hooks delivered uniformly</li>
81+
</ul>
9582

96-
<h3>Stack</h3>
97-
<p>Python 3.12 · LangGraph · LangChain · google-api-python-client · asyncpg · Prometheus.</p>
83+
<h3>The agent declares</h3>
84+
<ul>
85+
<li><b>Entry point</b> — a Python entry point so the host discovers the agent on install</li>
86+
<li><b>Capabilities</b> — what the agent does, in machine-readable form, so the host can route work to it</li>
87+
<li><b>Required resources</b> — what the agent needs from the host: model class, state schema, secrets, scheduled triggers</li>
88+
<li><b>Exposed tools</b> — the callable surface the agent contributes back to the host's tool registry</li>
89+
</ul>
9890
</div>
9991
</div>
10092

101-
<div class="detail-section">
102-
<div class="lbl">§ 02 · Microsoft 365</div>
93+
<div class="detail-section" id="hosts">
94+
<div class="lbl">§ 02 · Hosts</div>
10395
<div>
104-
<h2>Full Microsoft 365, agent-accessible.</h2>
105-
<p>Outlook mail, Calendar, and OneDrive via the Microsoft Graph API. OAuth2 token lifecycle managed via MSAL.</p>
106-
107-
<h3>Capabilities</h3>
108-
<div class="caps-grid">
109-
<div class="cap"><b>Email</b>read · send · search · list folders · mark read</div>
110-
<div class="cap"><b>Calendar</b>list events · create · delete</div>
111-
<div class="cap"><b>OneDrive</b>list · upload · search · create folders · delete</div>
112-
<div class="cap"><b>Auth</b>OAuth2 flow · token status</div>
113-
</div>
114-
115-
<h3>Stack</h3>
116-
<p>Python 3.12 · LangGraph · LangChain · MSAL · httpx · asyncpg · Prometheus.</p>
96+
<h2>Anywhere the contract is satisfied.</h2>
97+
<p>The Modular Agent Host is the primary general-purpose host — it loads any number of pluggable agents and exposes them through an OpenAI-compatible endpoint and an MCP tool surface. But it isn't the only host on the platform.</p>
98+
<p>Every agentic service in the platform — Context Broker, Inference Broker, Development Cache, Observability Platform, Agentic File System, Conversation Broker — ships with its own <b>Imperator</b>, the on-board manager that can metacode parts of its own service. Each Imperator is itself a pluggable agent. The same contract that loads a Google Workspace agent into the Modular Agent Host also loads an Imperator into its service. That is what makes Imperators swappable, extendable, and testable in isolation.</p>
11799
</div>
118100
</div>
119101

120-
<div class="detail-section">
121-
<div class="lbl">§ 03 · Why "pluggable"</div>
102+
<div class="detail-section" id="why">
103+
<div class="lbl">§ 03 · Why pluggable</div>
122104
<div>
123105
<h2>Install and the host picks it up.</h2>
124-
<p>Because agents register with their host via Python entry points, you can:</p>
125106
<ul>
126-
<li>Install a new agent with <code style="background:var(--bg-raised); padding:2px 5px; font-family:var(--mono); font-size:0.9em;">pip install</code> — the host discovers it automatically</li>
127-
<li>Upgrade an agent without restarting the host</li>
128-
<li>Develop agents independently from the runtime they'll be hosted in</li>
129-
<li>Compose agents — a workflow can call Google Workspace, then Microsoft 365, then a custom internal agent, all in one conversation</li>
107+
<li>Install a new agent with <code style="background:var(--bg-raised); padding:2px 5px; font-family:var(--mono); font-size:0.9em;">pip install</code> — the host discovers it through entry points</li>
108+
<li>Hot-load — upgrade or replace an agent without restarting the host</li>
109+
<li>Develop independently from the runtime that will host it</li>
110+
<li>Compose — a workflow can chain agents from different packages in a single conversation</li>
130111
</ul>
131112
</div>
132113
</div>
133114

134-
<div class="detail-section" id="install">
135-
<div class="lbl">§ 04 · Install</div>
115+
<div class="detail-section" id="starter-set">
116+
<div class="lbl">§ 04 · Starter set</div>
136117
<div>
137-
<h2>Run them yourself.</h2>
138-
<div class="code"><span class="comment"># Requires Modular Agent Host already running</span>
139-
<span class="cmd">pip install</span> google-workspace-agent
140-
<span class="cmd">pip install</span> microsoft-365-agent
141-
142-
<span class="comment"># Restart not required — host discovers on install</span></div>
143-
<p>Documentation for each agent lives in its repository.</p>
118+
<h2>A handful, as reference.</h2>
119+
<p>Two pluggable agents are currently published as part of the open source project. They exercise the contract end-to-end against real, complex APIs and double as worked examples.</p>
120+
<div class="two-package">
121+
<div class="package-card">
122+
<div class="head"><span>google-workspace-agent</span><span class="v">v0.2</span></div>
123+
<h3>Google Workspace</h3>
124+
<p>Gmail, Drive, Docs, Sheets, Slides, Calendar — service-account auth with domain-wide delegation. 30+ tools.</p>
125+
</div>
126+
<div class="package-card">
127+
<div class="head"><span>microsoft-365-agent</span><span class="v">v0.2</span></div>
128+
<h3>Microsoft 365</h3>
129+
<p>Outlook, Calendar, OneDrive via Microsoft Graph. OAuth2 token lifecycle through MSAL. 15+ tools.</p>
130+
</div>
131+
</div>
132+
<p>Read them, fork them, modify them, replace them. They are intentionally small — most teams will write their own.</p>
144133
</div>
145134
</div>
146135

147-
<div class="detail-section">
136+
<div class="detail-section" id="build">
148137
<div class="lbl">§ 05 · Build your own</div>
149138
<div>
150-
<h2>Agents for your stack, too.</h2>
151-
<p>If you need an agent for <b>Slack, Jira, SharePoint, Salesforce, ServiceNow</b>, or your internal APIs — we build those as standard engagements. The modular-agent pattern makes it straightforward. The typical agent ships in a week or two depending on API complexity.</p>
139+
<h2>The system is the point.</h2>
140+
<p>The contract is small enough to implement in an afternoon for a new domain. Most of the work is whatever the domain itself requires — authentication, API quirks, schemas, rate limits. The Modular Agent Host and every Imperator slot are waiting on the other side, ready to load it.</p>
141+
<p>If you want one built — for Slack, Jira, SharePoint, Salesforce, ServiceNow, or your internal APIs — we do that on standard engagements. Typical pluggable agent ships in a week or two depending on API complexity.</p>
152142
<p style="margin-top:1rem"><a class="link" href="../index.html#contact" style="color:var(--accent); border-bottom:1px solid var(--accent); padding-bottom:2px; font-weight:500;">Talk to us →</a></p>
153143
</div>
154144
</div>

0 commit comments

Comments
 (0)