diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c2a8217 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Use the official lightweight Node.js image +FROM node:18-alpine AS builder + +# Set the working directory +WORKDIR /app + +# Copy package.json and package-lock.json +COPY package.json package-lock.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application code +COPY . . + +# Build the TypeScript application +RUN npm run build + +# Use a separate runtime container to keep it lightweight +FROM node:18-alpine AS runner + +WORKDIR /app + +# Copy the built files from the builder +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json + +# Set environment variable for production +ENV NODE_ENV=production + +# Install only production dependencies +RUN npm ci --only=production + +# Run the application +ENTRYPOINT ["node", "dist/index.js"] diff --git a/README.md b/README.md index 606e296..d2c7970 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Multiverse MCP Server +[![smithery badge](https://smithery.ai/badge/@lamemind/mcp-server-multiverse)](https://smithery.ai/server/@lamemind/mcp-server-multiverse) + A middleware server that enables multiple isolated instances of the same MCP servers to coexist independently with unique namespaces and configurations. The Multiverse MCP Server creates isolated operational spaces where identical MCP servers can run simultaneously without conflicts. Each "universe" maintains its own configuration, filesystem access, and function naming, enabling developers to run multiple instances of the same server type while maintaining complete separation between different contexts or projects. @@ -21,6 +23,16 @@ The Multiverse MCP Server creates isolated operational spaces where identical MC ## Installation +### Installing via Smithery + +To install Multiverse MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@lamemind/mcp-server-multiverse): + +```bash +npx -y @smithery/cli install @lamemind/mcp-server-multiverse --client claude +``` + +### Installing manually + First, ensure you've downloaded and installed the [Claude Desktop app](https://claude.ai/download) and you have npm installed. Next, add this entry to your `claude_desktop_config.json` diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..e6ebbf5 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,17 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - configFile + properties: + configFile: + type: string + description: The path to the configuration JSON file for the MCP server. + commandFunction: + # A function that produces the CLI command to start the MCP on stdio. + |- + (config) => ({command:'node',args:['dist/index.js',config.configFile]})