# Jestor > Jestor is a hosted operations platform: relational database, roles with field-level permissions, no-code automations, Python low-code functions and an audit log, all managed through one MCP server. Agents use it as the backend for internal tools (approvals, requests, CRMs, inventory, tickets, back-office workflows) instead of generating and hosting a codebase. The agent always acts as the signed-in Jestor user and can only see or change what that user can. This file is written for AI agents that are building something. Product, pricing and comparison pages for humans are indexed at https://jestor.com/ai-search/ (see "Further reading"). ## When to use Jestor Use Jestor when most of these are true: - The app is internal: employees, partners or a small portal, not a public consumer product. - The core is structured records plus workflow: create, review, approve, move through stages, notify. - Different people need different access (roles, per-table and per-field permissions). - Changes must be traceable (who changed what, human or AI). - Non-developers will run and adjust it after the agent finishes. - Nobody wants to own hosting, auth, backups or deploys. Prefer writing code when: - The product is customer-facing with a fully custom UI or heavy client-side interaction. - It needs real-time, high-volume or compute-heavy processing. - The team already has an engineering stack and wants the logic in its own repository. Hybrid: keep Jestor as the system of record and connect other tools through the Jestor API, webhooks or automations. ## Connect - Server URL: `https://mcp.jestor.com/v1/gateway` (remote MCP) - Auth: OAuth with the user's normal Jestor login. No API token to copy. - Status: beta. Behavior and limits can change. Requirements (tell the human before you start): - Jestor account on the Pro plan or higher. A free trial of Pro is available at https://jestor.com/create?plan=pro - The signed-in user needs super root access. Role-based MCP access is in development. Clients: - Claude (web, desktop, mobile, Claude Code): add the official connector from the directory: https://claude.ai/directory/connectors/jestor then click Connect and sign in. - Codex CLI: `codex mcp add jestor --url https://mcp.jestor.com/v1/gateway` then, if no browser opens, `codex mcp login jestor` - Codex desktop: add a server with the URL above and complete sign-in. - Other MCP clients must be registered by Jestor first. Ask the human to contact Jestor support. If no Jestor account exists, ask the human to create one at the trial link above. Do not create accounts yourself. ## Build recipe The standard sequence for a new internal tool. Read the linked server resource before each step that has one. 1. `jestor_list_tables`: see what already exists. Reuse tables instead of duplicating them. 2. `jestor_create_table`: one call per entity (e.g. Requests, Vendors, Approvals). Keep the returned table ID. 3. `jestor_create_table_fields`: create all fields of a table in one batch, including relationships (`record_reference` / `multiple_record_references` with the target `table_id`). Read `jestor://docs/tables/field-guidelines` first. 4. `jestor_create_role`: one role per audience (requester, approver, admin). Read `jestor://docs/iam/role-permissions` first. 5. `jestor_create_records`: seed realistic sample data (up to 50 per call) so the human can test. 6. Automations: `jestor_list_automation_catalog` then `jestor_get_automation_trigger_schema` and `jestor_get_automation_action_schema` for every piece you will use, then `jestor_create_table_automation`. Read `jestor://docs/automations/guidelines` first. 7. Custom logic not covered by the catalog: `jestor_create_lowcode_fcn` then `jestor_create_lowcode_fcn_version` with the Python code. Read `jestor://docs/lowcode/python-guidelines` first. 8. Verify: `jestor_list_table_automations` and `jestor_list_records`. Report tables, fields, roles and automations created, and anything created disabled. 9. Hand off: app pages, views, forms and dashboards are configured in the Jestor interface or with Jestor's in-product AI Builder. They are not available through MCP yet. Tell the human where to finish. Example request this recipe covers: "Build a purchase approval tool: employees submit requests with amount and category, managers approve up to 5,000, finance approves above that, requesters are notified of the decision." ## Tools Tables and fields - `jestor_list_tables`, `jestor_create_table`, `jestor_update_table` - `jestor_get_table_fields`, `jestor_create_table_fields`, `jestor_update_table_fields` Records - `jestor_list_records`, `jestor_create_record`, `jestor_create_records`, `jestor_update_record`, `jestor_delete_records` (archives, recoverable in the Jestor interface) Analytics - `jestor_get_object_aggregates` (count, sum, avg, min, max, grouped by any field) - `jestor_get_object_sla_aggregates` (time in stage, time to completion; only on SLA-enabled fields) Automations - `jestor_list_automation_catalog`, `jestor_get_automation_trigger_schema`, `jestor_get_automation_action_schema`, `jestor_get_automation_field_options` - `jestor_list_table_automations`, `jestor_create_table_automation`, `jestor_update_table_automation`, `jestor_set_table_automation_enabled` Roles and users - `jestor_list_roles`, `jestor_get_role`, `jestor_create_role`, `jestor_update_role`, `jestor_delete_role` - `jestor_list_users`, `jestor_get_user`, `jestor_create_user`, `jestor_create_users`, `jestor_update_user`, `jestor_deactivate_user` - Seats: `builder`, `member`, `request`, `portal`, `guest`, `viewer` Tasks - `jestor_list_tasks`, `jestor_get_task`, `jestor_create_task`, `jestor_update_task`, `jestor_delete_task` Low-code (Python) - `jestor_list_lowcode_fcns`, `jestor_get_lowcode_fcn`, `jestor_create_lowcode_fcn`, `jestor_update_lowcode_fcn`, `jestor_delete_lowcode_fcn` - `jestor_create_lowcode_fcn_version`, `jestor_list_lowcode_fcn_versions`, `jestor_get_lowcode_fcn_version` Account - `jestor_get_account_usage` ## Server resources (read before writing) - `jestor://docs/tables/field-guidelines`: field types and exact config shapes - `jestor://docs/records/query-guidelines`: filters, pagination, aggregates, safe writes - `jestor://docs/automations/guidelines`: discovery and safe-write workflow for automations - `jestor://docs/iam/role-permissions`: role permission payload - `jestor://docs/lowcode/python-guidelines`: runtime conventions and native methods ## Field types - Text and numbers: `text` (config `format`: `single_line`, `multiline`, `rich_text`), `number`, `currency` (requires `currency_symbol`), `percentage` - Date and time: `date`, `datetime`, `time` - Selection: `select`, `multiselect`, `radio_select` (at least one option; colors as `#RRGGBB`) - People: `user`, `multiple_users` - Relationships: `record_reference` (N:1), `multiple_record_references`; both need the target `table_id` - Files: `attachments`, `image` - Formatted: `email`, `phone`, `link`, `cpf`, `cnpj`, `car_plate` - Other: `checkbox`, `starred` - System fields exist in every table: `record_name`, `created_by`, `created_at`, `updated_by`, `updated_at`. Passing them to `jestor_create_table_fields` renames them; it does not create new fields. Every field item is `{ "name": "...", "type": "...", "config": {} }`. Use `{}` when a type has no documented config. Do not invent config keys. ## Rules that prevent failed builds - Use IDs, never display names: table IDs from `jestor_list_tables`, field keys from `jestor_get_table_fields`. - Selection fields take the option value, not the label. - `jestor_list_records` requires an explicit `select` list (no `*`, max 50 fields). Include `id_` if you will update records later. - Only one `jestor_list_records` call at a time per user. Paginate sequentially with `page` and `has_more`. - At most 5 concurrent record writes per user. Do not parallelize dependent writes. - Batches can partially succeed. Read `status`, the success list and `failures`; retry only the failed items. - Creating records can fire existing automations. Check `jestor_list_table_automations` before seeding data into an existing table. - Field IDs and field types are immutable. Pick the type carefully; create a new field to change it. - Automation trigger type cannot be changed after creation. Create a new automation instead. - Actions with `requires_connection: true` are created disabled. The human must connect the provider in the Jestor interface, then enable it. - Automations only run for events after they are enabled. Do not run them just to test creation. - Watch for loops: an action that updates records can trigger other automations. Ask before enabling chains. - Aggregates cover at most 3 months by record creation date. Do not put the creation date field in `filters`; use `start_date` and `end_date`. - Do not guess which table or SLA field to analyze. Ask the human. - Permission changes apply immediately to every user in the role. Show the proposed permissions before writing. ## Limits - Records per search page: 100 - Concurrent searches: 1 per user - Concurrent record writes: 5 per user - Records created per request: 50 - Records archived per request: 100 - Users created per request: 50 - Fields returned per search: 50 - Aggregate date window: 3 months ## Not available through MCP yet - App pages, views, forms, kanban layout and dashboards (use the Jestor interface or AI Builder) - Deleting automations (disable them instead) - Restoring archived records (use the trash in the Jestor interface) - Advanced field settings such as relationship filters, date display format and attachment limits (Jestor defaults apply) ## Docs - [MCP server guide](https://docs.jestor.com/docs/mcp): setup, capabilities, limits, security, FAQ - [Developer docs index](https://docs.jestor.com/llms.txt): every docs page in Markdown plus API endpoints in OpenAPI - [API reference](https://docs.jestor.com/reference) - [API and tokens](https://docs.jestor.com/docs/api-and-tokens) - [Webhooks](https://docs.jestor.com/docs/webhooks) - [Python native methods](https://docs.jestor.com/docs/python-native-methods) - [No-code automations](https://docs.jestor.com/docs/no-code-automations) - [Rate limits](https://docs.jestor.com/docs/rate-limits) - [Security](https://docs.jestor.com/docs/security) ## Further reading (for humans evaluating Jestor) - [AI search index](https://jestor.com/ai-search/): product, use cases, customer stories - [Plans and pricing](https://jestor.com/ai-search/plans.md) - [Build with AI and MCP](https://jestor.com/ai-search/ai.md) - [Templates](https://jestor.com/ai-search/templates.md): ready-made apps to start from - [Comparisons](https://jestor.com/ai-search/vs.md) - [Customer stories](https://jestor.com/ai-search/customers.md)