Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
FROM node:18-alpine AS builder

# Set working directory
WORKDIR /app

# Copy package.json and package-lock.json for installing dependencies
COPY package.json package-lock.json ./

# Install dependencies
RUN npm ci

# Copy the rest of the application files
COPY . .

# Build the application
RUN npm run build

FROM node:18-alpine AS release

# Set working directory
WORKDIR /app

# Copy the build artifacts and node_modules from the builder stage
COPY --from=builder /app/build /app/build
COPY --from=builder /app/node_modules /app/node_modules
COPY --from=builder /app/package.json /app/package.json

# Specify environment variables (these should be set to the base64 encoded strings of your credentials)
ENV GOOGLE_CREDENTIALS=your_base64_encoded_credentials_here
ENV GOOGLE_TOKEN=your_base64_encoded_token_here

# Start the application
ENTRYPOINT ["node", "build/index.js"]
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# systemprompt-mcp-gmail

[![npm version](https://img.shields.io/npm/v/systemprompt-mcp-gmail.svg)](https://www.npmjs.com/package/systemprompt-mcp-gmail)
[![smithery badge](https://smithery.ai/badge/systemprompt-mcp-gmail)](https://smithery.ai/server/systemprompt-mcp-gmail)
[![smithery badge](https://smithery.ai/badge/@Ejb503/systemprompt-mcp-gmail)](https://smithery.ai/server/@Ejb503/systemprompt-mcp-gmail)
[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Twitter Follow](https://img.shields.io/twitter/follow/tyingshoelaces_?style=social)](https://twitter.com/tyingshoelaces_)
[![Discord](https://img.shields.io/discord/1255160891062620252?color=7289da&label=discord)](https://discord.com/invite/wkAbSuPWpr)
Expand All @@ -28,6 +28,14 @@ Read emails

## Installation

### Installing via Smithery

To install systemprompt-mcp-gmail for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@Ejb503/systemprompt-mcp-gmail):

```bash
npx -y @smithery/cli install @Ejb503/systemprompt-mcp-gmail --client claude
```

This server requires GOOGLE_CREDENTIALS and GOOGLE_TOKEN environment variables to be set. These must be base64 encoded strings of the credentials and token. There is a script to help with this in the [multimodal-mcp-client](https://github.com/Ejb503/multimodal-mcp-client) repository. Follow the instructions here: https://github.com/Ejb503/multimodal-mcp-client/blob/master/scripts/google-auth/README.md

After generating your base64 encoded strings, you can run the server with npx.
Expand Down
25 changes: 25 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 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:
- googleCredentials
- googleToken
- systempromptApiKey
properties:
googleCredentials:
type: string
description: Base64 encoded Google credentials.
googleToken:
type: string
description: Base64 encoded Google token.
systempromptApiKey:
type: string
description: API key for authenticating with the systemprompt.
commandFunction:
# A function that produces the CLI command to start the MCP on stdio.
|-
(config) => ({ command: 'node', args: ['build/index.js'], env: { GOOGLE_CREDENTIALS: config.googleCredentials, GOOGLE_TOKEN: config.googleToken, SYSTEMPROMPT_API_KEY: config.systempromptApiKey } })