---
title: "Mitti MCP server for AI agents - actionlake"
description: "Give Claude 415 Mitti actions through one MCP server: assets, feeds, investigations, actions. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/mitti
updated: 2026-10-22
---

Connectors · Work & projects

# Mitti MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Mitti and the rest of your systems. It gives your agent 415 Mitti actions (202 reads, 164 writes and 49 that wait for a confirmation) and holds the Mitti credential itself, so the agent never does. It paces Mitti's limits and records every call.

[Connect Mitti free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "mitti.users.list_users",
  intent: "check which Mitti account is connected"
}
# List users · read · 1 upstream call
```

- 415 actions in one signed file
- 202 read look, never change
- 164 write create and update
- 49 wait for a yes destructive, confirmed first

Set up

## Connect Mitti in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Mitti.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_token` Mitti API token: a service user API token (recommended for integrations) or a user API token, created in Mitti under…
   ```
   account { op: "connections.requirements", service: "mitti" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "mitti.users.list_users" }
   # list users · read · 1 upstream call
   check { action: "mitti.assets.create_asset", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Mitti at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_token`

**Limits we pace to**

800 calls a minute, per connection

**API covered**

Mitti API v1.350.11 (OpenAPI 3.1.0)`api.mitti.com`

**Built from**

Mitti's documentation, read 22 October 2026[dash.readme.com](https://dash.readme.com/api/v1/api-registry/cmnh6za9mvj44xg9) [developer.mitti.com](https://developer.mitti.com/reference/introduction)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

193 of 202 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

9, so ask can line Mitti up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Mitti.

415 actions in 26 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **202** read look, never change
- **164** write create and update
- **49** destructive wait for a confirmation

1. ### Assets
   45
   15 read · 22 write · 8 destructive
   List assets · List asset types · Create an asset · Get full detail information of an asset
2. ### Feeds
   40
   40 read · 0 write · 0 destructive
   Data feed for credential types · Data feed for credentials · Data feed for action assignees · Data feed for action fields
3. ### Investigations
   38
   22 read · 13 write · 3 destructive
   List Investigations · Create Investigation · Get Investigation · Update Investigation
4. ### Actions
   33
   8 read · 19 write · 6 destructive
   List actions · Create an action · Get an Action · Create an action with recurring schedule
5. ### Inspections
   31
   7 read · 20 write · 4 destructive
   Add table line · Clone an inspection · Create inspection · Generate a dynamic field (repeated section)
6. ### Issues
   24
   8 read · 14 write · 2 destructive
   List Issues · Create Issue · Get Issue · Add Issue assignee
7. ### Training
   24
   22 read · 2 write · 0 destructive
   Get collections · Get Course Statistics · Get courses · Get courses by collection
8. ### Users
   23
   9 read · 12 write · 2 destructive
   List users · Get a user (legacy) · Create a user (legacy) · Create a user field

**18 more areas · 157 actions**

- Sites **16**
- Credentials **14**
- Osha **14**
- Companies **12**
- Schedules **12**
- Structures **12**
- Templates **12**
- Apps **10**
- Documents **10**
- Groups **8**
- Response sets **8**
- Sensors **7**
- Webhooks **7**
- Heads up **5**
- Schedules legacy **4**
- Roles **3**
- Lone worker **2**
- Media **1**

Top actions

## The Mitti API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 38 of Mitti's 38 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `mitti.users.list_users` List users | List users. | read | `identity.user.list` 474 connectors |
| `mitti.assets.list_assets` List assets | List assets. | read | `asset.asset.list` 42 connectors |
| `mitti.assets.list_types` List asset types | List asset types. | read | `asset.asset_type.list` 11 connectors |
| `mitti.groups.list_groups` List groups | List groups. | read | `identity.group.list` 262 connectors |
| `mitti.actions.get_actions` List actions | List actions. | read | `work.task.list` 122 connectors |
| `mitti.users.get_user_legacy` Get a user (legacy) | Get a user (legacy). | read | `identity.user.get` 399 connectors |
| `mitti.assets.create_asset` Create an asset | Create an asset. | write | `asset.asset.create` 27 connectors |
| `mitti.issues.get_incidents` List Issues | List Issues. | read | `service.ticket.list` 56 connectors |
| `mitti.groups.create_group` Create a group | Create a group. | write | `identity.group.create` 205 connectors |
| `mitti.actions.create_action` Create an action | Create an action. | write | `work.task.create` 127 connectors |
| `mitti.assets.create_type` Create an asset type | Create an asset type. | write | `asset.asset_type.create` 7 connectors |
| `mitti.assets.delete_asset` Delete an asset | Delete an asset. | destructive | `asset.asset.delete` 26 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Mitti actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Mitti tickets have been open the longest? Show me the ten oldest with their status.
   calls `mitti.issues.get_incidents`
2. Write write
   Create an asset in Mitti. Show me exactly what you will send before you save it.
   calls `mitti.assets.create_asset`
3. Across systems read
   Which Mitti companies have invoices in ConnectWise PSA, and how many each?
   calls `mitti.companies.list_contractor_companies` `connectwise_manage.invoices.list`

Across your systems

## Mitti, joined to the rest of your business.

One `ask` fetches from Mitti and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Mitti companies have invoices in ConnectWise PSA, and how many each?
  `mitti.companies.list_contractor_companies` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- Which Mitti companies have invoices in NetSuite, and how many each?
  `mitti.companies.list_contractor_companies` + `netsuite.views.invoices`, on `crm.company` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `identity.group` **239** `crm.company` **227** `work.task` **105** `service.ticket` **62** `asset.asset` **40** `content.folder` **38** `monitoring.incident` **27**

ask

```
ask {
  intent: "which Mitti companies have invoices in ConnectWise PSA, and how many each",
  steps: [
    { action: "mitti.companies.list_contractor_companies", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Mitti

## Destructive actions wait for a yes.

49 Mitti actions are destructive. The first 10:

- Delete an asset `mitti.assets.delete_asset`
- Delete an asset type `mitti.assets.delete_type`
- Delete a company `mitti.companies.delete_contractor_company`
- Delete Investigation `mitti.investigations.delete_investigation`
- Delete a maintenance plan `mitti.assets.delete_plan`
- Delete a user field `mitti.users.delete_field`
- Delete an asset field `mitti.assets.delete_field`
- Delete a maintenance program `mitti.assets.delete_program`
- Delete actions (Bulk) `mitti.actions.delete_actions`
- Delete Issues `mitti.issues.delete_incidents`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do mitti.assets.delete_asset confirm_policy: **human**

Delete an asset?

**intent:** the user asked me to delete an asset

run suspended · waiting for a named person · key _mitti-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "mitti-agent",
  allowed_actions: ["mitti.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "mitti.assets.delete_asset", approver: "lead@example.com" },
    { match: "mitti.assets.delete_type", approver: "lead@example.com" },
    { match: "mitti.companies.delete_contractor_company", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Mitti only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Mitti costs on actionlake.

Every Mitti action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Mitti refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 415 Mitti actions
- 415 actions page each page of a long list is one call
- 193 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Mitti action.

415 actions by area: the id your agent calls, what it does, and its effect.

**Assets 45**

- `mitti.assets.add_asset_last_service` Add maintenance last service information to an asset write
- `mitti.assets.add_assets_to_program` Add assets to a maintenance program write
- `mitti.assets.add_status_group_to_asset_types` Add a status group to asset types write
- `mitti.assets.archive_asset` Archive an asset write
- `mitti.assets.bulk_create_assets` Create multiple assets write
- `mitti.assets.bulk_update_assets` Update multiple assets write
- `mitti.assets.create_asset` Create an asset write
- `mitti.assets.create_field` Create an asset field write
- `mitti.assets.create_plan` Create a maintenance plan write
- `mitti.assets.create_program` Create a maintenance program write
- `mitti.assets.create_status_group` Create a status group write
- `mitti.assets.create_type` Create an asset type write
- `mitti.assets.delete_asset` Delete an asset destructive
- `mitti.assets.delete_field` Delete an asset field destructive
- `mitti.assets.delete_plan` Delete a maintenance plan destructive
- `mitti.assets.delete_program` Delete a maintenance program destructive
- `mitti.assets.delete_status_group` Delete a status group destructive
- `mitti.assets.delete_type` Delete an asset type destructive
- `mitti.assets.get_asset` Get full detail information of an asset read
- `mitti.assets.get_asset_by_code` Get asset by code read
- `mitti.assets.get_program` Get a maintenance program read
- `mitti.assets.get_status_group` Get a status group read
- `mitti.assets.get_type` Get an asset type read
- `mitti.assets.list_asset_service_history` List asset service history read
- `mitti.assets.list_assets` List assets read
- `mitti.assets.list_assets_maintenance_details` List assets maintenance details read
- `mitti.assets.list_assets_maintenance_status_counts` Return the count of assets in each maintenance status read
- `mitti.assets.list_fields` List asset fields read
- `mitti.assets.list_programs_details` List maintenance program details read
- `mitti.assets.list_status_groups` List status groups read
- `mitti.assets.list_type_fields` List an asset type's asset field associations read
- `mitti.assets.list_types` List asset types read
- `mitti.assets.lookup_assets_by_field` Lookup assets by a field read
- `mitti.assets.remove_assets_from_program` Remove assets from a maintenance program destructive
- `mitti.assets.remove_status_group_from_asset_types` Remove a status group from asset types destructive
- `mitti.assets.restore_archived_asset` Restore an archived asset write
- `mitti.assets.set_asset_field_values` Set field values of an asset write
- `mitti.assets.update_asset` Update an asset write
- `mitti.assets.update_asset_location` Update asset location write
- `mitti.assets.update_field` Update an asset field write
- `mitti.assets.update_plan` Update a maintenance plan write
- `mitti.assets.update_program` Update a maintenance program write
- `mitti.assets.update_status_group` Update a status group write
- `mitti.assets.update_type` Update an asset type write
- `mitti.assets.update_type_fields` Update an asset type's asset field associations write

**Feeds 40**

- `mitti.feeds.credential_types` Data feed for credential types read
- `mitti.feeds.credentials` Data feed for credentials read
- `mitti.feeds.feed_action_assignees` Data feed for action assignees read
- `mitti.feeds.feed_action_fields` Data feed for action fields read
- `mitti.feeds.feed_action_fields_tasks` Data feed for action fields read
- `mitti.feeds.feed_action_timeline_items` Data feed for action timeline items read
- `mitti.feeds.feed_actions` Data feed for actions read
- `mitti.feeds.feed_activity_log_events` Data feed for activity log events read
- `mitti.feeds.feed_assets` Data feed for assets read
- `mitti.feeds.feed_assets_maintenance` Data feed for assets maintenance details read
- `mitti.feeds.feed_contractor_companies` Data feed for contractor companies read
- `mitti.feeds.feed_contractor_company_documents` Data feed for contractor company documents read
- `mitti.feeds.feed_contractor_company_user_memberships` Data feed for contractor company members read
- `mitti.feeds.feed_group_users` Data feed for group users read
- `mitti.feeds.feed_groups` Data feed for groups read
- `mitti.feeds.feed_inspection_items` Data feed for inspection items read
- `mitti.feeds.feed_inspections` Data feed for inspections read
- `mitti.feeds.feed_investigation_detail_fields` Data feed for investigation detail fields read
- `mitti.feeds.feed_investigation_fields` Data feed for investigation fields read
- `mitti.feeds.feed_investigation_relationships` Data feed for investigation relationships read
- `mitti.feeds.feed_investigations` Data feed for investigations read
- `mitti.feeds.feed_issue_assignees` Data feed for issue assignees read
- `mitti.feeds.feed_issue_relationships` Data feed for issue relations items read
- `mitti.feeds.feed_issue_timeline_items` Data feed for issue timeline items read
- `mitti.feeds.feed_issues` Data feed for issues read
- `mitti.feeds.feed_jobs` Data feed for Lone Worker jobs read
- `mitti.feeds.feed_maintenance_plans` Data feed for maintenance plans read
- `mitti.feeds.feed_maintenance_programs` Data feed for maintenance programs read
- `mitti.feeds.feed_schedule_assignees` Data feed for schedule assignees read
- `mitti.feeds.feed_schedule_assignees_legacy` Data feed for schedule assignees (legacy) read
- `mitti.feeds.feed_schedule_occurrences` Data feed for schedule occurrences read
- `mitti.feeds.feed_schedule_occurrences_legacy` Data feed for schedule occurrences (legacy) read
- `mitti.feeds.feed_schedules` Data feed for schedules read
- `mitti.feeds.feed_schedules_legacy` Data feed for Schedules (legacy) read
- `mitti.feeds.feed_site_members` Data feed for site members read
- `mitti.feeds.feed_sites` Data feed for sites read
- `mitti.feeds.feed_template_permissions` Data feed for template permissions read
- `mitti.feeds.feed_templates` Data feed for templates read
- `mitti.feeds.feed_training_course_progress` Data feed for Course Progress read
- `mitti.feeds.feed_users` Data feed for users read

**Investigations 38**

- `mitti.investigations.clone_category` Clone Category write
- `mitti.investigations.create_category` Create Category write
- `mitti.investigations.create_detail_field` Create Detail Field write
- `mitti.investigations.create_investigation` Create Investigation write
- `mitti.investigations.delete_category` Delete Category destructive
- `mitti.investigations.delete_detail_field` Delete Detail Field destructive
- `mitti.investigations.delete_investigation` Delete Investigation destructive
- `mitti.investigations.get_investigation` Get Investigation read
- `mitti.investigations.get_investigation_access` Get Investigation Access read
- `mitti.investigations.get_investigation_action_count` Get Investigation Actions read
- `mitti.investigations.get_investigation_course_count` Get Investigation Course Count read
- `mitti.investigations.get_investigation_inspection_count` Get Investigation Inspection Count read
- `mitti.investigations.get_investigation_issue_count` Get Investigation Issue Count read
- `mitti.investigations.get_investigation_media_count` Get Investigation Media Count read
- `mitti.investigations.get_investigation_pdf_report` Get Investigation PDF Report read
- `mitti.investigations.get_investigations_count` Get Investigations Count read
- `mitti.investigations.list_categories` List Categories read
- `mitti.investigations.list_category_detail_fields` List Category Detail Fields read
- `mitti.investigations.list_detail_field_library` List Detail Field Library read
- `mitti.investigations.list_fields` List Fields read
- `mitti.investigations.list_investigation_actions` List Investigation Actions read
- `mitti.investigations.list_investigation_courses` List Investigation Courses read
- `mitti.investigations.list_investigation_inspections` List Investigation Inspections read
- `mitti.investigations.list_investigation_issues` List Investigation Issues read
- `mitti.investigations.list_investigation_log` List Investigation Activity read
- `mitti.investigations.list_investigation_media` List Investigation Media read
- `mitti.investigations.list_investigations` List Investigations read
- `mitti.investigations.list_settings_log` List Settings Log Events read
- `mitti.investigations.list_statuses` List Statuses read
- `mitti.investigations.rename_detail_field` Rename Detail Field write
- `mitti.investigations.set_category_detail_fields` Set Category Detail Fields write
- `mitti.investigations.set_detail_field_options` Set Detail Field Options write
- `mitti.investigations.update_category` Update Category write
- `mitti.investigations.update_fields` Update Fields write
- `mitti.investigations.update_investigation` Update Investigation write
- `mitti.investigations.update_investigation_access` Update Investigation Access write
- `mitti.investigations.update_investigations` Update Investigations (bulk) write
- `mitti.investigations.update_statuses` Update Statuses write

**Actions 33**

- `mitti.actions.create_action` Create an action write
- `mitti.actions.create_action_schedule` Create an action with recurring schedule write
- `mitti.actions.create_action_shared_link` Create an action link write
- `mitti.actions.create_custom_field` Create a custom field and map it to a specific action type write
- `mitti.actions.create_task_type` Create an action type write
- `mitti.actions.delete_action_labels` Delete action labels destructive
- `mitti.actions.delete_actions` Delete actions (Bulk) destructive
- `mitti.actions.delete_custom_field` Delete a custom field destructive
- `mitti.actions.delete_task_type` Delete an action type destructive
- `mitti.actions.get_action` Get an Action read
- `mitti.actions.get_action_labels` Get all action labels read
- `mitti.actions.get_action_shared_link` Get an action link read
- `mitti.actions.get_actions` List actions read
- `mitti.actions.get_org_task_type_unmapped_fields` Get the custom fields not mapped to a specific action type read
- `mitti.actions.get_task_type` Get a single action type by id read
- `mitti.actions.get_task_type_custom_fields` Get all custom fields mapped to a specific action type read
- `mitti.actions.get_task_types` List all action types for the org read
- `mitti.actions.map_field_to_task_type` Map a field to an action type write
- `mitti.actions.rename_custom_field` Rename a custom field write
- `mitti.actions.rename_task_type` Rename an action type write
- `mitti.actions.revoke_action_shared_link` Delete an action link destructive
- `mitti.actions.unmap_field_from_task_type` Unmap a field from an action type destructive
- `mitti.actions.update_action_labels` Updates the labels associated with an action write
- `mitti.actions.update_asset` Update the asset of an action write
- `mitti.actions.update_assignees` Update the assignees of an action write
- `mitti.actions.update_description` Update the description of an action write
- `mitti.actions.update_due_at` Update the due date of an action write
- `mitti.actions.update_priority` Update the priority of an action write
- `mitti.actions.update_site` Update the site of an action write
- `mitti.actions.update_status` Update the status of an action write
- `mitti.actions.update_task_custom_field` Update a custom field for an Action write
- `mitti.actions.update_title` Update the title of an action write
- `mitti.actions.upsert_action_label` Create or update an action label write

**Inspections 31**

- `mitti.inspections.add_table_line` Add table line write
- `mitti.inspections.answer_asset` Answer an asset field question write
- `mitti.inspections.answer_checkbox` Answer a check box question write
- `mitti.inspections.archive_inspection` Archive an inspection write
- `mitti.inspections.clone_inspection` Clone an inspection write
- `mitti.inspections.complete_inspection` Complete inspection write
- `mitti.inspections.create_inspection` Create inspection write
- `mitti.inspections.delete_inspection` Delete an inspection destructive
- `mitti.inspections.delete_inspection_web_report_link` Delete inspection web report link destructive
- `mitti.inspections.delete_table_line` Delete table line destructive
- `mitti.inspections.generate_dynamic_field` Generate a dynamic field (repeated section) write
- `mitti.inspections.get_answers_for_inspection` Get answers from an inspection read
- `mitti.inspections.get_inspection` Get an inspection read
- `mitti.inspections.get_inspection_access` Get inspection access read
- `mitti.inspections.get_inspection_deep_link` Generate an inspection deep link write
- `mitti.inspections.get_inspection_details` Get details of an inspection read
- `mitti.inspections.get_inspection_legacy` Get an inspection (legacy) read
- `mitti.inspections.get_inspection_web_report_link` Get inspection web report link read
- `mitti.inspections.remove_inspection_user_access` Remove user access to an inspection destructive
- `mitti.inspections.restore_archived_inspection` Restore an archived inspection write
- `mitti.inspections.search_inspections` Search modified inspections read
- `mitti.inspections.set_inspection_access` Set inspection access write
- `mitti.inspections.set_inspection_location` Set an inspections start or finish location write
- `mitti.inspections.set_inspection_site` Set inspection site write
- `mitti.inspections.set_owner` Set inspection owner write
- `mitti.inspections.share_inspection` Share an inspection write
- `mitti.inspections.start_inspection` Start an inspection write
- `mitti.inspections.start_inspection_export` Export inspection to PDF or Word write
- `mitti.inspections.update_inspection` Update inspection write
- `mitti.inspections.update_inspection_legacy` Update an inspection write
- `mitti.inspections.update_table_line` Update table line write

**Issues 24**

- `mitti.issues.add_collaborators` Add Issue assignee write
- `mitti.issues.add_comment` Add comment to timeline write
- `mitti.issues.create_incident_legacy` Create Issue (legacy) write
- `mitti.issues.delete_incidents` Delete Issues destructive
- `mitti.issues.generate_for_web_report` Get Issue web report link write
- `mitti.issues.get_categories` List Categories read
- `mitti.issues.get_incident` Get Issue read
- `mitti.issues.get_incident_legacy` Get Issue (legacy) read
- `mitti.issues.get_incident_questions_and_answers` Get Issue questions and answers read
- `mitti.issues.get_incidents` List Issues read
- `mitti.issues.get_incidents_count` Get count of Issues read
- `mitti.issues.get_pdf_report` Export Issue to PDF read
- `mitti.issues.get_timeline` List timeline events read
- `mitti.issues.remove_collaborators` Remove Issue assignee destructive
- `mitti.issues.submit_incident` Create Issue write
- `mitti.issues.update_asset` Update Issue asset write
- `mitti.issues.update_category` Update Category write
- `mitti.issues.update_description` Update Issue description write
- `mitti.issues.update_due_at` Update Issue due date write
- `mitti.issues.update_occurred_at` Update Issue occurred at write
- `mitti.issues.update_priority` Update Issue priority write
- `mitti.issues.update_site` Update Issue site write
- `mitti.issues.update_status` Update Issue status write
- `mitti.issues.update_title` Update Issue title write

**Training 24**

- `mitti.training.get_course_collections` Get collections read
- `mitti.training.get_course_statistics` Get Course Statistics read
- `mitti.training.get_courses` Get courses read
- `mitti.training.get_courses_by_course_collection_id` Get courses by collection read
- `mitti.training.get_individual_leaderboard_rankings` Get individual leaderboard rankings read
- `mitti.training.get_individual_leaderboards` Get individual leaderboards read
- `mitti.training.get_lesson_attempts` Get Lesson Attempts read
- `mitti.training.get_lesson_by_id` Get lesson by ID read
- `mitti.training.get_lesson_progress_events` Get Lesson Progress Events read
- `mitti.training.get_lesson_statistics` Get Lesson Statistics read
- `mitti.training.get_lessons_by_course_id` Get lessons by course ID read
- `mitti.training.get_path_by_id` Get path by ID read
- `mitti.training.get_paths` Get paths read
- `mitti.training.get_rapid_refresh` Get rapid refresh read
- `mitti.training.get_rapid_refresh_answers` Get Rapid Refresh Answers read
- `mitti.training.get_rapid_refresh_by_id` Get rapid refresh by ID read
- `mitti.training.get_slide_statistics` Get Slide Statistics read
- `mitti.training.get_slide_user_statistics` Get Slide User Statistics read
- `mitti.training.get_survey_answers` Get Survey Answers read
- `mitti.training.get_survey_question_definitions` Get Survey Question Definitions read
- `mitti.training.get_user_lesson_progress` Get User Lesson Progress read
- `mitti.training.get_user_lesson_progress_events` Get User Lesson Progress Events read
- `mitti.training.reset_course_progress` Reset course progress write
- `mitti.training.update_course_assignments` Update course assignments write

**Users 23**

- `mitti.users.add_user_legacy` Create a user (legacy) write
- `mitti.users.assign_permission_set` Assign user to a permission set write
- `mitti.users.cancel_create_or_update_users_job` Cancel a create-or-update users job destructive
- `mitti.users.create_field` Create a user field write
- `mitti.users.create_or_update_users` Create or update users synchronously write
- `mitti.users.delete_field` Delete a user field destructive
- `mitti.users.disable_field` Archive a field write
- `mitti.users.get_create_or_update_users_job` Get a create-or-update users job read
- `mitti.users.get_permission_set` Get a permission set read
- `mitti.users.get_user_attributes` Get user attributes read
- `mitti.users.get_user_legacy` Get a user (legacy) read
- `mitti.users.init_create_or_update_users_job` Initialize a create-or-update users job write
- `mitti.users.list_create_or_update_users_jobs` List create-or-update users jobs read
- `mitti.users.list_fields` List user fields read
- `mitti.users.list_permission_sets` List permission sets read
- `mitti.users.list_users` List users read
- `mitti.users.restore_field` Restore an archived field write
- `mitti.users.search_users_legacy` List users by email (legacy) read
- `mitti.users.set_field_settings` Update field settings write
- `mitti.users.set_user_attributes` Set user attributes write
- `mitti.users.start_create_or_update_users_job` Start a create-or-update users job write
- `mitti.users.update_field` Update a user field write
- `mitti.users.update_user_legacy` Update a user (legacy) write

**Sites 16**

- `mitti.sites.add_users_folders_associations` Associate users to folders write
- `mitti.sites.create_folder` Create a folder write
- `mitti.sites.delete_folders` Delete folders (bulk) destructive
- `mitti.sites.get_all_users_by_folder` Retrieve users associated to a folder, includes both directly and indirectly (inherited) read
- `mitti.sites.get_folder` Retrieve a folder read
- `mitti.sites.get_folder_i_ds_for_user` List folders the requesting user is associated with read
- `mitti.sites.get_folders` List folders read
- `mitti.sites.get_folders_by_parent` Get folders (by parent) read
- `mitti.sites.get_inherited_users_by_folder` Retrieve users indirectly associated (inherited) to a folder read
- `mitti.sites.get_org_labels` Get custom labels read
- `mitti.sites.get_users_by_folder` Retrieve users directly associated to a folder read
- `mitti.sites.move_folders` Move folder to another parent folder or as a root folder write
- `mitti.sites.remove_folders_association` Remove association for a specific user to multiple folders destructive
- `mitti.sites.remove_users_association` Remove association for multiple users to a specific folder destructive
- `mitti.sites.search_folders` Search folders read
- `mitti.sites.update_folder_properties` Update a folder write

**Credentials 14**

- `mitti.credentials.add_document_version_for_user` Add a version to a credential write
- `mitti.credentials.create_document_type` Create a credential type write
- `mitti.credentials.delete_all_media_for_document_version` Delete all media for a credential version destructive
- `mitti.credentials.delete_document_for_user` Delete a credential including all its versions destructive
- `mitti.credentials.delete_document_type` Delete a credential type destructive
- `mitti.credentials.get_document_history` List all versions of a credential read
- `mitti.credentials.get_document_type` Get a credential type read
- `mitti.credentials.get_document_version` Get a version of a credential read
- `mitti.credentials.get_documents` List the latest version of credentials based on applied filters read
- `mitti.credentials.get_settings` Get the Credential settings for your organization read
- `mitti.credentials.list_document_types` List credential types read
- `mitti.credentials.update_document_type` Update a credential type write
- `mitti.credentials.update_document_version_for_user` Update a version of a credential write
- `mitti.credentials.update_settings` Update the Credential settings for your organization write

**Osha 14**

- `mitti.osha.create_case` Create Case write
- `mitti.osha.create_establishment` Create Establishment write
- `mitti.osha.delete_case` Delete Case destructive
- `mitti.osha.delete_establishment` Delete Establishment destructive
- `mitti.osha.get_case` Get Case read
- `mitti.osha.get_establishment` Get Establishment read
- `mitti.osha.get_establishment_employees` Get Establishment Employees read
- `mitti.osha.get_establishment_hours` Get Establishment Hours read
- `mitti.osha.list_cases` List Cases read
- `mitti.osha.list_establishments` List Establishments read
- `mitti.osha.update_case` Update Case write
- `mitti.osha.update_establishment` Update Establishment write
- `mitti.osha.update_establishment_employees` Update Establishment Employees write
- `mitti.osha.update_establishment_hours` Update Establishment Hours write

**Companies 12**

- `mitti.companies.create_contractor_company` Create a company write
- `mitti.companies.delete_company_document_type` Delete a company document type destructive
- `mitti.companies.delete_contractor_company` Delete a company destructive
- `mitti.companies.get_company_type` Get a company type read
- `mitti.companies.get_contractor_company` Get a company read
- `mitti.companies.list_company_document_types` List company document types read
- `mitti.companies.list_company_documents` List company documents read
- `mitti.companies.list_company_types` List company types read
- `mitti.companies.list_company_types_metrics` List company type metrics read
- `mitti.companies.list_company_user_metadata` List company users read
- `mitti.companies.list_contractor_companies` List companies read
- `mitti.companies.update_contractor_company` Update a company write

**Schedules 12**

- `mitti.schedules.create_new_schedule` Create a new schedule write
- `mitti.schedules.delete_schedule` Delete a schedule destructive
- `mitti.schedules.end_schedule` End a schedule write
- `mitti.schedules.get_schedule` Get a schedule read
- `mitti.schedules.list_schedule_access` List schedule access read
- `mitti.schedules.list_schedule_targets` List schedule targets read
- `mitti.schedules.pause_schedule` Pause a schedule write
- `mitti.schedules.resume_schedule` Resume a schedule write
- `mitti.schedules.update_schedule_assignees` Update schedule assignees write
- `mitti.schedules.update_schedule_details` Update schedule details write
- `mitti.schedules.update_schedule_recurrence` Update schedule recurrence write
- `mitti.schedules.update_schedule_target` Update schedule target write

**Structures 12**

- `mitti.structures.add_users_to_role` Add users to a role write
- `mitti.structures.add_users_to_structure` Add users to a structure write
- `mitti.structures.create_structure` Create a structure write
- `mitti.structures.get_structure_metadata` Get structure metadata read
- `mitti.structures.get_structure_profile` Get a structure read
- `mitti.structures.list_direct_users_in_structure` List members of a structure read
- `mitti.structures.list_fields` List fields read
- `mitti.structures.list_users_by_role` List users by role read
- `mitti.structures.move_structure` Move a structure write
- `mitti.structures.remove_users_from_structure` Remove users from a structure destructive
- `mitti.structures.search_structures` Search structures read
- `mitti.structures.update_structure` Replace a structure write

**Templates 12**

- `mitti.templates.archive_template` Archive a template write
- `mitti.templates.create_template_draft` Open a template draft write
- `mitti.templates.delete_template_by_id` Delete a template by template ID destructive
- `mitti.templates.discard_template_draft` Discard a template draft destructive
- `mitti.templates.get_template_by_id` Get a template read
- `mitti.templates.get_template_by_inspection_id` Get template (by inspection) read
- `mitti.templates.get_template_definition` Get template definition read
- `mitti.templates.get_template_draft` Get template draft read
- `mitti.templates.publish_template` Publish a template draft write
- `mitti.templates.restore_archived_template` Restore an archived template write
- `mitti.templates.search_templates` Search modified templates read
- `mitti.templates.update_template_draft` Update a template draft write

**Apps 10**

- `mitti.apps.create_configuration` Create configuration write
- `mitti.apps.create_installation` Create an installation write
- `mitti.apps.delete_configuration` Delete the configuration destructive
- `mitti.apps.delete_installation` Delete an installation destructive
- `mitti.apps.get_installation` Get installation read
- `mitti.apps.list_applications` List applications read
- `mitti.apps.list_installations` List all installations read
- `mitti.apps.register_application` Register a new external application write
- `mitti.apps.update_application` Update an external application write
- `mitti.apps.update_configuration` Update the configuration write

**Documents 10**

- `mitti.documents.archive_item` Archive a file or folder write
- `mitti.documents.bulk_add_file_owners` Bulk add file owners write
- `mitti.documents.bulk_remove_file_owners` Bulk remove file owners destructive
- `mitti.documents.bulk_update_file_owners` Bulk update file owners write
- `mitti.documents.create_file` Create a file write
- `mitti.documents.get_folder_children` Get folder items read
- `mitti.documents.link_files` Link files write
- `mitti.documents.move_item` Move a file or folder write
- `mitti.documents.search_items` Search files and folders read
- `mitti.documents.update_file` Update a file write

**Groups 8**

- `mitti.groups.add_new_user_to_group` Add user to a group write
- `mitti.groups.bulk_delete_groups` Bulk delete groups destructive
- `mitti.groups.create_group` Create a group write
- `mitti.groups.get_user_groups` List groups for a user read
- `mitti.groups.list_groups` List groups read
- `mitti.groups.list_share_connections` List calling user's groups and organizations read
- `mitti.groups.list_users_in_group` List a group's or an organization's users read
- `mitti.groups.remove_user` Remove user from a group destructive

**Response sets 8**

- `mitti.response_sets.create_global_response_set` Create a global response set write
- `mitti.response_sets.create_grs_response` Create a global response set response write
- `mitti.response_sets.delete_global_response_set` Delete a global response set destructive
- `mitti.response_sets.delete_grs_response` Delete a global response set response destructive
- `mitti.response_sets.get_global_response_set` Get a global response set read
- `mitti.response_sets.list_all_global_response_sets` List global response sets read
- `mitti.response_sets.update_global_response_set` Update a global response set write
- `mitti.response_sets.update_grs_response` Update a global response set response write

**Sensors 7**

- `mitti.sensors.deprovision_sensor` De-provision a sensor destructive
- `mitti.sensors.get_sensor` Get sensor read
- `mitti.sensors.get_sensor_id` Get a sensor ID read
- `mitti.sensors.get_sensor_latest_readings` Get sensor's latest readings read
- `mitti.sensors.ingest_sensor_readings` Ingest sensor readings write
- `mitti.sensors.list_sensors` List sensors read
- `mitti.sensors.provision_sensor` Provision a sensor write

**Webhooks 7**

- `mitti.webhooks.create_webhook` Create a webhook write
- `mitti.webhooks.delete_webhook` Delete a webhook destructive
- `mitti.webhooks.generate_token` Regenerate signature secret write
- `mitti.webhooks.get_token` Get signature secret read
- `mitti.webhooks.get_webhook` Get a webhook read
- `mitti.webhooks.list_webhooks` List webhooks read
- `mitti.webhooks.update_webhook` Update a webhook write

**Heads up 5**

- `mitti.heads_up.get_heads_up` Gets Heads Up read
- `mitti.heads_up.get_heads_up_completion_counts` Get Heads Up completion counts read
- `mitti.heads_up.get_heads_up_messages` Get a Heads Ups comments read
- `mitti.heads_up.list_heads_up_manage` List Heads Ups read
- `mitti.heads_up.list_heads_up_users` List Heads Up users read

**Schedules legacy 4**

- `mitti.schedules_legacy.create_schedule_item` Create a schedule item write
- `mitti.schedules_legacy.delete_schedule_item` Delete a schedule item destructive
- `mitti.schedules_legacy.list_schedule_items` List schedule items read
- `mitti.schedules_legacy.update_schedule_item` Update a schedule item write

**Roles 3**

- `mitti.roles.create_role` Create a role write
- `mitti.roles.get_role` Get a role read
- `mitti.roles.update_role` Update a role write

**Lone worker 2**

- `mitti.lone_worker.get_job_events` Get job events read
- `mitti.lone_worker.get_jobs` Get jobs read

**Media 1**

- `mitti.media.get_download_signed_url` Get media download URL read

Questions

## The Mitti MCP server, answered.

**Is there a Mitti MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 415 Mitti actions across assets, feeds, investigations and actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Mitti.

**What do I need to connect Mitti?**

Mitti API token: a service user API token (recommended for integrations) or a user API token, created in Mitti under…. The free call account { op: "connections.requirements", service: "mitti" } lists exactly what to paste.

**Can an AI agent delete or change things in Mitti?**

Only if its key allows it, and only with an explicit confirmation. 49 Mitti actions are destructive, including delete an asset, delete an asset type and delete a company. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Mitti API limit?**

actionlake paces every call to the limits in the Mitti service file: 800 calls a minute per connection. Repeated reads are answered from cache (193 Mitti actions can be), which never reaches Mitti.

**What does a Mitti action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (415 Mitti actions page). Cache hits, searches, dry runs and calls Mitti refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Mitti API does it cover?**

The Mitti API v1.350.11 (OpenAPI 3.1.0) at api.mitti.com. It is built from Mitti's documentation as read on 22 October 2026. 415 actions in 26 areas, each one in the signed service file (version 1.0.0).

**Can I combine Mitti with my other systems?**

Yes. ask joins Mitti to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Mitti maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Mitti data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Mitti credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Mitti

Shares the most action names with

- [ServiceTrade 13](https://actionlake.com/connectors/servicetrade)
- [Adobe Workfront 13](https://actionlake.com/connectors/adobe-workfront)
- [Autodesk Construction Cloud 11](https://actionlake.com/connectors/autodesk-construction-cloud)
- [Clockify 11](https://actionlake.com/connectors/clockify)
- [Tempo Timesheets (Jira) 11](https://actionlake.com/connectors/tempo-timesheets-jira)
- [Toggl Track 11](https://actionlake.com/connectors/toggl-track)

Joins with, on shared entities

- [ServiceNow 6](https://actionlake.com/connectors/servicenow)
- [HaloPSA 5](https://actionlake.com/connectors/halopsa)
- [Odoo 5](https://actionlake.com/connectors/odoo)
- [ERPNext (Frappe) 5](https://actionlake.com/connectors/erpnext-frappe)
- [Microsoft Dynamics 365 5](https://actionlake.com/connectors/microsoft-dynamics-365)
- [ServiceTitan 5](https://actionlake.com/connectors/servicetitan)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Mitti; the name is the vendor's own. Counts are from the Mitti service file, version 1.0.0.

## Give your agent Mitti today.

[Connect Mitti free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/mitti
More: https://actionlake.com/llms.txt
