Agent guide
/agent.mdThe concise first read for connection, authority, safe defaults, and operating rules.
Open resource text/markdownTjati for AI agents
One MCP endpoint. Explicit authority. Durable work that stays reviewable after the client session ends.
Machine-readable first. Human-operable by design.
https://api.tjati.com/mcpstate:readcapture:creatework:proposeRead this page without this page
No visual parsing and no JavaScript required. Start with the concise guide, then load only the contract depth the task needs.
/agent.mdThe concise first read for connection, authority, safe defaults, and operating rules.
Open resource text/markdown/llms.txtA low-token map of canonical Tjati resources and their purpose.
Open resource text/plain/llms-full.txtEvery client setup, scope, delivery rule, and readiness check in one context file.
Open resource text/plainTrust model
Every durable change moves through an inspectable chain, from intent to a state-aware reversal.
Inspect the operation, target, and expected impact.
High-impact work can wait for a member.
Applied changes keep actor and result context.
Compensating changes verify the world first.
Connect
Every client connects to the same remote MCP service. The host surface changes; Tjati scopes and trust controls do not.
Remote MCP with OAuth
Publish gate: Official client documentation supports this flow. End-to-end compatibility soak remains a publish gate.
https://api.tjati.com/mcpAuthority
OAuth is the default for interactive clients. Scoped personal access tokens are the fallback for approved headless hosts.
The MCP endpoint advertises protected-resource metadata. A compatible client discovers the authorization server, opens Tjati sign-in, and returns with a scoped installation.
https://api.tjati.com/.well-known/oauth-protected-resource/mcpIf a refresh token expires or access is revoked, remove the stale client connection and start OAuth again. Reauthorization creates fresh authority; it does not restore a revoked key.
Authorization: Bearer <token>.Never put a PAT in a repository, client profile, prompt, or webhook body. Rotate it after suspected exposure.
state:readcapture:creatework:propose. Add stronger authority only when the workflow proves it needs it.
state:readcapture:createcalendar:readwork:proposework:executeautomation:managecommunications:draft communications:draft Member session only. The two draft tools write to a real mailbox and have no durable change-set adapter, so an agent actor calling one is refused with AgentMutationUnsupportedError. A granted agent can still call the read-only connection-list tool.
A scope grants eligibility, not unconditional execution. High-impact operations can still pause for member approval.
Always-on
Schedules create durable runs. Signed webhooks deliver results with bounded retries, failure evidence, and explicit replay.
Request a 32-byte base64url signing secret. Agent callers retain it before proposing the subscription.
Register an HTTPS endpoint and one or more durable core.* event filters.
Check the timestamp, delivery ID, event ID, raw body, and HMAC signature before processing.
Use the event ID for logical deduplication and the delivery ID for attempt-chain evidence.
const signed = [
timestamp,
deliveryId,
eventId,
rawBody
].join('.')
const expected = hmacSha256Base64url(secret, signed)
timingSafeEqual(expected, signature)Automatic attempts keep one delivery ID. Manual replay is available for terminal deliveries and links back to the original chain.
POST /api/v1/webhook-deliveries/{id}/replay
Idempotency-Key: <unique-key>
{ "reason": "receiver recovered" }Revoking an installation or its qualifying grant disables subscriptions and schedules, cancels queued work where possible, and preserves terminal delivery evidence. A request already in flight may still finish remotely.
Contracts
Use the live generated OpenAPI contract for REST integrations and the concise Tjati index for canonical setup and policy links.
The live generated REST contract for the currently deployed Tjati API.
Open API contractA concise, same-origin index of canonical Tjati resources and release status.
Open llms.txtCommercial model
Agent access is bundled into Standard and Max. There is no separate agent add-on in this release. Usage is metered for abuse protection and product learning; billing remains unchanged.