Liminate Authoring MCP
README.md
# Liminate Authoring MCP
Help your AI agent author the Agreements that govern it.
*Part of the Liminate family — trust infrastructure for autonomous AI, built on a [61-word prose-as-syntax language](https://github.com/rmichaelthomas/liminate).*
`liminate-mcp` is a standalone MCP server that lets AI agents validate, explain, draft, and test Liminate Agreements — and translate compliance documents into Agreement drafts via the Liminate platform. It never installs an Agreement. Installation onto an enforcement surface (like `~/.seshat/agreement.limn`) is always a human or Seshat-governed action, never this server's.
## Built by Liminate
| | Repo | What it does |
|---|---|---|
| | [seshat-app](https://github.com/rmichaelthomas/seshat-app) | Local agent harness. Enforces Agreements deny-by-default. |
| | [liminate](https://github.com/rmichaelthomas/liminate) | The language and interpreter. 61 words, deterministic execution, domain packs. |
| | [liminate-invariant](https://github.com/rmichaelthomas/liminate-invariant) | Semantic verification harness. Deterministic claim-verification correction loop. |
| **← this repo** | [**liminate-mcp**](https://github.com/rmichaelthomas/liminate-mcp) | **Authoring MCP server. Helps an agent write the Agreements that govern it.** |
→ [liminate.dev](https://liminate.dev)
## Tools
Five tools run entirely on your machine, against the local `liminate` interpreter — no network calls, no account required:
| Tool | Cost | What it does |
|---|---|---|
| `validate_agreement` | free | Parse and semantically check an Agreement. Errors vs. unbound evidence references, annotated separately. |
| `explain_clause` | free | Plain-English explanation per clause: verb, condition, rationale, temporal window, exception. |
| `draft_agreement` | free | Assemble an Agreement from structured rules, or return a vendored template. Always validates its own output. |
| `test_agreement` | free | Run an Agreement against sample evidence; returns a decision (`blocked` / `incomplete` / `needs_review` / `passed`). |
| `list_templates` | free | The five vendored Agreement templates: EDGAR revenue check, quarterly earnings brief, publication review, student assignment review, vendor invoice review. |
One tool calls the platform:
| Tool | Cost | What it does |
|---|---|---|
| `translate` | paid | Converts a compliance document (text/markdown/url) into an Agreement draft via the `liminate.dev` Translate API. Requires `LIMINATE_API_KEY` ([liminate.dev/keys](https://liminate.dev/keys)); bills against that account. Always returns a fidelity manifest — review it before installing the draft anywhere. |
## Install
Requires Python 3.11+.
```bash
pip install liminate-mcp
```
Or from source:
```bash
git clone https://github.com/rmichaelthomas/liminate-mcp.git
cd liminate-mcp
pip install -e ".[dev]"
pytest
```
### MCP client config
```json
{
"mcpServers": {
"liminate-authoring": {
"command": "liminate-mcp"
}
}
}
```
Set `LIMINATE_API_KEY` in your environment (or the MCP client's `env` block) to use `translate`. The five local tools work with no key and no network access.
## License
Apache 2.0. See [LICENSE](LICENSE).
---
*The interpreter is the trust root. Every draft is validated before it's handed back — never installed, never assumed.*
TDQS
A3.7/5.0
Scored across 6 tools
Disambiguation5/5
Each tool has a distinct purpose: drafting, explaining, listing templates, testing, translating, and validating. There is no overlap or ambiguity in their functions.
Naming Consistency4/5
Most tools follow a verb_noun pattern (e.g., draft_agreement, explain_clause), but 'translate' is a single verb without a noun, deviating slightly from the convention.
Tool Count5/5
With 6 tools covering creation, validation, testing, explanation, template listing, and document translation, the count is well-scoped for an authoring server.
Completeness3/5
The set covers core authoring operations but lacks tools for retrieving or managing existing agreements (e.g., list_agreements, get_agreement), leaving a notable gap in the lifecycle.
Maintenance
ActivityInactive
ResponsivenessNo issues