@bossforce.ai/mcp-miro
v0.1.0
Published
MCP server for the **Miro REST API v2**, authenticated with a Miro OAuth access token (`Authorization: Bearer <token>`). A good fit for spinning up boards and capturing ideas as sticky notes from an agent workflow.
Readme
@bossforce.ai/mcp-miro
MCP server for the Miro REST API v2, authenticated with a Miro OAuth access
token (Authorization: Bearer <token>). A good fit for spinning up boards and
capturing ideas as sticky notes from an agent workflow.
Credentials
| Env | How to obtain |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| MIRO_ACCESS_TOKEN | Create an app at developers.miro.com (My apps → Create new app), add the boards:read/boards:write scopes, install it to your team, and authorize to obtain an access token. |
Required scopes: boards:read and boards:write. The token is read lazily, so
the server boots and answers tools/list without it; calls fail with an auth
error until it is set.
Tools
| Tool | Arguments | Returns |
| -------------------- | ----------------------------------------------------------- | ------------------------------- |
| list_boards | query?, team_id?, limit?, offset?, sort? | { data, total, size, offset } |
| get_board | board_id | the board object |
| create_board | name?, description?, teamId?, projectId?, policy? | the created board object |
| create_sticky_note | board_id, content, shape?, position?, style? | the created sticky note item |
Responses are Miro's native JSON payloads, returned as structuredContent.
Working with boards and items
list_boards returns the accessible boards under data with paging metadata
(total, size, offset); page forward with offset. Use get_board to read
a single board by id. create_sticky_note puts the note text in content
(simple HTML allowed); shape is square or rectangle, and position places
the note in board coordinates.
Develop
pnpm --filter @bossforce.ai/mcp-miro build
pnpm --filter @bossforce.ai/mcp-miro testRegenerate the tools/list snapshot after an intentional signature change:
UPDATE_SNAPSHOTS=1 pnpm --filter @bossforce.ai/mcp-miro test