Skip to content

Commit e86c3a6

Browse files
Merge pull request #17 from smithery-ai/smithery/config-zzmw
Deployment: Dockerfile and Smithery config
2 parents 78a6603 + d6f8eb5 commit e86c3a6

File tree

3 files changed

+65
-3
lines changed

3 files changed

+65
-3
lines changed

Dockerfile

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2+
# Use a Python image with uv pre-installed
3+
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS uv
4+
5+
# Set the working directory
6+
WORKDIR /app
7+
8+
# Copy necessary configuration files
9+
COPY . .
10+
11+
# Enable bytecode compilation
12+
ENV UV_COMPILE_BYTECODE=1
13+
14+
# Use the copy link mode for mount points
15+
ENV UV_LINK_MODE=copy
16+
17+
# Sync dependencies and build the project
18+
RUN --mount=type=cache,target=/root/.cache/uv --mount=type=bind,source=uv.lock,target=uv.lock --mount=type=bind,source=pyproject.toml,target=pyproject.toml uv sync --frozen --no-install-project --no-dev --no-editable
19+
20+
# Install the project
21+
RUN --mount=type=cache,target=/root/.cache/uv uv sync --frozen --no-dev --no-editable
22+
23+
# Final stage: running the application
24+
FROM python:3.13-slim-bookworm
25+
26+
WORKDIR /app
27+
28+
COPY --from=uv /root/.local /root/.local
29+
COPY --from=uv --chown=app:app /app/.venv /app/.venv
30+
31+
# Place executables in the environment at the front of the path
32+
ENV PATH="/app/.venv/bin:$PATH"
33+
34+
# Expose necessary ports
35+
EXPOSE 4100
36+
37+
# Specify the entrypoint command
38+
ENTRYPOINT ["uv", "run", "mcp-gsuite"]

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# mcp-gsuite MCP server
22

3-
[![smithery badge](https://smithery.ai/badge/mcp-gsuite)](https://smithery.ai/protocol/mcp-gsuite)
3+
[![smithery badge](https://smithery.ai/badge/mcp-gsuite)](https://smithery.ai/server/mcp-gsuite)
44
MCP server to interact with Google produts.
55

66
## Example prompts
@@ -50,10 +50,10 @@ Example prompts you can try:
5050

5151
### Installing via Smithery
5252

53-
To install mcp-gsuite for Claude Desktop automatically via [Smithery](https://smithery.ai/protocol/mcp-gsuite):
53+
To install mcp-gsuite for Claude Desktop automatically via [Smithery](https://smithery.ai/server/mcp-gsuite):
5454

5555
```bash
56-
npx @smithery/cli install mcp-gsuite --client claude
56+
npx -y @smithery/cli install mcp-gsuite --client claude
5757
```
5858

5959
#### Oauth 2

smithery.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2+
3+
startCommand:
4+
type: stdio
5+
configSchema:
6+
# JSON Schema defining the configuration options for the MCP.
7+
type: object
8+
required:
9+
- gauthFile
10+
- accountsFile
11+
properties:
12+
gauthFile:
13+
type: string
14+
description: Path to the OAuth2 client configuration file.
15+
accountsFile:
16+
type: string
17+
description: Path to the Google accounts configuration file.
18+
credentialsDir:
19+
type: string
20+
description: Directory where OAuth credentials are stored.
21+
commandFunction:
22+
# A function that produces the CLI command to start the MCP on stdio.
23+
|-
24+
(config) => ({command: 'uv', args: ['run', 'mcp-gsuite', '--gauth-file', config.gauthFile, '--accounts-file', config.accountsFile, '--credentials-dir', config.credentialsDir]})

0 commit comments

Comments
 (0)