---
title: "TeamViewer MCP server for AI agents - actionlake"
description: "Give Claude 247 TeamViewer actions through one MCP server: user roles, connection reports. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/teamviewer
updated: 2026-10-23
---

Connectors · MSP & PSA

# TeamViewer MCP server for AI agents.

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

[Connect TeamViewer 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: "teamviewer.users.list",
  intent: "check which TeamViewer account is connected"
}
# Returns users with filter criteria · read · 1 upstream call
```

- 247 actions in one signed file
- 118 read look, never change
- 84 write create and update
- 45 wait for a yes destructive, confirmed first

Set up

## Connect TeamViewer 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 TeamViewer.
   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` TeamViewer script token: in the TeamViewer Management Console open Edit profile > Apps > Create script token and…
   ```
   account { op: "connections.requirements", service: "teamviewer" }
   # 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: "teamviewer.users.list" }
   # returns users with filter criteria · read · 1 upstream call
   check { action: "teamviewer.users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

TeamViewer 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**

10 calls a second, per connection

**API covered**

TeamViewer Web API v1 (OpenAPI 3.0.3)`webapi.teamviewer.com`

**Built from**

TeamViewer's documentation, read 23 October 2026[webapi.teamviewer.com](https://webapi.teamviewer.com/api/v1/docs/swagger-ui-init.js) [webapi.teamviewer.com](https://webapi.teamviewer.com/api/v1/docs/index)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

107 of 118 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

5, so ask can line TeamViewer up with your other systems

**Data**

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

Capabilities

## What an AI agent can do in TeamViewer.

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

- **118** read look, never change
- **84** write create and update
- **45** destructive wait for a confirmation

1. ### User roles
   14
   5 read · 4 write · 5 destructive
   Returns user roles · Creates a new user role · Updates a user role · Deletes an existing user role
2. ### Connection reports
   13
   11 read · 1 write · 1 destructive
   Returns the session reports, the number of remaining reports and a link to request the further reports if the remaining · List by feature connection reports · Gets the list of screenshots for an outgoing session · Query features connection reports
3. ### Managed devices
   10
   5 read · 4 write · 1 destructive
   Lists all directly managed devices of the manager · Lists one page of company-managed devices · Lists managed groups a device is part of · Gets details for a single managed device
4. ### Users
   10
   4 read · 3 write · 3 destructive
   Returns users with filter criteria · Creates a user · Returns a user · Updates a user
5. ### Conditional access directory groups
   8
   3 read · 3 write · 2 destructive
   Adds new members to a Directory Group · Creates an empty Directory Group with a name specified in 'name' parameter. Returns the ID and the name of a newly creat · Retrieves all Directory Groups of a company in an array. Information includes their IDs and names · Returns a list of members of a Directory Group of a specified type. Currently supported member type is 'user'
6. ### Sessions
   8
   4 read · 3 write · 1 destructive
   Create sessions · Create for reseller sessions · List sessions · Get sessions
7. ### Device reports
   7
   7 read · 0 write · 0 destructive
   List device reports · List by feature device reports · Query features device reports · Gets generated AI session report for an incoming session report
8. ### Devices
   7
   3 read · 3 write · 1 destructive
   List devices · Get devices · Create devices · Update devices

**48 more areas · 170 actions**

- Groups **7**
- Managed groups **7**
- Meetings **7**
- User groups of user **7**
- Managed device managers **6**
- Managed group managers **6**
- User groups **6**
- Device iot sensors **5**
- Monitoring devices **5**
- Oem tenants **5**
- Account **4**
- Chat messages **4**
- Company **4**
- Company address book hidden members **4**
- Conditional access approval options **4**
- Conditional access feature options **4**
- Conditional access rules **4**
- Conditional access time options **4**
- Contacts **4**
- Device custom fields **4**
- Managed group devices **4**
- Teamviewer policies **4**
- User group members **4**
- Access tokens **3**
- Account iot preferences **3**
- Blizz meetings **3**
- Device iot software configurations **3**
- Endpoint protection **3**
- Managed device custom fields **3**
- Monitoring policies **3**
- Oem devices **3**
- Oem licensing customers **3**
- Patch management devices **3**
- Patch management policies **3**
- SSO domain exclusions **3**
- SSO domain inclusions **3**
- Company address book **2**
- Event logs **2**
- Iot data **2**
- Monitoring alarms **2**
- Reach notifications **2**
- SSO domains **2**
- Chat rooms **1**
- Device iot monitoring configuration **1**
- Group iot software configurations **1**
- Integrations **1**
- Oem connection reports **1**
- Ping **1**

Top actions

## The TeamViewer API, shaped for agents.

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

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `teamviewer.users.list` Returns users with filter criteria | Returns users with filter criteria. | read | `identity.user.list` 474 connectors |
| `teamviewer.user_groups.list` Returns all user groups | Returns all user groups. | read | `identity.group.list` 262 connectors |
| `teamviewer.users.create` Creates a user | Creates a user. | write | `identity.user.create` 262 connectors |
| `teamviewer.user_groups.create` Creates a new user group | Creates a new user group. | write | `identity.group.create` 205 connectors |
| `teamviewer.devices.list` List devices | List devices. | read | `device.endpoint.list` 65 connectors |
| `teamviewer.contacts.list` Retrieves all contacts with optional filtering | Retrieves all contacts with optional filtering. | read | `crm.contact.list` 177 connectors |
| `teamviewer.users.delete` Deletes the user | Deletes the user. | destructive | `identity.user.delete` 253 connectors |
| `teamviewer.account.get` Returns the account | Returns the account. | read | `identity.current_user.get` 307 connectors |
| `teamviewer.contacts.create` Creates a new contact and adds it to a group | Creates a new contact and adds it to a group. | write | `crm.contact.create` 161 connectors |
| `teamviewer.devices.get` Get devices | Get devices. | read | `device.endpoint.get` 57 connectors |
| `teamviewer.meetings.list` List meetings | List meetings. | read | `comm.online_meeting.list` 11 connectors |
| `teamviewer.users.list_assigned_roles` Returns the roles assigned to the user | Returns the roles assigned to the user. | read | `identity.role_assignment.list` 41 connectors |

Try it

## Prompts to paste into Claude.

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

1. Read read
   Which TeamViewer devices have not checked in for a week?
   calls `teamviewer.devices.list`
2. Write write
   Creates a user in TeamViewer. Show me exactly what you will send before you save it.
   calls `teamviewer.users.create`
3. Across systems read
   Which contacts are in both TeamViewer and NetSuite, and how many are in only one of them?
   calls `teamviewer.contacts.list` `netsuite.views.contacts`

Across your systems

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

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

- Which contacts are in both TeamViewer and NetSuite, and how many are in only one of them?
  `teamviewer.contacts.list` + `netsuite.views.contacts`, on `crm.contact` · [NetSuite](https://actionlake.com/connectors/netsuite)
- Which contacts are in both TeamViewer and HubSpot CRM, and how many are in only one of them?
  `teamviewer.contacts.list` + `hubspot_crm.contacts.list`, on `crm.contact` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `identity.user` **517** `identity.group` **239** `crm.contact` **192** `device.endpoint` **69** `comm.online_meeting` **5**

ask

```
ask {
  intent: "which contacts are in both TeamViewer and NetSuite, and how many are in only one of them",
  steps: [
    { action: "teamviewer.contacts.list", as: "people", input: {}, limit: 100, max_pages: 5 },
    { action: "netsuite.views.contacts", as: "people2", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "people",
        right: "people2",
        on: "crm.contact",
        group_by: "people.email",
        select: ["people.email", "count(people2.id) as in_netsuite"]
    } }
  ]
}
```

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

Governance for TeamViewer

## Destructive actions wait for a yes.

45 TeamViewer actions are destructive. The first 10:

- Deletes the user `teamviewer.users.delete`
- Removes a user group `teamviewer.user_groups.delete`
- Deletes a contact from the buddy list `teamviewer.contacts.delete`
- Delete devices `teamviewer.devices.delete`
- Deletes an existing user role `teamviewer.user_roles.delete`
- Removes a user from a user group `teamviewer.user_group_members.remove`
- Delete meetings `teamviewer.meetings.delete`
- Delete TeamViewer Policy - action is used to delete a TeamViewer Policy `teamviewer.teamviewer_policies.delete`
- Deletes a device custom field definition of the company `teamviewer.device_custom_fields.delete`
- Deletes a group `teamviewer.groups.delete`

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 teamviewer.users.delete confirm_policy: **human**

Deletes the user?

**intent:** the user asked me to deletes the user

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

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "teamviewer-agent",
  allowed_actions: ["teamviewer.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "teamviewer.users.delete", approver: "lead@example.com" },
    { match: "teamviewer.user_groups.delete", approver: "lead@example.com" },
    { match: "teamviewer.contacts.delete", approver: "lead@example.com" }
  ]
}
```

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

Cost

## What TeamViewer costs on actionlake.

Every TeamViewer action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call TeamViewer 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 247 TeamViewer actions
- 247 actions page each page of a long list is one call
- 107 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 TeamViewer action.

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

**User roles 14**

- `teamviewer.user_roles.create` Creates a new user role write
- `teamviewer.user_roles.delete` Deletes an existing user role destructive
- `teamviewer.user_roles.list` Returns user roles read
- `teamviewer.user_roles.update` Updates a user role write
- `teamviewer.user_roles.assign_to_accounts` Assigns a user role to user accounts destructive
- `teamviewer.user_roles.assign_to_user_group` Assigns a user role to a user group destructive
- and 8 more in this area

**Connection reports 13**

- `teamviewer.connection_reports.list` Returns the session reports, the number of remaining reports and a link to request the further reports if the remaining read
- `teamviewer.connection_reports.list_by_feature` List by feature connection reports read
- `teamviewer.connection_reports.list_screenshots` Gets the list of screenshots for an outgoing session read
- `teamviewer.connection_reports.query_features` Query features connection reports read
- `teamviewer.connection_reports.delete` Delete connection reports destructive
- `teamviewer.connection_reports.get` Get connection reports read
- and 7 more in this area

**Managed devices 10**

- `teamviewer.managed_devices.get` Gets details for a single managed device read
- `teamviewer.managed_devices.list` Lists all directly managed devices of the manager read
- `teamviewer.managed_devices.list_company` Lists one page of company-managed devices read
- `teamviewer.managed_devices.list_groups` Lists managed groups a device is part of read
- `teamviewer.managed_devices.delete` Removes management from a device destructive
- `teamviewer.managed_devices.get_assignment_data` Create an AssignmentData object for the currently logged-in account read
- and 4 more in this area

**Users 10**

- `teamviewer.users.create` Creates a user write
- `teamviewer.users.get` Returns a user read
- `teamviewer.users.list` Returns users with filter criteria read
- `teamviewer.users.update` Updates a user write
- `teamviewer.users.deactivate_tfa` Deactivates user's (account's) two-factor authentication destructive
- `teamviewer.users.delete` Deletes the user destructive
- and 4 more in this area

**Conditional access directory groups 8**

- `teamviewer.conditional_access_directory_groups.add_members` Adds new members to a Directory Group write
- `teamviewer.conditional_access_directory_groups.create` Creates an empty Directory Group with a name specified in 'name' parameter. Returns the ID and the name of a newly creat write
- `teamviewer.conditional_access_directory_groups.list` Retrieves all Directory Groups of a company in an array. Information includes their IDs and names read
- `teamviewer.conditional_access_directory_groups.list_members_by_id` Returns a list of members of a Directory Group of a specified type. Currently supported member type is 'user' read
- `teamviewer.conditional_access_directory_groups.list_members_by_name` Returns a list of members of a Directory Group of a specified type. Currently supported member type is 'user' read
- `teamviewer.conditional_access_directory_groups.delete` Deletes a Directory Group with given ID destructive
- and 2 more in this area

**Sessions 8**

- `teamviewer.sessions.create` Create sessions write
- `teamviewer.sessions.create_for_reseller` Create for reseller sessions write
- `teamviewer.sessions.get` Get sessions read
- `teamviewer.sessions.list` List sessions read
- `teamviewer.sessions.close` Close sessions destructive
- `teamviewer.sessions.get_custom_module_config_id` Get custom module config id sessions read
- and 2 more in this area

**Device reports 7**

- `teamviewer.device_reports.get_ai_summary` Gets generated AI session report for an incoming session report read
- `teamviewer.device_reports.list` List device reports read
- `teamviewer.device_reports.list_by_feature` List by feature device reports read
- `teamviewer.device_reports.query_features` Query features device reports read
- `teamviewer.device_reports.get_chat_transcript` Gets generated chat transcript for an incoming session report read
- `teamviewer.device_reports.get_features` Get features device reports read
- and 1 more in this area

**Devices 7**

- `teamviewer.devices.create` Create devices write
- `teamviewer.devices.get` Get devices read
- `teamviewer.devices.list` List devices read
- `teamviewer.devices.update` Update devices write
- `teamviewer.devices.assign` Assign device to user account POST /api/v1/devices/assign write
- `teamviewer.devices.delete` Delete devices destructive
- and 1 more in this area

**Groups 7**

- `teamviewer.groups.create` Creates a group write
- `teamviewer.groups.get` Returns group by groupId read
- `teamviewer.groups.list` Returns groups by filter criteria read
- `teamviewer.groups.share` Shares group to users write
- `teamviewer.groups.delete` Deletes a group destructive
- `teamviewer.groups.unshare` Removal of group sharing from users write
- and 1 more in this area

**Managed groups 7**

- `teamviewer.managed_groups.create` Creates a managed group write
- `teamviewer.managed_groups.get` Gets details for a managed group read
- `teamviewer.managed_groups.list` Lists managed groups read
- `teamviewer.managed_groups.list_company` Lists company-managed groups read
- `teamviewer.managed_groups.delete` Removes a managed group destructive
- `teamviewer.managed_groups.remove_policy` Remove asssigned Policy of a Managed Group write
- and 1 more in this area

**Meetings 7**

- `teamviewer.meetings.create` Create meetings write
- `teamviewer.meetings.get` Get meetings read
- `teamviewer.meetings.list` List meetings read
- `teamviewer.meetings.update` Update meetings write
- `teamviewer.meetings.delete` Delete meetings destructive
- `teamviewer.meetings.get_custom_module_config_id` GET /api/v1/Meetings/{id}/custom_modules_config_id read
- and 1 more in this area

**User groups of user 7**

- `teamviewer.user_groups_of_user.create` Creates a group with userId write
- `teamviewer.user_groups_of_user.get` Returns group by groupId and userId read
- `teamviewer.user_groups_of_user.list` Returns groups by filter criteria including userId read
- `teamviewer.user_groups_of_user.share` Shares group with userId and groupId to users write
- `teamviewer.user_groups_of_user.delete` Deletes a group destructive
- `teamviewer.user_groups_of_user.unshare` Removal of group sharing from users by userId and groupId write
- and 1 more in this area

**Managed device managers 6**

- `teamviewer.managed_device_managers.add` Adds direct managers to a device write
- `teamviewer.managed_device_managers.list` Lists direct managers of a device read
- `teamviewer.managed_device_managers.update` Changes a single manager on a device write
- `teamviewer.managed_device_managers.update_many` Changes multiple managers of a device write
- `teamviewer.managed_device_managers.remove` Removes a manager from a device destructive
- `teamviewer.managed_device_managers.remove_many` Removes multiple managers from a device destructive

**Managed group managers 6**

- `teamviewer.managed_group_managers.add` Adds managers to a managed group write
- `teamviewer.managed_group_managers.list` Lists managers of a managed group read
- `teamviewer.managed_group_managers.update` Changes a single manager on a managed group write
- `teamviewer.managed_group_managers.update_many` Changes multiple managers of a managed group write
- `teamviewer.managed_group_managers.remove` Removes a manager from a managed group destructive
- `teamviewer.managed_group_managers.remove_many` Removes multiple managers from a managed group destructive

**User groups 6**

- `teamviewer.user_groups.create` Creates a new user group write
- `teamviewer.user_groups.get` Returns a user group read
- `teamviewer.user_groups.list` Returns all user groups read
- `teamviewer.user_groups.update` Changes a user group write
- `teamviewer.user_groups.delete` Removes a user group destructive
- `teamviewer.user_groups.get_assigned_role` Returns user group's assigned role read

**Device iot sensors 5**

- `teamviewer.device_iot_sensors.create` Create an IoT sensor with any set of metrics write
- `teamviewer.device_iot_sensors.get` Get an IoT sensor with it's set of metrics read
- `teamviewer.device_iot_sensors.list` Get the list of IoT Sensors read
- `teamviewer.device_iot_sensors.update` Update IoT sensor by provided datasourceId write
- `teamviewer.device_iot_sensors.delete` Delete IoT sensor by provided datasourceId destructive

**Monitoring devices 5**

- `teamviewer.monitoring_devices.activate` Activate patch management and monitoring services action is used for activating the services on a given device write
- `teamviewer.monitoring_devices.get_hardware` Get hardware data of the provided device read
- `teamviewer.monitoring_devices.get_software` Get software data of the provided device read
- `teamviewer.monitoring_devices.list` List monitoring devices read
- `teamviewer.monitoring_devices.get_system_information` Get system information of the provided device read

**Oem tenants 5**

- `teamviewer.oem_tenants.create` Create oem tenants write
- `teamviewer.oem_tenants.get` Get oem tenants read
- `teamviewer.oem_tenants.query_devices` Query devices oem tenants read
- `teamviewer.oem_tenants.resolve` Resolve oem tenants read
- `teamviewer.oem_tenants.update` Update oem tenants write

**Account 4**

- `teamviewer.account.get` Returns the account read
- `teamviewer.account.get_iot_license` Returns the account's IoT license information read
- `teamviewer.account.list_tenant_ids` Returns the account's tenants read
- `teamviewer.account.update` Updates the account write

**Chat messages 4**

- `teamviewer.chat_messages.list` List chat messages read
- `teamviewer.chat_messages.list_unread` List unread chat messages read
- `teamviewer.chat_messages.mark_read` Mark read chat messages write
- `teamviewer.chat_messages.send` Send chat messages write

**Company 4**

- `teamviewer.company.delete` Delete a company destructive
- `teamviewer.company.get` Returns the company details read
- `teamviewer.company.get_license` Returns the company license details read
- `teamviewer.company.update` Update company details write

**Company address book hidden members 4**

- `teamviewer.company_address_book_hidden_members.hide` Hides accounts from company's address book write
- `teamviewer.company_address_book_hidden_members.list` Lists the hidden members of a company's address book read
- `teamviewer.company_address_book_hidden_members.unhide` Unhides the given account from a company's address book destructive
- `teamviewer.company_address_book_hidden_members.unhide_many` Unhides the given accounts from a company's address book destructive

**Conditional access approval options 4**

- `teamviewer.conditional_access_approval_options.create` Creates a new conditional access approval option based on the provided parameters write
- `teamviewer.conditional_access_approval_options.delete` Deletes an existing approval option identified by the given option Id destructive
- `teamviewer.conditional_access_approval_options.list` Retrieves a list of conditional access approval options, with optional support for pagination via a continuation token read
- `teamviewer.conditional_access_approval_options.update` Updates an existing conditional access approval option identified by the given option Id write

**Conditional access feature options 4**

- `teamviewer.conditional_access_feature_options.create` Creates a new conditional access feature option based on the provided parameters write
- `teamviewer.conditional_access_feature_options.delete` Deletes an existing features option identified by the given option Id destructive
- `teamviewer.conditional_access_feature_options.list` Retrieves a list of conditional access feature options, with optional support for pagination via a continuation token read
- `teamviewer.conditional_access_feature_options.update` Updates an existing conditional access feature option identified by the given option Id write

**Conditional access rules 4**

- `teamviewer.conditional_access_rules.create` Creates a new conditional access rule using the provided parameters write
- `teamviewer.conditional_access_rules.delete` Deletes a conditional access rule identified by the provided parameters destructive
- `teamviewer.conditional_access_rules.list` Retrieves a list of conditional access rules, with optional support for pagination using a continuation token read
- `teamviewer.conditional_access_rules.update` Updates the expiration details of a conditional access rule identified by the given Id write

**Conditional access time options 4**

- `teamviewer.conditional_access_time_options.create` Creates a new conditional access time option based on the provided parameters write
- `teamviewer.conditional_access_time_options.delete` Deletes an existing time option identified by the given option Id destructive
- `teamviewer.conditional_access_time_options.list` Retrieves a list of conditional access time options, with optional support for pagination via a continuation token read
- `teamviewer.conditional_access_time_options.update` Updates an existing conditional access time option identified by the given option Id write

**Contacts 4**

- `teamviewer.contacts.create` Creates a new contact and adds it to a group write
- `teamviewer.contacts.delete` Deletes a contact from the buddy list destructive
- `teamviewer.contacts.get` Retrieves a specific contact by ID read
- `teamviewer.contacts.list` Retrieves all contacts with optional filtering read

**Device custom fields 4**

- `teamviewer.device_custom_fields.create` Creates a new device custom field definition for the company write
- `teamviewer.device_custom_fields.delete` Deletes a device custom field definition of the company destructive
- `teamviewer.device_custom_fields.list` Lists all device custom field definitions of the company read
- `teamviewer.device_custom_fields.update` Updates an existing device custom field definition of the company write

**Managed group devices 4**

- `teamviewer.managed_group_devices.add` Adds a device to a managed group write
- `teamviewer.managed_group_devices.list` Lists devices of a managed group read
- `teamviewer.managed_group_devices.list_pending` Lists pending-devices of a managed group read
- `teamviewer.managed_group_devices.remove` Removes a device from a managed group destructive

**Teamviewer policies 4**

- `teamviewer.teamviewer_policies.create` Post TeamViewer Policy - action is used for creating a TeamViewer Policy write
- `teamviewer.teamviewer_policies.delete` Delete TeamViewer Policy - action is used to delete a TeamViewer Policy destructive
- `teamviewer.teamviewer_policies.get` Get TeamViewer Policies - action is used to get a list of TeamViewer policies read
- `teamviewer.teamviewer_policies.update` Put TeamViewer Policy - action is used for updating a TeamViewer Policy write

**User group members 4**

- `teamviewer.user_group_members.add` Adds users to a user group write
- `teamviewer.user_group_members.list` Returns members of a user group read
- `teamviewer.user_group_members.remove` Removes a user from a user group destructive
- `teamviewer.user_group_members.remove_many` Removes accounts from a user group destructive

**Access tokens 3**

- `teamviewer.access_tokens.create` Create access tokens write
- `teamviewer.access_tokens.delete_current` Delete current access tokens destructive
- `teamviewer.access_tokens.revoke_current` Revoke current access tokens destructive

**Account iot preferences 3**

- `teamviewer.account_iot_preferences.delete` Delete the account IoT preferences destructive
- `teamviewer.account_iot_preferences.get` Get the account IoT preferences read
- `teamviewer.account_iot_preferences.upsert` Create or update account IoT preferences write

**Blizz meetings 3**

- `teamviewer.blizz_meetings.create` Create blizz meetings write
- `teamviewer.blizz_meetings.get` Get blizz meetings read
- `teamviewer.blizz_meetings.list` List blizz meetings read

**Device iot software configurations 3**

- `teamviewer.device_iot_software_configurations.get_state` Get software configuration state to know if the update was successful read
- `teamviewer.device_iot_software_configurations.list` Get software configuration of a device read
- `teamviewer.device_iot_software_configurations.update` Update software configuration on device write

**Endpoint protection 3**

- `teamviewer.endpoint_protection.install` Install MalwareBytes Endpoint Protection on the given device write
- `teamviewer.endpoint_protection.link_devices` Link TeamViewer devices with Malwarebytes endpoints write
- `teamviewer.endpoint_protection.list_endpoints` Get endpoints read

**Managed device custom fields 3**

- `teamviewer.managed_device_custom_fields.delete` Deletes a custom field value from a device destructive
- `teamviewer.managed_device_custom_fields.list` Lists the custom field values stored for a device read
- `teamviewer.managed_device_custom_fields.set` Adds or updates a custom field value on a device. If the device already has a value for the given custom field definitio write

**Monitoring policies 3**

- `teamviewer.monitoring_policies.assign` Post Monitoring Policies - action is used for updating assigned Monitoring Policies write
- `teamviewer.monitoring_policies.get` Get Monitoring Policy - action is used to get the details of the Monitoring Policy read
- `teamviewer.monitoring_policies.list` Get Monitoring Policies - action is used to get the list of Monitoring policies read

**Oem devices 3**

- `teamviewer.oem_devices.create_device_key` Create device key oem devices write
- `teamviewer.oem_devices.request_control` Request control oem devices write
- `teamviewer.oem_devices.unregister` Unregister oem devices destructive

**Oem licensing customers 3**

- `teamviewer.oem_licensing_customers.create` Create oem licensing customers write
- `teamviewer.oem_licensing_customers.delete` Delete oem licensing customers destructive
- `teamviewer.oem_licensing_customers.list` List oem licensing customers read

**Patch management devices 3**

- `teamviewer.patch_management_devices.list` List patch management devices read
- `teamviewer.patch_management_devices.list_missing_patches` Get missing patches information on the provided device read
- `teamviewer.patch_management_devices.query_scan_result_counts` Query scan result counts patch management devices read

**Patch management policies 3**

- `teamviewer.patch_management_policies.assign` Post Patch Management Policies - action is used for updating assigned Patch Management Policies write
- `teamviewer.patch_management_policies.get` Get Patch Management Policy - action is used to get the details of the Patch Management Policy read
- `teamviewer.patch_management_policies.list` Get Patch Management Policies - action is used to get the list of Patch Management policies read

**SSO domain exclusions 3**

- `teamviewer.sso_domain_exclusions.add` Add sso domain exclusions write
- `teamviewer.sso_domain_exclusions.list` List sso domain exclusions read
- `teamviewer.sso_domain_exclusions.remove` Remove sso domain exclusions destructive

**SSO domain inclusions 3**

- `teamviewer.sso_domain_inclusions.add` Add sso domain inclusions write
- `teamviewer.sso_domain_inclusions.list` List sso domain inclusions read
- `teamviewer.sso_domain_inclusions.remove` Remove sso domain inclusions destructive

**Company address book 2**

- `teamviewer.company_address_book.get` Gets the activation state of a company's address book read
- `teamviewer.company_address_book.update` Sets the activation state of a company's address book write

**Event logs 2**

- `teamviewer.event_logs.query` Returns the event logs (audit logs) by filter criteria read
- `teamviewer.event_logs.query_v1` Returns the event logs (audit logs) by filter criteria read

**Iot data 2**

- `teamviewer.iot_data.query` Returns time series data of metrics read
- `teamviewer.iot_data.query_latest` Returns latest data of metrics read

**Monitoring alarms 2**

- `teamviewer.monitoring_alarms.list` Get list of alarms for a specified account read
- `teamviewer.monitoring_alarms.query` POST version of the above GET function. The intention for having this alternative is that continuation tokens were getti read

**Reach notifications 2**

- `teamviewer.reach_notifications.get_endpoints` Get endpoints reach notifications read
- `teamviewer.reach_notifications.get_socket_token` Get socket token reach notifications read

**SSO domains 2**

- `teamviewer.sso_domains.get` Get sso domains read
- `teamviewer.sso_domains.list` List sso domains read

**Chat rooms 1**

- `teamviewer.chat_rooms.list` List chat rooms read

**Device iot monitoring configuration 1**

- `teamviewer.device_iot_monitoring_configuration.get` Get monitoring configuration of a device read

**Group iot software configurations 1**

- `teamviewer.group_iot_software_configurations.update` Update software configuration on a group write

**Integrations 1**

- `teamviewer.integrations.register_user` Register user integrations write

**Oem connection reports 1**

- `teamviewer.oem_connection_reports.list` GET /oem/reports/connections?from_date=&lt;&gt;&amp;to_date=&lt;&gt;&amp;tenant_id=&lt;&gt; GET /oem/reports/connections read

**Ping 1**

- `teamviewer.ping.get` Get ping read

This index shows a sample of each area. All 247 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The TeamViewer MCP server, answered.

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

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 247 TeamViewer actions across user roles, connection reports, managed devices and users, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by TeamViewer.

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

TeamViewer script token: in the TeamViewer Management Console open Edit profile > Apps > Create script token and…. The free call account { op: "connections.requirements", service: "teamviewer" } lists exactly what to paste.

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

Only if its key allows it, and only with an explicit confirmation. 45 TeamViewer actions are destructive, including deletes the user, removes a user group and deletes a contact from the buddy list. 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 TeamViewer API limit?**

actionlake paces every call to the limits in the TeamViewer service file: 10 calls a second per connection. Repeated reads are answered from cache (107 TeamViewer actions can be), which never reaches TeamViewer.

**What does a TeamViewer action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (247 TeamViewer actions page). Cache hits, searches, dry runs and calls TeamViewer 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 TeamViewer API does it cover?**

The TeamViewer Web API v1 (OpenAPI 3.0.3) at webapi.teamviewer.com. It is built from TeamViewer's documentation as read on 23 October 2026. 247 actions in 56 areas, each one in the signed service file (version 1.0.0).

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

Yes. ask joins TeamViewer to NetSuite or HubSpot CRM on the same customer and returns the answer rather than every row. TeamViewer maps crm.contact, which 192 other connectors also map.

**Does actionlake keep my TeamViewer 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 TeamViewer 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 TeamViewer

Shares the most action names with

- [Domotz 20](https://actionlake.com/connectors/domotz)
- [Zabbix 18](https://actionlake.com/connectors/zabbix)
- [Delinea Secret Server 16](https://actionlake.com/connectors/delinea-secret-server)
- [Commvault Cloud 15](https://actionlake.com/connectors/commvault-cloud)
- [3CX 14](https://actionlake.com/connectors/3cx)
- [Action1 13](https://actionlake.com/connectors/action1)

Joins with, on shared entities

- [Microsoft 365 Users 4](https://actionlake.com/connectors/microsoft-365-users)
- [Cisco Webex 4](https://actionlake.com/connectors/cisco-webex)
- [Genesys Cloud CX 3](https://actionlake.com/connectors/genesys-cloud-cx)
- [Planning Center 3](https://actionlake.com/connectors/planning-center)
- [Odoo 3](https://actionlake.com/connectors/odoo)
- [Microsoft Dynamics 365 3](https://actionlake.com/connectors/microsoft-dynamics-365)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

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

## Give your agent TeamViewer today.

[Connect TeamViewer 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/teamviewer
More: https://actionlake.com/llms.txt
