---
title: "Matrix / Element MCP server - actionlake"
description: "Give Claude 246 Matrix / Element (Client-Server + Synapse Admin) actions through one MCP server: admin users, admin rooms. 100,000 calls a month free, no card."
canonical: https://actionlake.com/connectors/matrix-element-client-server-synapse-admin
updated: 2026-10-23
---

Connectors · Email & messaging

# Matrix / Element (Client-Server + Synapse Admin) MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Matrix / Element (Client-Server + Synapse Admin) and the rest of your systems. It gives your agent 246 Matrix / Element (Client-Server + Synapse Admin) actions (124 reads, 76 writes and 46 that wait for a confirmation) and holds the Matrix / Element (Client-Server + Synapse Admin) credential itself, so the agent never does. It paces Matrix / Element (Client-Server + Synapse Admin)'s limits and records every call.

[Connect Matrix / Element (Client-Server + Synapse Admin) 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: "matrix_synapse.admin_users.users_list",
  intent: "check which Matrix / Element (Client-Server + Synapse Admin) account is connected"
}
# List user accounts (v2) · read · 1 upstream call
```

- 246 actions in one signed file
- 124 read look, never change
- 76 write create and update
- 46 wait for a yes destructive, confirmed first

Set up

## Connect Matrix / Element (Client-Server + Synapse Admin) 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 Matrix / Element (Client-Server + Synapse Admin).
   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.
   - `access_token` Matrix access token, sent as `Authorization
   - `host` Where your Matrix / Element (Client-Server + Synapse Admin) lives: your host
   ```
   account { op: "connections.requirements", service: "matrix_synapse" }
   # 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: "matrix_synapse.admin_users.users_list" }
   # list user accounts (v2) · read · 1 upstream call
   check { action: "matrix_synapse.room_events.send_message", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Matrix / Element (Client-Server + Synapse Admin) 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**

`access_token`

**Setup fields**

`host`

**Limits we pace to**

10 calls a second, per connection

**API covered**

Matrix Client-Server API (matrix-spec main, v3/v1 endpoints) and Synapse Admin API v1/v2/v3, at your Matrix / Element (Client-Server + Synapse Admin) instance's API base URL, which you enter when connecting

**Built from**

Matrix / Element (Client-Server + Synapse Admin)'s documentation, read 23 October 2026[GitHub](https://github.com/matrix-org/matrix-spec/tree/main/data/api/client-server) [element-hq.github.io](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

121 of 124 reads, for up to 1 minute; a write clears what it affects

**Shared entities**

3, so ask can line Matrix / Element (Client-Server + Synapse Admin) up with your other systems

**Data**

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

Capabilities

## What an AI agent can do in Matrix / Element (Client-Server + Synapse Admin).

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

- **124** read look, never change
- **76** write create and update
- **46** destructive wait for a confirmation

1. ### Admin users
   37
   19 read · 7 write · 11 destructive
   List user accounts (v2) · Query a user account · Create or modify a user account · Create a device for a user
2. ### Admin rooms
   22
   14 read · 2 write · 6 destructive
   Get room details · List rooms on the server · Fetch any event by id · Get the status of room deletions by room
3. ### Key backup
   14
   5 read · 5 write · 4 destructive
   Create a new backup · Retrieve a key from the backup · Retrieve the keys from the backup · Retrieve the keys from the backup for a given room
4. ### Admin media
   13
   3 read · 6 write · 4 destructive
   Query a media item's metadata · List recent quarantine changes · Protect a local media item from quarantine · Quarantine one media item
5. ### Admin server
   12
   7 read · 5 write · 0 destructive
   Start a background update job · List scheduled tasks · Send a server notice to a user · Send a server notice to a user with a transaction id
6. ### Push
   11
   6 read · 4 write · 1 destructive
   Gets the current pushers for the authenticated user · Retrieve a push rule · The actions for a push rule · Retrieve all push rulesets
7. ### Room membership
   10
   0 read · 6 write · 4 destructive
   Invite a user to participate in a particular room · Kick a user from the room · Invite a user to participate in a particular room · Join the requesting user to a particular room
8. ### Room events
   9
   7 read · 1 write · 1 destructive
   Get a list of events for this room · Send a message event to the given room · Get the child events for a given parent event · Get the child events for a given parent event, with a given `relType`

**31 more areas · 118 actions**

- Room directory **8**
- Account 3pid **7**
- Rooms **7**
- Admin reports **6**
- Keys **6**
- Room state **6**
- Server **6**
- Third party **6**
- Account **5**
- Admin registration tokens **5**
- Devices **5**
- Server admin **5**
- Session **5**
- Account data **4**
- Admin federation **4**
- Profile **4**
- Registration **4**
- Media **3**
- Reporting **3**
- Tags **3**
- Appservice **2**
- Filters **2**
- Presence **2**
- Receipts **2**
- Sync **2**
- Notifications **1**
- Search **1**
- To device **1**
- Typing **1**
- User directory **1**
- Voip **1**

Top actions

## The Matrix / Element (Client-Server + Synapse Admin) API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 14 of Matrix / Element (Client-Server + Synapse Admin)'s 14 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `matrix_synapse.admin_users.users_list` List user accounts (v2) | List user accounts (v2) | read | `identity.user.list` 474 connectors |
| `matrix_synapse.room_events.get_room_events` Get a list of events for this room | Get a list of events for this room | read | `comm.message.list` 42 connectors |
| `matrix_synapse.admin_users.users_get` Query a user account | Query a user account | read | `identity.user.get` 399 connectors |
| `matrix_synapse.rooms.get_joined_rooms` Lists the user's current rooms | Lists the user's current rooms | read | `comm.channel.list` 27 connectors |
| `matrix_synapse.room_events.send_message` Send a message event to the given room | Send a message event to the given room | write | `comm.message.send` 25 connectors |
| `matrix_synapse.rooms.create_room` Create a new room | Create a new room | write | `comm.channel.create` 16 connectors |
| `matrix_synapse.account.whoami` Gets information about the owner of an access token | Gets information about the owner of an access token | read | `identity.current_user.get` 307 connectors |
| `matrix_synapse.room_state.get_members_by_room` Get the m.room.member events for the room | Get the m.room.member events for the room | read | `comm.channel_member.list` 12 connectors |
| `matrix_synapse.room_membership.kick` Kick a user from the room | Kick a user from the room | destructive | `comm.channel_member.remove` 10 connectors |
| `matrix_synapse.admin_rooms.rooms_list` List rooms on the server | List rooms on the server | read | this connector |
| `matrix_synapse.rooms.upgrade_room` Upgrades a room to a new room version | Upgrades a room to a new room version | write | this connector |
| `matrix_synapse.rooms.get_mutual_rooms` Get the list of rooms that the user shares with another user | Get the list of rooms that the user shares with another user | read | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Matrix / Element (Client-Server + Synapse Admin) actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in Matrix / Element (Client-Server + Synapse Admin)? List every user and their role.
   calls `matrix_synapse.admin_users.users_list`
2. Write write
   Send a message event to the given room in Matrix / Element (Client-Server + Synapse Admin). Show me exactly what you will send before you save it.
   calls `matrix_synapse.room_events.send_message`

Governance for Matrix / Element (Client-Server + Synapse Admin)

## Destructive actions wait for a yes.

46 Matrix / Element (Client-Server + Synapse Admin) actions are destructive. The first 10:

- Kick a user from the room `matrix_synapse.room_membership.kick`
- Ban a user in the room `matrix_synapse.room_membership.ban`
- Delete a room (v2, background task) `matrix_synapse.admin_rooms.rooms_delete`
- Strips all non-integrity-critical information out of an event `matrix_synapse.room_events.redact_event`
- Purge a room's history before a point `matrix_synapse.admin_rooms.purge_history`
- Suspend or unsuspend a user account `matrix_synapse.admin_users.users_suspend`
- Deactivate a user's account `matrix_synapse.account.deactivate_account`
- Delete a user's device `matrix_synapse.admin_users.devices_delete`
- Stop the requesting user participating in a particular room `matrix_synapse.room_membership.leave_room`
- Delete a room (v1, synchronous) `matrix_synapse.admin_rooms.rooms_delete_v1`

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 matrix_synapse.room_membership.kick confirm_policy: **human**

Kick a user from the room?

**intent:** the user asked me to kick a user from the room

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

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "matrix-synapse-agent",
  allowed_actions: ["matrix_synapse.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "matrix_synapse.room_membership.kick", approver: "lead@example.com" },
    { match: "matrix_synapse.room_membership.ban", approver: "lead@example.com" },
    { match: "matrix_synapse.admin_rooms.rooms_delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Matrix / Element (Client-Server + Synapse Admin) only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Matrix / Element (Client-Server + Synapse Admin) costs on actionlake.

Every Matrix / Element (Client-Server + Synapse Admin) action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Matrix / Element (Client-Server + Synapse Admin) 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 246 Matrix / Element (Client-Server + Synapse Admin) actions
- 246 actions page each page of a long list is one call
- 121 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 Matrix / Element (Client-Server + Synapse Admin) action.

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

**Admin users 37**

- `matrix_synapse.admin_users.account_validity_renew` Renew a user's account validity write
- `matrix_synapse.admin_users.devices_create` Create a device for a user write
- `matrix_synapse.admin_users.devices_delete` Delete a user's device destructive
- `matrix_synapse.admin_users.devices_delete_many` Delete several of a user's devices destructive
- `matrix_synapse.admin_users.devices_get` Show a user's device read
- `matrix_synapse.admin_users.devices_list` List a user's devices read
- `matrix_synapse.admin_users.devices_update` Update a user's device display name write
- `matrix_synapse.admin_users.username_available` Check whether a username is available read
- `matrix_synapse.admin_users.users_account_data` Get a user's account data read
- `matrix_synapse.admin_users.users_admin_get` Get whether a user is a server administrator read
- `matrix_synapse.admin_users.users_admin_set` Make a user a server administrator or remove admin destructive
- `matrix_synapse.admin_users.users_allow_cross_signing_replacement` Allow a user to replace their master cross-signing key without user-interactive auth write
- `matrix_synapse.admin_users.users_by_external_id` Find a user by their ID in an auth provider read
- `matrix_synapse.admin_users.users_by_threepid` Find a user by a third-party ID (email or phone) read
- `matrix_synapse.admin_users.users_cumulative_joined_room_count` Count rooms a user joined since a timestamp read
- `matrix_synapse.admin_users.users_deactivate` Deactivate a user account destructive
- `matrix_synapse.admin_users.users_get` Query a user account read
- `matrix_synapse.admin_users.users_joined_rooms` List the rooms a user has joined read
- `matrix_synapse.admin_users.users_list` List user accounts (v2) read
- `matrix_synapse.admin_users.users_list_v3` List user accounts (v3) read
- `matrix_synapse.admin_users.users_login_as` Get an access token to act as a user write
- `matrix_synapse.admin_users.users_media_delete` Delete media uploaded by a user destructive
- `matrix_synapse.admin_users.users_media_list` List media uploaded by a user read
- `matrix_synapse.admin_users.users_memberships` List a user's room memberships read
- `matrix_synapse.admin_users.users_pushers` List a user's pushers read
- `matrix_synapse.admin_users.users_ratelimit_delete` Delete a user's rate-limit override destructive
- `matrix_synapse.admin_users.users_ratelimit_get` Get a user's rate-limit override read
- `matrix_synapse.admin_users.users_ratelimit_set` Set a user's rate-limit override write
- `matrix_synapse.admin_users.users_redact_events` Redact a user's events in the given rooms destructive
- `matrix_synapse.admin_users.users_redact_status` Check the status of a redaction process read
- `matrix_synapse.admin_users.users_reset_password` Reset a user's password destructive
- `matrix_synapse.admin_users.users_sent_invite_count` Count invites a user sent since a timestamp read
- `matrix_synapse.admin_users.users_shadow_ban` Shadow-ban a user destructive
- `matrix_synapse.admin_users.users_shadow_ban_remove` Remove a user's shadow ban destructive
- `matrix_synapse.admin_users.users_suspend` Suspend or unsuspend a user account destructive
- `matrix_synapse.admin_users.users_upsert` Create or modify a user account write
- `matrix_synapse.admin_users.users_whois` Query a user's sessions (IPs and devices) read

**Admin rooms 22**

- `matrix_synapse.admin_rooms.fetch_event` Fetch any event by id read
- `matrix_synapse.admin_rooms.purge_history` Purge a room's history before a point destructive
- `matrix_synapse.admin_rooms.purge_history_status` Get the status of a history purge read
- `matrix_synapse.admin_rooms.purge_history_up_to_event` Purge a room's history up to an event destructive
- `matrix_synapse.admin_rooms.rooms_block` Block or unblock a room write
- `matrix_synapse.admin_rooms.rooms_block_status` Get a room's block status read
- `matrix_synapse.admin_rooms.rooms_delete` Delete a room (v2, background task) destructive
- `matrix_synapse.admin_rooms.rooms_delete_status` Get the status of room deletions by room read
- `matrix_synapse.admin_rooms.rooms_delete_status_by_id` Get the status of a room deletion by delete id read
- `matrix_synapse.admin_rooms.rooms_delete_v1` Delete a room (v1, synchronous) destructive
- `matrix_synapse.admin_rooms.rooms_event_context` Get the events around an event read
- `matrix_synapse.admin_rooms.rooms_forward_extremities` List a room's forward extremities read
- `matrix_synapse.admin_rooms.rooms_forward_extremities_delete` Delete a room's extra forward extremities destructive
- `matrix_synapse.admin_rooms.rooms_get` Get room details read
- `matrix_synapse.admin_rooms.rooms_hierarchy` Walk a space's room hierarchy read
- `matrix_synapse.admin_rooms.rooms_join_user` Join a local user to a room write
- `matrix_synapse.admin_rooms.rooms_list` List rooms on the server read
- `matrix_synapse.admin_rooms.rooms_make_room_admin` Grant a local user the highest power level in a room destructive
- `matrix_synapse.admin_rooms.rooms_members` List a room's members read
- `matrix_synapse.admin_rooms.rooms_messages` List a room's messages read
- `matrix_synapse.admin_rooms.rooms_state` Get a room's current state read
- `matrix_synapse.admin_rooms.rooms_timestamp_to_event` Find the event closest to a timestamp read

**Key backup 14**

- `matrix_synapse.key_backup.delete_room_key_by_session_id` Delete a key from the backup destructive
- `matrix_synapse.key_backup.delete_room_keys` Delete the keys from the backup destructive
- `matrix_synapse.key_backup.delete_room_keys_by_room_id` Delete the keys from the backup for a given room destructive
- `matrix_synapse.key_backup.delete_room_keys_version` Delete an existing key backup destructive
- `matrix_synapse.key_backup.get_room_key_by_session_id` Retrieve a key from the backup read
- `matrix_synapse.key_backup.get_room_keys` Retrieve the keys from the backup read
- `matrix_synapse.key_backup.get_room_keys_by_room_id` Retrieve the keys from the backup for a given room read
- `matrix_synapse.key_backup.get_room_keys_version` Get information about an existing backup read
- `matrix_synapse.key_backup.get_room_keys_version_current` Get information about the latest backup version read
- `matrix_synapse.key_backup.post_room_keys_version` Create a new backup write
- `matrix_synapse.key_backup.put_room_key_by_session_id` Store a key in the backup write
- `matrix_synapse.key_backup.put_room_keys` Store several keys in the backup write
- `matrix_synapse.key_backup.put_room_keys_by_room_id` Store several keys in the backup for a given room write
- `matrix_synapse.key_backup.put_room_keys_version` Update information about an existing backup write

**Admin media 13**

- `matrix_synapse.admin_media.media_delete` Delete a local media item destructive
- `matrix_synapse.admin_media.media_delete_by_date` Delete local media older than a timestamp destructive
- `matrix_synapse.admin_media.media_delete_by_date_legacy` Delete local media older than a timestamp (legacy path) destructive
- `matrix_synapse.admin_media.media_get` Query a media item's metadata read
- `matrix_synapse.admin_media.media_protect` Protect a local media item from quarantine write
- `matrix_synapse.admin_media.media_quarantine` Quarantine one media item write
- `matrix_synapse.admin_media.media_quarantine_changes` List recent quarantine changes read
- `matrix_synapse.admin_media.media_unprotect` Remove quarantine protection from a media item write
- `matrix_synapse.admin_media.media_unquarantine` Remove one media item from quarantine write
- `matrix_synapse.admin_media.purge_media_cache` Purge cached remote media older than a timestamp destructive
- `matrix_synapse.admin_media.room_media_list` List the media in a room read
- `matrix_synapse.admin_media.room_media_quarantine` Quarantine all media in a room write
- `matrix_synapse.admin_media.user_media_quarantine` Quarantine all media a user uploaded write

**Admin server 12**

- `matrix_synapse.admin_server.background_updates_enabled_get` Get whether background updates are enabled read
- `matrix_synapse.admin_server.background_updates_enabled_set` Pause or resume background updates write
- `matrix_synapse.admin_server.background_updates_start_job` Start a background update job write
- `matrix_synapse.admin_server.background_updates_status` Get the status of running background updates read
- `matrix_synapse.admin_server.experimental_features_get` Get the experimental features enabled for a user read
- `matrix_synapse.admin_server.experimental_features_set` Enable or disable experimental features for a user write
- `matrix_synapse.admin_server.scheduled_tasks_list` List scheduled tasks read
- `matrix_synapse.admin_server.server_notice_send` Send a server notice to a user write
- `matrix_synapse.admin_server.server_notice_send_idempotent` Send a server notice to a user with a transaction id write
- `matrix_synapse.admin_server.server_version` Get the Synapse server version read
- `matrix_synapse.admin_server.statistics_database_rooms` List the rooms using the most database space read
- `matrix_synapse.admin_server.statistics_users_media` List users by uploaded media count and size read

**Push 11**

- `matrix_synapse.push.delete_push_rule` Delete a push rule destructive
- `matrix_synapse.push.get_push_rule` Retrieve a push rule read
- `matrix_synapse.push.get_push_rule_actions` The actions for a push rule read
- `matrix_synapse.push.get_push_rules` Retrieve all push rulesets read
- `matrix_synapse.push.get_push_rules_global` Retrieve all push rules read
- `matrix_synapse.push.get_pushers` Gets the current pushers for the authenticated user read
- `matrix_synapse.push.is_push_rule_enabled` Get whether a push rule is enabled read
- `matrix_synapse.push.post_pusher` Modify a pusher for this user on the homeserver write
- `matrix_synapse.push.set_push_rule` Add or change a push rule write
- `matrix_synapse.push.set_push_rule_actions` Set the actions for a push rule write
- `matrix_synapse.push.set_push_rule_enabled` Enable or disable a push rule write

**Room membership 10**

- `matrix_synapse.room_membership.ban` Ban a user in the room destructive
- `matrix_synapse.room_membership.forget_room` Stop the requesting user remembering about a particular room destructive
- `matrix_synapse.room_membership.invite_by_3pid` Invite a user to participate in a particular room write
- `matrix_synapse.room_membership.invite_user` Invite a user to participate in a particular room write
- `matrix_synapse.room_membership.join_room` Join the requesting user to a particular room write
- `matrix_synapse.room_membership.join_room_by_id` Join the requesting user to a particular room write
- `matrix_synapse.room_membership.kick` Kick a user from the room destructive
- `matrix_synapse.room_membership.knock_room` Knock on a room, requesting permission to join write
- `matrix_synapse.room_membership.leave_room` Stop the requesting user participating in a particular room destructive
- `matrix_synapse.room_membership.unban` Unban a user from the room write

**Room events 9**

- `matrix_synapse.room_events.get_event_by_timestamp` Get the closest event ID to the given timestamp read
- `matrix_synapse.room_events.get_event_context` Get events and state around the specified event read
- `matrix_synapse.room_events.get_relating_events` Get the child events for a given parent event read
- `matrix_synapse.room_events.get_relating_events_with_rel_type` Get the child events for a given parent event, with a given `relType` read
- `matrix_synapse.room_events.get_relating_events_with_rel_type_and_event_type` Get the child events for a given parent event, with a given `relType` and `eventType` read
- `matrix_synapse.room_events.get_room_events` Get a list of events for this room read
- `matrix_synapse.room_events.get_thread_roots` Fetches a list of the threads in a room read
- `matrix_synapse.room_events.redact_event` Strips all non-integrity-critical information out of an event destructive
- `matrix_synapse.room_events.send_message` Send a message event to the given room write

**Room directory 8**

- `matrix_synapse.room_directory.delete_room_alias` Remove a mapping of room alias to room ID destructive
- `matrix_synapse.room_directory.get_local_aliases` Get a list of local aliases on a given room read
- `matrix_synapse.room_directory.get_public_rooms` Lists a server's published room directory read
- `matrix_synapse.room_directory.get_room_id_by_alias` Get the room ID corresponding to this room alias read
- `matrix_synapse.room_directory.get_room_visibility_on_directory` Gets the visibility of a room in the directory read
- `matrix_synapse.room_directory.query_public_rooms` Lists a server's published room directory with an optional filter read
- `matrix_synapse.room_directory.set_room_alias` Create a new mapping from room alias to room ID write
- `matrix_synapse.room_directory.set_room_visibility_on_directory` Sets the visibility of a room in the directory write

**Account 3pid 7**

- `matrix_synapse.account_3pid.add_3pid` Adds contact information to the user's account write
- `matrix_synapse.account_3pid.bind_3pid` Binds a 3PID to the user's account through an Identity Service write
- `matrix_synapse.account_3pid.delete_3pid` Deletes a third-party identifier from the user's account destructive
- `matrix_synapse.account_3pid.list_3pids` Gets a list of a user's third-party identifiers read
- `matrix_synapse.account_3pid.request_token_3pid_email` Begins the validation process for an email address for association with the user's account write
- `matrix_synapse.account_3pid.request_token_3pid_msisdn` Begins the validation process for a phone number for association with the user's account write
- `matrix_synapse.account_3pid.unbind_3pid` Removes a user's third-party identifier from an identity server destructive

**Rooms 7**

- `matrix_synapse.rooms.create_room` Create a new room write
- `matrix_synapse.rooms.get_joined_rooms` Lists the user's current rooms read
- `matrix_synapse.rooms.get_mutual_rooms` Get the list of rooms that the user shares with another user read
- `matrix_synapse.rooms.get_room_summary` Retrieves a summary for a room read
- `matrix_synapse.rooms.get_space_hierarchy` Retrieve a portion of a space tree read
- `matrix_synapse.rooms.room_initial_sync` Snapshot the current state of a room and its most recent messages read
- `matrix_synapse.rooms.upgrade_room` Upgrades a room to a new room version write

**Admin reports 6**

- `matrix_synapse.admin_reports.event_reports_delete` Delete an event report destructive
- `matrix_synapse.admin_reports.event_reports_get` Show a reported event read
- `matrix_synapse.admin_reports.event_reports_list` List reported events read
- `matrix_synapse.admin_reports.user_reports_delete` Delete a user report destructive
- `matrix_synapse.admin_reports.user_reports_get` Show a user report read
- `matrix_synapse.admin_reports.user_reports_list` List reported users read

**Keys 6**

- `matrix_synapse.keys.claim_keys` Claim one-time encryption keys write
- `matrix_synapse.keys.get_keys_changes` Query users with recent device key updates read
- `matrix_synapse.keys.query_keys` Download device identity keys read
- `matrix_synapse.keys.upload_cross_signing_keys` Upload cross-signing keys write
- `matrix_synapse.keys.upload_cross_signing_signatures` Upload cross-signing signatures write
- `matrix_synapse.keys.upload_keys` Upload end-to-end encryption keys write

**Room state 6**

- `matrix_synapse.room_state.get_joined_members_by_room` Gets the list of currently joined users and their profile data read
- `matrix_synapse.room_state.get_members_by_room` Get the m.room.member events for the room read
- `matrix_synapse.room_state.get_one_room_event` Get a single event by event ID read
- `matrix_synapse.room_state.get_room_state` Get all state events in the current state of a room read
- `matrix_synapse.room_state.get_room_state_with_key` Get the state identified by the type and key read
- `matrix_synapse.room_state.set_room_state_with_key` Send a state event to the given room write

**Server 6**

- `matrix_synapse.server.get_auth_metadata` Get the OAuth 2.0 authorisation server metadata read
- `matrix_synapse.server.get_capabilities` Gets information about the server's capabilities read
- `matrix_synapse.server.get_versions` Gets the versions of the specification supported by the server read
- `matrix_synapse.server.get_wellknown` Gets Matrix server discovery information about the domain read
- `matrix_synapse.server.get_wellknown_policy` Gets information about a Policy Server's configuration, if available read
- `matrix_synapse.server.get_wellknown_support` Gets homeserver contacts and support details read

**Third party 6**

- `matrix_synapse.third_party.get_protocol_metadata` Retrieve metadata about a specific protocol that the homeserver supports read
- `matrix_synapse.third_party.get_protocols` Retrieve metadata about all protocols that a homeserver supports read
- `matrix_synapse.third_party.query_location_by_alias` Reverse-lookup third-party locations given a Matrix room alias read
- `matrix_synapse.third_party.query_location_by_protocol` Retrieve Matrix-side portals rooms leading to a third-party location read
- `matrix_synapse.third_party.query_user_by_id` Reverse-lookup third-party users given a Matrix User ID read
- `matrix_synapse.third_party.query_user_by_protocol` Retrieve the Matrix User ID of a corresponding third-party user read

**Account 5**

- `matrix_synapse.account.change_password` Changes a user's password write
- `matrix_synapse.account.deactivate_account` Deactivate a user's account destructive
- `matrix_synapse.account.password_email_request_token` Requests a validation token be sent to the given email address for the purpose of resetting a user's password write
- `matrix_synapse.account.password_msisdn_request_token` Requests a validation token be sent to the given phone number for the purpose of resetting a user's password write
- `matrix_synapse.account.whoami` Gets information about the owner of an access token read

**Admin registration tokens 5**

- `matrix_synapse.admin_registration_tokens.registration_tokens_create` Create a registration token write
- `matrix_synapse.admin_registration_tokens.registration_tokens_delete` Delete a registration token destructive
- `matrix_synapse.admin_registration_tokens.registration_tokens_get` Get a registration token read
- `matrix_synapse.admin_registration_tokens.registration_tokens_list` List registration tokens read
- `matrix_synapse.admin_registration_tokens.registration_tokens_update` Update a registration token write

**Devices 5**

- `matrix_synapse.devices.delete_device` Delete a device destructive
- `matrix_synapse.devices.delete_devices` Bulk deletion of devices destructive
- `matrix_synapse.devices.get_device` Get a single device read
- `matrix_synapse.devices.get_devices` List registered devices for the current user read
- `matrix_synapse.devices.update_device` Create or update a device write

**Server admin 5**

- `matrix_synapse.server_admin.get_admin_lock_user` Gets information about the locked status of a particular user read
- `matrix_synapse.server_admin.get_admin_suspend_user` Gets information about the suspended status of a particular user read
- `matrix_synapse.server_admin.get_who_is` Gets information about a particular user read
- `matrix_synapse.server_admin.set_admin_lock_user` Set the locked status of a particular user destructive
- `matrix_synapse.server_admin.set_admin_suspend_user` Set the suspended status of a particular user destructive

**Session 5**

- `matrix_synapse.session.generate_login_token` Optional endpoint to generate a single-use, time-limited, `m.login.token` token write
- `matrix_synapse.session.get_login_flows` Get the supported login types to authenticate users read
- `matrix_synapse.session.logout` Invalidates a user access token destructive
- `matrix_synapse.session.logout_all` Invalidates all access tokens for a user destructive
- `matrix_synapse.session.request_open_id_token` Get an OpenID token object to verify the requester's identity write

**Account data 4**

- `matrix_synapse.account_data.get_account_data` Get some account data for the user read
- `matrix_synapse.account_data.get_account_data_per_room` Get some account data for the user that is specific to a room read
- `matrix_synapse.account_data.set_account_data` Set some account data for the user write
- `matrix_synapse.account_data.set_account_data_per_room` Set some account data for the user that is specific to a room write

**Admin federation 4**

- `matrix_synapse.admin_federation.destinations_get` Get a federation destination read
- `matrix_synapse.admin_federation.destinations_list` List federation destinations read
- `matrix_synapse.admin_federation.destinations_reset_connection` Reset a destination's connection timeout write
- `matrix_synapse.admin_federation.destinations_rooms` List the rooms shared with a destination read

**Profile 4**

- `matrix_synapse.profile.delete_profile_field` Remove a profile field from a user destructive
- `matrix_synapse.profile.get_profile_field` Get a profile field for a user read
- `matrix_synapse.profile.get_user_profile` Get all profile information for a user read
- `matrix_synapse.profile.set_profile_field` Set a profile field for a user write

**Registration 4**

- `matrix_synapse.registration.check_username_availability` Checks to see if a username is available on the server read
- `matrix_synapse.registration.registration_token_validity` Query if a given registration token is still valid read
- `matrix_synapse.registration.request_token_to_register_email` Begins the validation process for an email to be used during registration write
- `matrix_synapse.registration.request_token_to_register_msisdn` Requests a validation token be sent to the given phone number for the purpose of registering an account write

**Media 3**

- `matrix_synapse.media.create_content` Create a new `mxc://` URI without uploading the content write
- `matrix_synapse.media.get_config_authed` Get the configuration for the content repository read
- `matrix_synapse.media.get_url_preview_authed` Get information about a URL for a client read

**Reporting 3**

- `matrix_synapse.reporting.report_event` Report an event in a joined room as inappropriate write
- `matrix_synapse.reporting.report_room` Report a room as inappropriate write
- `matrix_synapse.reporting.report_user` Report a user as inappropriate write

**Tags 3**

- `matrix_synapse.tags.delete_room_tag` Remove a tag from the room destructive
- `matrix_synapse.tags.get_room_tags` List the tags for a room read
- `matrix_synapse.tags.set_room_tag` Add a tag to a room write

**Appservice 2**

- `matrix_synapse.appservice.ping_appservice` Ask the homeserver to ping the application service to ensure the connection works write
- `matrix_synapse.appservice.update_appservice_room_directory_visibility` Updates a room's visibility in the application service's published room directory write

**Filters 2**

- `matrix_synapse.filters.define_filter` Upload a new filter write
- `matrix_synapse.filters.get_filter` Download a filter read

**Presence 2**

- `matrix_synapse.presence.get_presence` Get this user's presence state read
- `matrix_synapse.presence.set_presence` Update this user's presence state write

**Receipts 2**

- `matrix_synapse.receipts.post_receipt` Send a receipt for the given event ID write
- `matrix_synapse.receipts.set_read_marker` Set the position of the read marker for a room write

**Sync 2**

- `matrix_synapse.sync.peek_events` Listen on the event stream of a particular room read
- `matrix_synapse.sync.sync` Synchronise the client's state and receive new messages read

**Notifications 1**

- `matrix_synapse.notifications.get_notifications` Gets a list of events that the user has been notified about read

**Search 1**

- `matrix_synapse.search.search` Perform a server-side search read

**To device 1**

- `matrix_synapse.to_device.send_to_device` Send an event to a given set of devices write

**Typing 1**

- `matrix_synapse.typing.set_typing` Informs the server that the user has started or stopped typing write

**User directory 1**

- `matrix_synapse.user_directory.search_user_directory` Searches the user directory read

**Voip 1**

- `matrix_synapse.voip.get_turn_server` Obtain TURN server credentials read

Questions

## The Matrix / Element (Client-Server + Synapse Admin) MCP server, answered.

**Is there a Matrix / Element (Client-Server + Synapse Admin) MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 246 Matrix / Element (Client-Server + Synapse Admin) actions across admin users, admin rooms, key backup and admin media, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Matrix / Element (Client-Server + Synapse Admin).

**What do I need to connect Matrix / Element (Client-Server + Synapse Admin)?**

Matrix access token, sent as `Authorization. Plus your host. The free call account { op: "connections.requirements", service: "matrix_synapse" } lists exactly what to paste.

**Can an AI agent delete or change things in Matrix / Element (Client-Server + Synapse Admin)?**

Only if its key allows it, and only with an explicit confirmation. 46 Matrix / Element (Client-Server + Synapse Admin) actions are destructive, including kick a user from the room, ban a user in the room and delete a room (v2, background task). 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 Matrix / Element (Client-Server + Synapse Admin) API limit?**

actionlake paces every call to the limits in the Matrix / Element (Client-Server + Synapse Admin) service file: 10 calls a second per connection. Repeated reads are answered from cache (121 Matrix / Element (Client-Server + Synapse Admin) actions can be), which never reaches Matrix / Element (Client-Server + Synapse Admin).

**What does a Matrix / Element (Client-Server + Synapse Admin) action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (246 Matrix / Element (Client-Server + Synapse Admin) actions page). Cache hits, searches, dry runs and calls Matrix / Element (Client-Server + Synapse Admin) 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 Matrix / Element (Client-Server + Synapse Admin) API does it cover?**

The Matrix Client-Server API (matrix-spec main, v3/v1 endpoints) and Synapse Admin API v1/v2/v3 at your Matrix / Element (Client-Server + Synapse Admin) instance's API base URL, which you enter when connecting. It is built from Matrix / Element (Client-Server + Synapse Admin)'s documentation as read on 23 October 2026. 246 actions in 39 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Matrix / Element (Client-Server + Synapse Admin) data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 1 minute, 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 Matrix / Element (Client-Server + Synapse Admin) 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 Matrix / Element (Client-Server + Synapse Admin)

Shares the most action names with

- [Rocket.Chat 12](https://actionlake.com/connectors/rocket-chat)
- [Zulip 10](https://actionlake.com/connectors/zulip)
- [Discord 9](https://actionlake.com/connectors/discord)
- [Cisco Webex 8](https://actionlake.com/connectors/cisco-webex)
- [Google Chat 7](https://actionlake.com/connectors/google-chat)
- [Google Cloud Pub/Sub 3](https://actionlake.com/connectors/google-cloud-pub-sub)

Joins with, on shared entities

- [Lark Suite 2](https://actionlake.com/connectors/lark-suite)
- [Basecamp 2](https://actionlake.com/connectors/basecamp)
- [Zoom 2](https://actionlake.com/connectors/zoom)
- [Discourse 2](https://actionlake.com/connectors/discourse)
- [Fireflies.ai 2](https://actionlake.com/connectors/fireflies-ai)
- [Freshworks Freshchat 2](https://actionlake.com/connectors/freshworks-freshchat)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Matrix / Element (Client-Server + Synapse Admin); the name is the vendor's own. Counts are from the Matrix / Element (Client-Server + Synapse Admin) service file, version 1.0.0.

## Give your agent Matrix / Element (Client-Server + Synapse Admin) today.

[Connect Matrix / Element (Client-Server + Synapse Admin) 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/matrix-element-client-server-synapse-admin
More: https://actionlake.com/llms.txt
