# Chainfill > Enterprise document processing platform for freight and logistics operations. Chainfill extracts data from transport documents, validates it against customer rules, and exports structured results into customer systems. ## For Chainfill Users' Own Agents - Agent kit (AGENTS.md and skills, as JSON): /api/agent-kit - AGENTS.md with Chainfill context: /agent-kit/AGENTS.md - Hosted MCP server (OAuth, no token): https://api.chainfill.ai/mcp - Hosted MCP setup steps per AI client, for people: https://www.chainfill.ai/en/mcp (Dutch: https://www.chainfill.ai/nl/mcp) ## Agent Entry Points - Full agent guide: /llms-full.txt - Machine-readable manifest: /agents.json - Local MCP server (operators and scripts, `cf` CLI profile): `cf --profile mcp serve` - Which MCP to use: /docs/agents/how-to-use.md#hosted-mcp-vs-local-cf-mcp - CLI package: cli - Agent docs: /docs/agents/README.md - Usage guide: /docs/agents/how-to-use.md - Action contract: /docs/agents/action-contract.md - Evaluation harness: /docs/agents/evals.md ## Preferred Agent Order 1. Use an MCP server. From an AI client acting for a Chainfill user, use the hosted server (browser OAuth; calls run within the user's role in the team, so the tool list only shows what that role allows and other calls return `not_permitted`; every tool takes a `team` argument, required when the connection has several chosen teams, and on a partner's or Chainfill staff all-teams connection it falls back to the team the user has open in Chainfill; `search_tools` and `call_tool` reach tools outside the short list). As an operator or script, use the local `cf` server when `cf --profile mcp doctor --json` reports it healthy. 2. On the local `cf` server, use `cli.search`, `cli.describe`, and `cli.execute` for operations outside its typed fast path; they cover every visible `cf` command, including writes. 3. Use REST/OpenAPI for integration code. 4. Use browser automation only for visual verification or missing API coverage. ## Safety Rules - Default writes to `local` or `preview`. - Use `--document-purpose testing` for test uploads. - Treat admin impersonation, resend/export, approval, and workflow resume as privileged actions. - Poll status endpoints until terminal state. - Stop on ambiguous company, user, document, endpoint, or production target. ## High-Value Workflows - Reupload test documents: /docs/agents/playbooks/reupload-test-documents.md - Debug document processing: /docs/agents/playbooks/debug-document-processing.md - Retry export delivery: /docs/agents/playbooks/retry-export-delivery.md - Custom table inbound API: /docs/agents/playbooks/custom-table-inbound-api.md - Inspect company configuration: /docs/agents/playbooks/inspect-company-configuration.md