# Integration Guide

> How to use Attestix with LangChain, OpenAI Agents SDK, CrewAI, plain Python, and other MCP clients.

Attestix integrates with three agent frameworks as real (not example) integrations shipped in v0.3.0 (LangChain, OpenAI Agents SDK, and CrewAI) and with any MCP-compatible client through the generic MCP server. v0.4.0 is the current stable release; treat the integrations as you would any pre-1.0 OSS crypto stack and pin the version you depend on.

## Shipped integrations

<Cards>
  <Card href="/docs/guides/langchain" title="LangChain">
    First-party `BaseCallbackHandler`. Every tool call, LLM call, and chain step is attested.
  </Card>
  <Card href="/docs/guides/openai-agents-sdk" title="OpenAI Agents SDK">
    Native MCP server via `MCPServerStdio`. MCP tools discovered automatically.
  </Card>
  <Card href="/docs/guides/crewai" title="CrewAI">
    `MCPServerAdapter` per agent. Crew-wide compliance profile and UCAN hand-offs.
  </Card>
</Cards>

## Example integrations via MCP

Any MCP client can consume Attestix. The following ship with reference configs as example integrations, not production-certified:

- Dify / `mcp_servers` in the workflow config
- Google ADK / `McpClient` tool registration
- Microsoft Semantic Kernel / MCP plugin layer
- Strands / MCP runtime binding
- Claude Desktop, Cursor, Continue, Windsurf, VS Code

## As a plain Python library

You can import Attestix services directly without running the MCP server.

```python
from attestix.services.identity_service import IdentityService
from attestix.services.credential_service import CredentialService
from attestix.services.compliance_service import ComplianceService
from attestix.services.provenance_service import ProvenanceService

identity_svc = IdentityService()
credential_svc = CredentialService()
compliance_svc = ComplianceService()
provenance_svc = ProvenanceService()

agent = identity_svc.create_identity(
    display_name="quarterly-analyst-v2",
    source_protocol="manual",
    capabilities=["data_analysis", "reporting"],
    issuer_name="VibeTensor",
    expiry_days=365,
)
```

All services share the same Ed25519 signing key (auto-generated on first use) and the same JSON storage files.

## As an MCP server (stdio)

```json
{
  "mcpServers": {
    "attestix": {
      "command": "attestix",
      "args": ["mcp"]
    }
  }
}
```

## As an MCP server (HTTP)

```bash
attestix mcp --transport http --port 8501
```

Then connect any MCP client to `http://localhost:8501/mcp`.

## Next

- [MCP tool reference](/docs/reference/mcp-tools) / full 47-tool catalogue
- [Offline verify walkthrough](/docs/guides/offline-verify) / how regulators verify a VC
- [Base L2 testnet anchor walkthrough](/docs/guides/base-l2-anchor) / put artefact hashes on chain
