# Inistate — how to use (mcp.ai)

Connect your Inistate account and use 12 tools for app builder straight from your AI agent. Connect with your own API key. Inistate is a workspace platform for building workflow and record-management applications, configuring modules, managing entries and activities, auditing changes, and handling files.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_inistate?ms=1787293560000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `inistate_bulk_change_entry_states`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/inistate`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/inistate/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/inistate/bulk/change/entry/states` — Request state transitions for 1-100 entries in one module. Inistate processes items sequentially and returns fail-soft per-item results; low confidence may flag and suppress individual transitions.
  - body: { items: object[], ai_model: string, ai_sources?: object[], module_name: string, ai_reasoning: string, workspace_id: string, ai_confidence: number }
- `POST https://api.mcp.ai/api/inistate/bulk/update/entries` — Update fields on 1-100 entries in one module. Inistate processes items sequentially and returns fail-soft per-item results, so one failure does not roll back or stop the remaining updates.
  - body: { items: object[], ai_model: string, ai_sources?: object[], module_name: string, ai_reasoning: string, workspace_id: string, ai_confidence: number }
- `POST https://api.mcp.ai/api/inistate/change/entry/state` — Request a state transition for one module record; low confidence can flag the result and suppress the transition.
  - body: { state: string, ai_model: string, entry_id: string|integer, ai_sources?: object[], module_name: string, ai_reasoning: string, workspace_id: string, ai_confidence: number }
- `POST https://api.mcp.ai/api/inistate/create/entry` — Create one record in a module through its create activity and return whether low confidence caused it to be flagged.
  - body: { input: object, ai_model: string, ai_sources?: object[], module_name: string, ai_reasoning: string, workspace_id: string, ai_confidence: number }
- `POST https://api.mcp.ai/api/inistate/get/activity/form` — Get the required fields, current values, options, defaults, and confidence threshold for a module activity before submitting it.
  - body: { activity: string, entry_id?: string|integer, module_name: string, workspace_id: string }
- `POST https://api.mcp.ai/api/inistate/get/entry` — Get one module record by ID, including its current values, state, audit metadata, and available activities.
  - body: { entry_id: string|integer, module_name: string, workspace_id: string }
- `POST https://api.mcp.ai/api/inistate/get/entry/history` — Return one chronological 50-item page of a record's audit trail, comments, field changes, and AI traceability context. Pagination is explicit and zero-based because Inistate does not document a contin
  - body: { page?: integer, entry_id: string|integer, module_name: string, workspace_id: string }
- `POST https://api.mcp.ai/api/inistate/get/module/schema` — Get a module's fields and states, optionally including its activities and flows, before querying or changing records.
  - body: { detail?: string, module_name: string, workspace_id: string }
- `POST https://api.mcp.ai/api/inistate/list/entries` — Return one page of records from a module using a saved listing, field filters, search, sorting, and field projection.
  - body: { state?: string, fields?: string[], search?: string, filters?: object|object[], listing?: string, sort_by?: string, page_size?: integer, module_name: string, next_cursor?: string, workspace_id: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/inistate/list/modules` — List modules available in a workspace so their exact names can be used in schema and record tools.
  - body: { workspace_id: string }
- `POST https://api.mcp.ai/api/inistate/list/workspaces` — List workspaces accessible to the connected API key, optionally filtering by workspace name.
  - body: { search?: string }
- `POST https://api.mcp.ai/api/inistate/update/entry` — Update fields on one existing module record through its edit activity and return whether low confidence caused it to be flagged.
  - body: { input: object, ai_model: string, entry_id: string|integer, ai_sources?: object[], module_name: string, ai_reasoning: string, workspace_id: string, ai_confidence: number }

## Example prompts
- "What can I do in Inistate?"
- "Show me a summary of my Inistate account"

## More
- Page: https://mcp.ai/inistate
- Agent spec (llms.txt): https://mcp.ai/inistate/llms.txt
- Postman collection: https://mcp.ai/inistate/postman.json
