Connectors

Put any system behind the proxy.

A connector is just an MCP server, and Aggrete governs any MCP server, so adding a system is not a plugin you wait for: reads map to a policy domain, writes are named with a write verb and governed as egress. The connector SDK removes the boilerplate, and Google Drive ships as the folder-fenced reference.

# a connector in ~20 lines, on aggrete.connectors.base
from aggrete.connectors.base import Connector

c = Connector("crm")

@c.read("search_accounts", "Search CRM accounts by name.")
def search(query): return my_crm.search(query)

@c.write("create_note", "Add a note to an account.")
def create_note(account_id, text): return my_crm.add_note(account_id, text)

c.run()   # .write() refuses a name with no write verb, which is what keeps it governed
open source

Build your own

The SDK, the guide and the Drive reference are Apache-2.0. Map the tools to a domain in proxy.config.yaml and the code of conduct governs them like the built-ins.

# the full guide + a copy-paste template
docs/CONNECTORS.md
examples/connectors/
included

Connectors in the box

Slack, GitHub, Drive, Jira, Salesforce and Notion ship in the package, governed by the same packs as the built-ins. Confluence, Microsoft 365, ServiceNow, Box and Zendesk are next.

# included connectors
slack__post_legal      → egress
github__create_issue_* → egress