Home of the Agent Profile Protocol — a declarative, portable description of the
manipulation layer between an agent client and the upstream MCP servers a host has
connected to. A profile attaches transforms, processors, and guardrails to one or more
MCP connections via a matches block, expressed as a multi-document YAML stream.
The protocol is lifted out of what Civic MCP implements today in code and DB rows, so:
- configuration can be imported/exported as one file,
- hosts can adopt subsets (e.g. just guardrails),
- external implementers — including future non-MCP transports — have a target to build against.
The protocol is deliberately scoped to manipulation and persistence: it does not cover connection setup, transport, or credential acquisition flows. It does declare where credentials are persisted (file, authz-api, …) so a profile can move between deployments without rewriting everything else.
The current draft is in spec/. Start there.
Sections (read in order if you're new to it):
- 00 - Principles, terminology, ordering
- 01 - Matching
- 02 - Tool transforms
- 03 - Pre- and post-processors
- 04 - Guardrails
- 05 - Credentials
- 06 - Execution chain
- 07 - Examples
Draft (apiVersion: civic.com/agent-profile/v1alpha1). This repo is the authoritative
source for the spec.