# MIRO MCP Server
A Model Context Protocol (MCP) server that enables Claude Desktop to interact with MIRO boards.
## Features
- **List Boards**: Get all accessible MIRO boards
- **Get Board Details**: Retrieve specific board information
- **Get Board Items**: Fetch all items/widgets from a board (sticky notes, text, shapes, cards, etc.)
- **Get Frames**: List all frames in a board
- **Search Content**: Search for text across all items in a board
## Setup
### 1. Get MIRO API Token
1. Go to [MIRO Developer Portal](https://miro.com/app/settings/user-profile/apps)
2. Create a new app or use existing one
3. Generate an access token with these scopes:
- `boards:read`
- `boards:write` (optional, for future enhancements)
### 2. Install Dependencies
```bash
npm install
```
### 3. Configure Environment
Create a `.env` file:
```bash
cp .env.example .env
```
Edit `.env` and add your MIRO access token:
```
MIRO_ACCESS_TOKEN=your_actual_token_here
```
### 4. Build the Server
```bash
npm run build
```
### 5. Configure Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"miro": {
"command": "node",
"args": ["/Users/romanojl/Claude-Projects/MIRO-mcp/dist/index.js"],
"env": {
"MIRO_ACCESS_TOKEN": "your_miro_access_token_here"
}
}
}
}
```
**Note**: Replace the path in `args` with the actual path to your built `index.js` file.
### 6. Restart Claude Desktop
After configuration, restart Claude Desktop to load the MCP server.
## Development
Run in development mode with auto-reload:
```bash
npm run dev
```
## Available Tools in Claude
Once configured, you can use these commands in Claude Desktop:
- `list_boards` - List your MIRO boards
- `get_board` - Get details about a specific board
- `get_board_items` - Get all items from a board
- `get_board_frames` - Get all frames from a board
- `search_board_content` - Search for text in board items
### Example Usage in Claude:
"Can you show me all my MIRO boards?"
"Get all sticky notes from board [board_id]"
"Search for 'project timeline' in board [board_id]"
## Troubleshooting
1. **Authentication Error**: Ensure your MIRO access token is valid and has the correct permissions
2. **Server Not Found**: Check that the path in Claude Desktop config points to the correct `dist/index.js` file
3. **No Boards Found**: Verify your token has access to at least one board
## License
MIT