diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..040ea56 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/build/project-config +# Builder stage +FROM node:lts-alpine as builder +WORKDIR /app + +# Install all dependencies (including dev) without running prepare +COPY package.json package-lock.json tsconfig.json ./ +RUN npm install --ignore-scripts + +# Copy source and build +COPY src ./src +RUN npm run build + +# Final stage +FROM node:lts-alpine +WORKDIR /app + +# Copy build output and dependencies from builder +COPY --from=builder /app/build ./build +COPY --from=builder /app/node_modules ./node_modules +COPY package.json ./package.json + +# Expose no ports since stdio +ENTRYPOINT ["node", "build/index.js"] diff --git a/README.md b/README.md index 0dc9f77..7575454 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,7 @@ Generates heatmaps, suitable for displaying data density and distribution. | `yAxisHasLabel` | Show Y axis labels | `boolean` | Optional | | `yAxisHasTick` | Show Y axis ticks | `boolean` | Optional | + ## Usage To use in desktop applications (such as Trae, Claude, VSCode, Cline, Cherry Studio, Cursor, etc.), add the following MCP server configuration: @@ -289,6 +290,14 @@ To use in desktop applications (such as Trae, Claude, VSCode, Cline, Cherry Stud } ``` +### Installing via Smithery + +To install vchart-mcp-server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@VisActor/vchart-mcp-server): + +```bash +npx -y @smithery/cli install @VisActor/vchart-mcp-server --client claude +``` + ## Running with SSE or Streamable Transport ### Install and Start diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..7ec48aa --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,14 @@ +# Smithery configuration file: https://smithery.ai/docs/build/project-config + +startCommand: + type: stdio + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ command: 'node', args: ['build/index.js'] }) + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + properties: {} + description: No configuration required. + exampleConfig: {}