From 6f38e5b9ba88cb0ad052b14eb6f705739b6cf3ad Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:43:54 -0700 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9882281 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Stage 1: Build the TypeScript source +FROM node:lts-alpine AS builder +WORKDIR /app +# Install dependencies without running build scripts +COPY package.json package-lock.json tsconfig.json ./ +RUN npm ci --ignore-scripts +# Copy all source files +COPY . . +# Build the project +RUN npm run build + +# Stage 2: Create minimal runtime image +FROM node:lts-alpine +WORKDIR /app +# Install only production dependencies without running scripts +COPY package.json package-lock.json ./ +RUN npm ci --omit=dev --ignore-scripts +# Copy built files +COPY --from=builder /app/build ./build +# Default entrypoint +ENTRYPOINT ["node", "build/index.js"] From bc9e7731147aa6119b95872b3e9f9a2f7acd66a3 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:43:55 -0700 Subject: [PATCH 2/3] Add Smithery configuration --- smithery.yaml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 smithery.yaml diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..db49120 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,31 @@ +# 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: + - awsCognitoUserPoolId + - awsCognitoUserPoolClientId + properties: + awsCognitoUserPoolId: + type: string + description: Cognito User Pool ID + awsCognitoUserPoolClientId: + type: string + description: Cognito App Client ID + 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'], + env: { + AWS_COGNITO_USER_POOL_ID: config.awsCognitoUserPoolId, + AWS_COGNITO_USER_POOL_CLIENT_ID: config.awsCognitoUserPoolClientId + } + }) + exampleConfig: + awsCognitoUserPoolId: us-east-1_ABCDefghi + awsCognitoUserPoolClientId: 1h2g3f4e5d6c7b8a9 From 4ef8c08262cf22cbb81c06c41e6d32889af485fe Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:43:55 -0700 Subject: [PATCH 3/3] Update README --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5be9657..46b6602 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # AWS Cognito MCP Server +[![smithery badge](https://smithery.ai/badge/@gitCarrot/mcp-server-aws-cognito)](https://smithery.ai/server/@gitCarrot/mcp-server-aws-cognito) + A Model Context Protocol (MCP) server implementation that connects to AWS Cognito for authentication and user management. This server provides a set of tools for user authentication flows including sign-up, sign-in, password management, and more. ## Prerequisites @@ -8,6 +10,15 @@ A Model Context Protocol (MCP) server implementation that connects to AWS Cognit ## Installation +### Installing via Smithery + +To install AWS Cognito MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@gitCarrot/mcp-server-aws-cognito): + +```bash +npx -y @smithery/cli install @gitCarrot/mcp-server-aws-cognito --client claude +``` + +### Manual Installation ```bash # Clone the repository git clone https://github.com/yourusername/mcp-server-aws-cognito.git @@ -109,4 +120,3 @@ npm run inspector ``` Now you can use the AWS Cognito authentication tools with Claude! -