The runtime agent
An agent that operates the business workflow — opens a repair job, gets a parts basket, places and confirms an order, reconciles the invoice. It connects the Rails MCP and calls intent-level tools. It never writes HTTP by hand.
Partifact is a working demonstration that an API can be designed for AI agents as first-class consumers. It is a faithful mock of a real automotive parts-procurement Integrations API — the “Rails” platform, 2026-01 contract — wrapped in the developer surfaces an API needs in 2026: a typed SDK, machine-readable docs, and two MCP servers.
The claim it makes is concrete:
AI agents are a new class of API consumer. They install your API, read your docs, reason about your contract, and call your endpoints — but they are neither a human reading a portal nor a hand-written SDK. Design for them as first-class consumers and the same API serves two audiences at once.
So Partifact serves both. A human reads these pages. An agent connects an MCP and either operates the procurement lifecycle or builds an integration against the API — and that agent’s unaided success is the actual test.
The runtime agent
An agent that operates the business workflow — opens a repair job, gets a parts basket, places and confirms an order, reconciles the invoice. It connects the Rails MCP and calls intent-level tools. It never writes HTTP by hand.
The integration developer
An agent (or a human pairing with one) that builds a client against the API —
a webhook receiver, an SDK, a sync job. It reads the API docs
and /openapi.json, or queries the Docs MCP, and writes code.
| Piece | What it is | Where |
|---|---|---|
| Mock API | A faithful mock of the 2026-01 contract — RPC-over-POST, OAuth install, signed webhooks, typed OpenAPI. | partifact-mock-rails.thanhvuttv.workers.dev |
| Typed SDK | A hand-written, contract-derived TypeScript client (repairer.jobs.insert(...)), mirroring generated-SDK ergonomics. | in the repo |
| Rails MCP | The headline: 13 intent-level tools + 8 resources that drive the lifecycle, built on the SDK. | Connect → |
| Docs MCP | The docs exposed as 3 read-only tools. Public. | Connect → |
| Docs portal | One markdown source rendered for humans and agents (/llms.txt, raw .md, /openapi.json). | API reference ↗ |
All three servers are live on Cloudflare Workers — you can connect and test without cloning or building anything.
Calibrated honesty is the point, not a disclaimer. Three lines are held everywhere, including inside the tools and docs themselves:
currency_code on the procurement. If you read a currency off a basket offer, you are inventing it.This is faithful to the API’s shape — endpoint names, headers, auth flow, error model, webhook signing, date-versioning — and deliberately not a reproduction of a production stack (Rust / Kafka / ScyllaDB), which would be neither necessary nor honest to fake.