Skip to content
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

Deployment: Dockerfile and Smithery config #28

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
29 changes: 29 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
# Start from the latest golang base image for building
FROM golang:1.18-alpine AS builder

# Set the Current Working Directory inside the container
WORKDIR /app

# Copy go mod and sum files
COPY go.mod go.sum ./

# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed
RUN go mod download

# Copy the source from the current directory to the Working Directory inside the container
COPY . .

# Build the Go app
RUN go build -o metoro-mcp-server .

# Start a new stage from scratch for the final build
FROM alpine:latest

WORKDIR /root/

# Copy the Pre-built binary file from the previous stage
COPY --from=builder /app/metoro-mcp-server .

# Command to run the executable
CMD ["./metoro-mcp-server"]
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
![GitHub license](https://img.shields.io/github/license/metoro-io/metoro-mcp-server)
![GitHub contributors](https://img.shields.io/github/contributors/metoro-io/metoro-mcp-server)
![GitHub last commit](https://img.shields.io/github/last-commit/metoro-io/metoro-mcp-server)
[![smithery badge](https://smithery.ai/badge/metoro-mcp-server)](https://smithery.ai/server/metoro-mcp-server)
[![GoDoc](https://pkg.go.dev/badge/github.com/metoro-io/metoro-mcp-server.svg)](https://pkg.go.dev/github.com/metoro-io/metoro-mcp-server)
[![Go Report Card](https://goreportcard.com/badge/github.com/metoro-io/metoro-mcp-server)](https://goreportcard.com/report/github.com/metoro-io/metoro-mcp-server)
![Tests](https://github.com/metoro-io/metoro-mcp-server/actions/workflows/go-test.yml/badge.svg)
Expand Down Expand Up @@ -43,6 +44,14 @@ https://github.com/user-attachments/assets/b3f21e9a-45b8-4c17-8d8c-cff560d8694f
4. Navigate to the repository directory: `cd metoro-mcp-server`
5. Build the server executable: `go build -o metoro-mcp-server`

### Installing via Smithery

To install the Metoro MCP Protocol for Claude Desktop automatically via [Smithery](https://smithery.ai/server/metoro-mcp-server):

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

### If you already have a Metoro Account:
Copy your auth token from your Metoro account in [Settings](https://us-east.metoro.io/settings) -> Users Settings.
Create a file in `~/Library/Application Support/Claude/claude_desktop_config.json` with the following contents:
Expand Down
21 changes: 21 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 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:
- metoroAuthToken
- metoroApiUrl
properties:
metoroAuthToken:
type: string
description: The authentication token for accessing Metoro services.
metoroApiUrl:
type: string
description: The API URL for Metoro services.
commandFunction:
# A function that produces the CLI command to start the MCP on stdio.
|-
(config) => ({command: './metoro-mcp-server', args: [], env: { METORO_AUTH_TOKEN: config.metoroAuthToken, METORO_API_URL: config.metoroApiUrl }})