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
24 changes: 24 additions & 0 deletions Dockerfile
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Task Item 1: Add Dockerfile that permits building the Manifold Markets MCP as a Docker image to the repository

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM node:22-alpine AS builder

WORKDIR /app

COPY package.json /app/package.json
COPY package-lock.json /app/package-lock.json
COPY src/ /app/src
COPY tsconfig.json /app/tsconfig.json

RUN --mount=type=cache,target=/root/.npm npm ci

RUN npm run build

FROM node:22-alpine AS release

COPY --from=builder /app/build /app/build
COPY --from=builder /app/package.json /app/package.json
COPY --from=builder /app/node_modules /app/node_modules/

ENV NODE_ENV=production

WORKDIR /app

ENTRYPOINT ["node", "build/index.js"]
70 changes: 70 additions & 0 deletions README.md
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Task Item 3: Update section 3. Configure MCP Settings in repository README.md with the following instructions to run the MCP via Docker

Configuration from Issue #5 for reference:

docker pull <DOCKER_REGISTRY_NAME>/<MANIFOLD_MCP_DOCKER_IMAGE_NAME>:latest
{
  "mcpServers": {
    "manifold": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "MANIFOLD_API_KEY",
        "<MANIFOLD_MCP_LOCAL_DOCKER_IMAGE_NAME>"
      ],
      "env": {
        "MANIFOLD_API_KEY": "your_api_key_here"
      }
    }
  }
}

Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,35 @@ These operations are implemented but require specific user roles:

## Prerequisites

### NodeJS Installation
- Node.js 18 or higher
- npm or yarn
- Manifold Markets API key
- Minimum M$1000 balance for market creation

### Docker Installation
- Docker Engine v1.12.0 or greater (included with
[Docker Desktop](https://www.docker.com/products/docker-desktop/) installation
- Manifold Markets API key
- Minimum M$1000 balance for market creation

## Installation

### 1. Install the package

**NodeJS Installation:**

```bash
npm install manifold-mcp-server
```

**Docker Installation:**

```bash
docker pull ghcr.io/tiovikram/manifold-mcp-server
docker tag ghcr.io/tiovikram/manifold-mcp-server manifold-mcp-server
```

### 2. Get your API Key

1. Log in to [Manifold Markets](https://manifold.markets)
Expand All @@ -96,6 +112,8 @@ npm install manifold-mcp-server

### 3. Configure MCP Settings

**NodeJS Installation:**

#### For Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
Expand Down Expand Up @@ -132,6 +150,58 @@ Add to `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude
}
```

**Docker Installation:**

#### For Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
"mcpServers": {
"manifold": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MANIFOLD_API_KEY",
"manifold-mcp-server"
],
"env": {
"MANIFOLD_API_KEY": "your_api_key_here"
}
}
}
}
```

#### For Cline (VSCode Extension)

Add to `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`:

```json
{
"mcpServers": {
"manifold": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MANIFOLD_API_KEY",
"manifold-mcp-server"
],
"env": {
"MANIFOLD_API_KEY": "your_api_key_here"
}
}
}
}
```

## Tool Documentation

### Market Creation & Management
Expand Down