diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2aaa79b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Use an official Node.js image as a base +FROM node:20-alpine AS build + +# Set the working directory +WORKDIR /app + +# Copy the package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies without running scripts +RUN npm install --ignore-scripts + +# Copy the rest of the application code +COPY . . + +# Build the application +RUN npm run build + +# Use a lightweight Node.js image for the runtime +FROM node:20-alpine + +# Set the working directory +WORKDIR /app + +# Copy the built files and the node_modules +COPY --from=build /app/build /app/build +COPY --from=build /app/node_modules /app/node_modules +COPY --from=build /app/package.json /app/package.json + +# Set the environment variable for GitHub token +ENV GITHUB_TOKEN=your-github-token + +# Expose port if necessary (not specified in the README) +# EXPOSE 3000 + +# Run the application +CMD ["node", "build/index.js"] diff --git a/README.md b/README.md index 146e757..a01311a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Release Notes Server +Smithery Badge An MCP server that generates beautiful release notes from GitHub repositories. It efficiently fetches commits, organizes them by type, and presents them in a clean, readable format. ## Features @@ -13,6 +14,15 @@ An MCP server that generates beautiful release notes from GitHub repositories. I ## Installation +### Installing via Smithery + +To install Release Notes Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@nickbaumann98/release-notes-server): + +```bash +npx -y @smithery/cli install @nickbaumann98/release-notes-server --client claude +``` + +### Manual Installation ```bash npm install npm run build diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..021c4fa --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,18 @@ +# 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: + - githubToken + properties: + githubToken: + type: string + description: The GitHub personal access token with repo access for + authenticating API requests. + commandFunction: + # A function that produces the CLI command to start the MCP on stdio. + |- + config => ({command:'node', args:['build/index.js'], env:{GITHUB_TOKEN: config.githubToken}})