Metadata-Version: 2.4
Name: mnki
Version: 0.1.6
Summary: mnki — the Agent Trust SDK for Python: give an AI agent an identity, verify its authority with evidence, delegate, attest, sign requests (Agent-Proof).
License: Apache-2.0
Project-URL: Homepage, https://mnki.com
Project-URL: Repository, https://github.com/MNKIAgentOS/agent-trust
Keywords: ai-agents,agent-security,authorization,delegation,mcp,a2a,authzen,spiffe
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: signing
Requires-Dist: cryptography>=42; extra == "signing"
Provides-Extra: httpx
Requires-Dist: httpx>=0.27; extra == "httpx"
Provides-Extra: openai-agents
Requires-Dist: openai-agents>=0.1; extra == "openai-agents"
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.3; extra == "langchain"
Provides-Extra: crewai
Requires-Dist: crewai>=0.80; extra == "crewai"
Provides-Extra: pydantic-ai
Requires-Dist: pydantic-ai>=0.1; extra == "pydantic-ai"

# mnki (Python)

```bash
pip install mnki            # verify, delegate, attest — no dependencies
pip install "mnki[signing]" # Agent-Proof signing with a local key
```

```python
from mnki import AgentTrustClient, AgentIdentity

c = AgentTrustClient("https://mnki.com", api_key="at_verify_…")
d = c.verify({"agent": "invoice-agent", "action": "refund.create", "amount": 420, "currency": "EUR"})
print(d["decision"], [e["title"] for e in d["evidence"]])
```

Local mode (no account) runs the same pipeline as the control plane, in-process, validated against the conformance vectors:

```python
from mnki import Guard, Denied, demo_world
g = Guard(world=demo_world(), agent="invoice-agent", action_prefix="", mode="observe")   # observe → warn → require_approval → enforce

@g.wrap("refund.create")
def refund(customer_id: str, amount: float, currency: str = "EUR"): ...
```

Framework adapters (the framework is imported lazily, never required): `mnki.adapters.openai_agents`, `.langchain`,
`.crewai`, `.pydantic_ai` — each exposes `guard_tools(guard, tools)`; refusals come back to the model as
`{"error": "denied", "reasons": [...], "evidence": [...]}` or raise with `on_refused="throw"`. Extras:
`pip install "mnki[openai-agents]"`, `[langchain]`, `[crewai]`, `[pydantic-ai]`, `[httpx]`.

`agent_trust` remains importable as a deprecated alias for one minor version. Apache-2.0.
