From 683596b857dd3abd075b40baff5e1c21fcf6d768 Mon Sep 17 00:00:00 2001 From: Shweta Mazumder Date: Sat, 21 Jun 2025 00:08:50 -0400 Subject: [PATCH 1/5] Add Dockerfile and .dockerignore for Docker support --- .dockerignore | 6 ++++++ Dockerfile | 5 +++++ 2 files changed, 11 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2f929c0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +node_modules +npm-debug.log +.git +.gitignore +.DS_Store + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ddbe21a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM node:18 +WORKDIR /app +COPY . . +RUN npm install && npm run build +CMD ["node", "build/index.js"] From 7eaac01a5f4facb319aa4faadafc7bffa1fdc509 Mon Sep 17 00:00:00 2001 From: Shweta Mazumder Date: Sat, 21 Jun 2025 00:21:44 -0400 Subject: [PATCH 2/5] docs: add docker and roo setup instructions to readme --- README.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/README.md b/README.md index f50e951..f98079e 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,20 @@ npx @michaellatman/mcp-get@latest install @llmindset/mcp-miro _Note - if you are using an old version of Windows PowerShell, you may need to run_ `Set-ExecutionPolicy Bypass -Scope Process` _before this command._ +### Running with Docker + +To run the server in a Docker container, first build the image: + +```bash +docker build -t mcp-miro . +``` + +Then, run the container, passing your MIRO OAuth key as an environment variable: + +```bash +docker run -i --rm -e MIRO_OAUTH_KEY="YOUR-MIRO-OAUTH-KEY" mcp-miro +``` + ## Features ![MIRO/Claude Desktop Screenshot](./2024-12-02-screenshot_1.png) @@ -82,6 +96,33 @@ On Windows: `%APPDATA%/Claude/claude_desktop_config.json` } ``` +### For Roo + +To use with Roo, add the server configuration to your `mcp_servers.json` file. + +On Linux/MacOS: `~/.config/roo/mcp_servers.json` +On Windows: `%APPDATA%/Roo/mcp_servers.json` + +```json +{ + "mcp-miro": { + "command": "docker", + "args": [ + "run", + "-i", + "--rm", + "-e", "MIRO_OAUTH_TOKEN", + "mcp-miro" + ], + "env": { + "MIRO_OAUTH_TOKEN": "YOUR-MIRO-OAUTH-KEY" + }, + "disabled": false, + "alwaysAllow": [] + } +} +``` + ### Debugging Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script: From 0bf57a51eceab6b7c2a73d561fbddef57473a155 Mon Sep 17 00:00:00 2001 From: shwetamazumder <105813559+shwetamazumder@users.noreply.github.com> Date: Sat, 21 Jun 2025 00:34:04 -0400 Subject: [PATCH 3/5] Update Dockerfile Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com> --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index ddbe21a..f9873a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM node:18 WORKDIR /app -COPY . . +COPY package*.json ./ RUN npm install && npm run build -CMD ["node", "build/index.js"] +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs +USER nextjs From 444f34591fadf4ba4bb7fee6ca4e940df4af129f Mon Sep 17 00:00:00 2001 From: Shweta Mazumder Date: Sat, 21 Jun 2025 00:47:14 -0400 Subject: [PATCH 4/5] updated to copy ackage*.json frist Dockerfile --- Dockerfile | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ddbe21a..c51a148 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,18 @@ FROM node:18 + WORKDIR /app + +COPY package*.json ./ + +RUN npm install + COPY . . -RUN npm install && npm run build + +RUN npm run build + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +USER nextjs + CMD ["node", "build/index.js"] From f26a7a239ba337f264525b5dd245d31732376636 Mon Sep 17 00:00:00 2001 From: Shweta Mazumder Date: Sat, 21 Jun 2025 01:09:23 -0400 Subject: [PATCH 5/5] bugix --- Dockerfile | 13 +++++++++---- README.md | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index c51a148..4be5bef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,16 +2,21 @@ FROM node:18 WORKDIR /app +# Copy only package.json files first COPY package*.json ./ -RUN npm install +# Disable lifecycle scripts for install step +RUN npm install --ignore-scripts +# Copy the rest of the application code COPY . . -RUN npm run build +# Manually run prepare now that code is present +RUN npm run prepare -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nextjs +# Create a non-root user +RUN addgroup --system --gid 1001 nodejs && \ + adduser --system --uid 1001 nextjs USER nextjs diff --git a/README.md b/README.md index f98079e..fdd3df2 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ docker build -t mcp-miro . Then, run the container, passing your MIRO OAuth key as an environment variable: ```bash -docker run -i --rm -e MIRO_OAUTH_KEY="YOUR-MIRO-OAUTH-KEY" mcp-miro +docker run -i --rm -e MIRO_OAUTH_TOKEN="YOUR-MIRO-OAUTH-TOKEN" mcp-miro ``` ## Features