# k-jarzyna/mcp-miro [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/k-jarzyna/mcp-miro  
**GitHub Stars:** 65  
**npm Downloads (last month):** 472  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/k-jarzyna-mcp-miro

## Description
Miro MCP server, exposing all functionalities available in official Miro SDK

## Tools
Capabilities this server exposes over MCP:

- **list-boards** — List all available Miro boards
- **create-board** — Create a new Miro board with specified name and sharing policies
- **update-board** — Update an existing Miro board with new settings
- **delete-board** — Delete a Miro board by its ID. Deleted boards go to Trash (on paid plans) and can be restored via UI within 90 days after deletion.
- **copy-board** — Create a copy of an existing Miro board with optional new settings
- **get-specific-board** — Retrieve information about a specific Miro board by its ID
- **get-items-on-board** — Retrieve all items on a specific Miro board
- **get-specific-item** — Retrieve information about a specific item on a Miro board
- **update-item-position** — Update the position or parent of a specific item on a Miro board
- **delete-item** — Delete a specific item from a Miro board
- **create-app-card-item** — Create a new app card item on a Miro board
- **get-app-card-item** — Retrieve information about a specific app card item on a Miro board
- **update-app-card-item** — Update an existing app card item on a Miro board
- **delete-app-card-item** — Delete a specific app card item from a Miro board
- **create-card-item** — Create a new card item on a Miro board
- **get-card-item** — Retrieve information about a specific card item on a Miro board
- **update-card-item** — Update an existing card item on a Miro board
- **delete-card-item** — Delete a specific card item from a Miro board
- **create-connector** — Create a new connector between items on a Miro board
- **get-connectors** — Retrieve all connectors on a specific Miro board
- **get-specific-connector** — Retrieve information about a specific connector on a Miro board
- **update-connector** — Update an existing connector on a Miro board
- **delete-connector** — Delete a specific connector from a Miro board
- **create-sticky-note-item** — Create a new sticky note item on a Miro board
- **get-sticky-note-item** — Retrieve information about a specific sticky note item on a Miro board
- **update-sticky-note-item** — Update an existing sticky note item on a Miro board
- **delete-sticky-note-item** — Delete a specific sticky note item from a Miro board
- **create-frame** — Create a new frame on a Miro board
- **get-frame-item** — Retrieve information for a specific frame on a Miro board
- **update-frame-item** — Update a frame on a Miro board based on the data, style, or geometry properties provided in the request body
- **delete-frame-item** — Delete a frame from a Miro board
- **create-document-item** — Create a new document item on a Miro board
- **get-document-item** — Retrieve information about a specific document item on a Miro board
- **update-document-item** — Update an existing document item on a Miro board
- **delete-document-item** — Delete a specific document item from a Miro board
- **create-text-item** — Create a new text item on a Miro board
- **get-text-item** — Retrieve information about a specific text item on a Miro board
- **update-text-item** — Update an existing text item on a Miro board
- **delete-text-item** — Delete a specific text item from a Miro board
- **create-items-in-bulk** — Create multiple items on a Miro board in a single operation
- **create-image-item-using-url** — Create a new image item on a Miro board using a URL
- **create-image-item-using-file** — Create a new image item on a Miro board using file from device or from chat
- **get-image-item** — Retrieve information about a specific image item on a Miro board
- **update-image-item** — Update an existing image item on a Miro board
- **update-image-item-using-file** — Update an existing image item on a Miro board using file from device
- **delete-image-item** — Delete a specific image item from a Miro board
- **create-shape-item** — Create a new shape item on a Miro board
- **get-shape-item** — Retrieve information about a specific shape item on a Miro board
- **update-shape-item** — Update an existing shape item on a Miro board
- **delete-shape-item** — Delete a specific shape item from a Miro board
- **create-embed-item** — Create a new embed item on a Miro board
- **get-embed-item** — Retrieve information about a specific embed item on a Miro board
- **update-embed-item** — Update an existing embed item on a Miro board
- **delete-embed-item** — Delete a specific embed item from a Miro board
- **create-tag** — Create a new tag on a Miro board
- **get-tag** — Retrieve information about a specific tag on a Miro board
- **get-all-tags** — Retrieve all tags on a Miro board
- **update-tag** — Update an existing tag on a Miro board
- **delete-tag** — Delete a specific tag from a Miro board
- **attach-tag** — Attach a tag to an item on a Miro board
- **detach-tag** — Detach a tag from an item on a Miro board
- **get-item-tags** — Retrieve all tags attached to a specific item on a Miro board
- **get-all-board-members** — Retrieve all members of a specific Miro board
- **get-specific-board-member** — Retrieve details of a specific member on a Miro board
- **remove-board-member** — Remove a specific member from a Miro board
- **share-board** — Share a Miro board with specific access level and optional team assignment
- **update-board-member** — Update a specific member's role or status on a Miro board
- **create-group** — Create a new group on a Miro board
- **get-all-groups** — Retrieve all groups on a Miro board
- **get-group** — Retrieve information about a specific group on a Miro board
- **get-group-items** — Retrieve all items in a specific group on a Miro board
- **update-group** — Update a specific group on a Miro board with new items
- **ungroup-items** — Ungroup a specific group on a Miro board
- **delete-group** — Delete a specific group from a Miro board
- **create-items-in-bulk-using-file** — Create multiple items on a Miro board in a single operation using a JSON file from device
- **create-mindmap-node** — Create a new mind map node on a Miro board
- **get-mindmap-node** — Retrieve information about a specific mind map node on a Miro board
- **get-mindmap-nodes** — Retrieve a list of mind map nodes on a Miro board
- **delete-mindmap-node** — Delete a mind map node from a Miro board
- **get-board-classification** — Retrieves board classification for a board (Enterprise only)
- **update-board-classification** — Updates board classification for an existing board (Enterprise only)
- **create-board-export-job** — Creates an export job for one or more boards (Enterprise only)
- **get-board-export-job-status** — Retrieves the status of a board export job (Enterprise only)
- **get-board-export-job-results** — Retrieves the results of a board export job (Enterprise only)
- **get-audit-logs** — Retrieves a page of audit events from the last 90 days (Enterprise only)
- **get-organization-info** — Retrieves organization information (Enterprise only)
- **get-organization-members** — Retrieves a list of members for an organization (Enterprise only)
- **get-organization-member** — Retrieves information about a specific organization member (Enterprise only)
- **add-project-member** — Adds a member to a project (Enterprise only)
- **get-project-member** — Retrieves information about a specific project member (Enterprise only)
- **remove-project-member** — Removes a member from a project (Enterprise only)
- **get-all-cases** — Retrieves the list of eDiscovery cases in an organization (Enterprise only)
- **get-case** — Retrieves information about a specific eDiscovery case (Enterprise only)
- **get-all-legal-holds** — Retrieves the list of all legal holds within a case (Enterprise only)
- **get-legal-hold** — Retrieves information about a specific legal hold (Enterprise only)
- **get-legal-hold-content-items** — Retrieves the list of content items under legal hold (Enterprise only)
- **get-board-content-logs** — Retrieves content change logs of board items (Enterprise only)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "mcp-miro": {
    "command": "npx",
    "args": ["-y","@k-jarzyna/mcp-miro"],
    "env": {
      "MIRO_ACCESS_TOKEN": ""
    }
  }
}
```

**Requires environment variables:** `MIRO_ACCESS_TOKEN` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What k-jarzyna/mcp-miro MCP server does

k-jarzyna/mcp-miro MCP server gives an MCP client access to Miro through the Miro API. Its tool surface covers both workspace administration and visual board content. An assistant can list, create, update, copy, retrieve, share, and delete boards, inspect board items, and manage board members.

The server also exposes operations for common Miro item types. These include cards, app cards, sticky notes, frames, documents, text, images, shapes, embeds, connectors, groups, tags, and mind-map nodes. Bulk creation is supported, including a file-based bulk operation. Board exports, classifications, cases, legal holds, audit logs, content logs, and organization or project membership are also represented in the available tools.

## How it works

The server uses a Miro access token supplied through the `MIRO_ACCESS_TOKEN` environment variable. An MCP client starts the Node.js process and communicates with it using the configured command. Tool calls are translated into Miro operations, allowing the client to request reads or changes through named tools such as `list-boards`, `create-board`, `get-items-on-board`, or `update-sticky-note-item`.

The token must be created through a Miro app in the Miro Developer Portal. The documented required permissions are `boards:read`, `boards:write`, `identity:read`, `identity:write`, `team:read`, and `team:write`. Other listed permissions, including microphone, screen recording, webcam, audit-log, and session-deletion permissions, are marked optional in the project instructions.

## Setup and configuration

For a quick client setup, install Node.js version 16 or newer and configure the MCP client to run `npx -y @k-jarzyna/mcp-miro`. Add `MIRO_ACCESS_TOKEN` to the process environment, then restart the client after saving its configuration. The README provides a Claude Desktop configuration using the `mcpServers` object and the `miro` server name.

For local development, install the npm dependencies, copy `.env.template` to `.env`, add the Miro token, and run `npm run build`. The resulting server can be started with `node build/index.js`. The repository instructions specifically document Claude Desktop configuration paths for macOS and Windows.

## Tools and capabilities

The available tools include:

- Board lifecycle operations, board lookup, board content retrieval, sharing, member management, and exports.
- Creation, retrieval, modification, positioning, and deletion for many Miro item types.
- Connector creation and maintenance, grouping and ungrouping, tagging, and bulk item creation.
- Mind-map node operations and project membership management.
- Organization, compliance, legal-hold, case, audit-log, classification, and content-log queries.

The exact tool names mirror the Miro operations documented by the project, using names such as `create-frame`, `get-specific-connector`, `attach-tag`, and `get-organization-members`.

## Limitations and notes

k-jarzyna/mcp-miro MCP server requires a Miro account, a generated OAuth access token, and the permissions needed by the requested operations. Actions that modify boards or content require write access in the token configuration.

The project is licensed under Apache License 2.0. Client configuration details are explicitly provided for Claude Desktop; other MCP clients require their own method for launching a standard command-based server and passing the environment variable.

_Full upstream README: https://allmcps.com/mcp/k-jarzyna-mcp-miro/readme_

