Skip to content

Deployment: Dockerfile and Smithery config #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
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
30 changes: 30 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
FROM python:3.12-slim

# set work directory
WORKDIR /app

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*

# Copy project dependency file
COPY pyproject.toml ./
COPY uv.lock ./

# Install pip and build dependencies
RUN pip install --upgrade pip \
&& pip install --no-cache-dir hatchling

# Copy entire project
COPY . .

# Install project in editable mode
RUN pip install --no-cache-dir .

# Expose any required ports if needed (if the server listens on a specific port)
EXPOSE 8000

# Default command to launch the MCP server
CMD ["mcp-server-appwrite"]
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Appwrite MCP server

[![smithery badge](https://smithery.ai/badge/@appwrite/mcp)](https://smithery.ai/server/@appwrite/mcp)

<!-- Cover image will go here once available -->

## Overview
Expand Down Expand Up @@ -36,6 +38,14 @@ APPWRITE_ENDPOINT=your-endpoint # Optional, defaults to https://cloud.appwrite.

## Installation

### Installing via Smithery

To install Appwrite MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@appwrite/mcp):

```bash
npx -y @smithery/cli install @appwrite/mcp --client claude
```

### Using uv (recommended)
When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *mcp-server-appwrite*.
Expand Down
37 changes: 37 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# 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:
- appwriteApiKey
- appwriteProjectId
properties:
appwriteApiKey:
type: string
description: Your Appwrite API key.
appwriteProjectId:
type: string
description: Your Appwrite project ID.
appwriteEndpoint:
type: string
default: https://cloud.appwrite.io/v1
description: Optional Appwrite endpoint URL.
commandFunction:
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
|-
(config) => ({
command: 'mcp-server-appwrite',
args: [],
env: {
APPWRITE_API_KEY: config.appwriteApiKey,
APPWRITE_PROJECT_ID: config.appwriteProjectId,
APPWRITE_ENDPOINT: config.appwriteEndpoint || 'https://cloud.appwrite.io/v1'
}
})
exampleConfig:
appwriteApiKey: dummy-api-key
appwriteProjectId: dummy-project-id
appwriteEndpoint: https://cloud.appwrite.io/v1