Skip to content

Commit 3727f54

Browse files
authored
Merge pull request #1 from jinzcdev/smithery/config-bpkx
Deployment: Dockerfile and Smithery config
2 parents dfe0645 + a77213d commit 3727f54

4 files changed

Lines changed: 69 additions & 0 deletions

File tree

Dockerfile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
FROM node:20-alpine AS builder
2+
3+
# Create app directory
4+
WORKDIR /app
5+
6+
# Copy package.json and package-lock.json
7+
COPY package*.json ./
8+
9+
# Install dependencies, ignoring any prepare scripts
10+
RUN npm install --ignore-scripts
11+
12+
# Copy the rest of the application code
13+
COPY src ./src/
14+
COPY tsconfig.json ./
15+
16+
# Build the application
17+
RUN npm run build
18+
19+
# Use Node.js 20 Alpine as the base image for the runtime stage
20+
FROM node:20-alpine AS runner
21+
22+
# Set the working directory for the runtime stage
23+
WORKDIR /app
24+
25+
# Copy the built application and dependencies from the builder stage
26+
COPY --from=builder /app/package*.json ./
27+
COPY --from=builder /app/build ./build
28+
29+
RUN npm install --ignore-scripts --omit=dev
30+
31+
# Define environment variable for markmap data directory
32+
ENV MARKMAP_DIR=/data/markmap
33+
34+
# Define the command to run when the container starts
35+
ENTRYPOINT ["node", "build/index.js"]

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
[![NPM Version](https://img.shields.io/npm/v/@jinzcdev/markmap-mcp-server.svg)](https://www.npmjs.com/package/@jinzcdev/markmap-mcp-server)
66
[![GitHub License](https://img.shields.io/github/license/jinzcdev/markmap-mcp-server.svg)](LICENSE)
7+
[![Smithery Badge](https://smithery.ai/badge/@jinzcdev/markmap-mcp-server)](https://smithery.ai/server/@jinzcdev/markmap-mcp-server)
78
[![中文文档](https://img.shields.io/badge/中文文档-点击查看-blue)](README_zh-CN.md)
89
[![Stars](https://img.shields.io/github/stars/jinzcdev/markmap-mcp-server)](https://github.com/jinzcdev/markmap-mcp-server)
910

@@ -23,6 +24,14 @@ Markmap MCP Server is based on the [Model Context Protocol (MCP)](https://modelc
2324

2425
## Installation
2526

27+
### Installing via Smithery
28+
29+
To install Markmap MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@jinzcdev/markmap-mcp-server):
30+
31+
```bash
32+
npx -y @smithery/cli install @jinzcdev/markmap-mcp-server --client claude
33+
```
34+
2635
### Manual Installation
2736

2837
```bash

README_zh-CN.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
[![NPM Version](https://img.shields.io/npm/v/@jinzcdev/markmap-mcp-server.svg)](https://www.npmjs.com/package/@jinzcdev/markmap-mcp-server)
66
[![GitHub License](https://img.shields.io/github/license/jinzcdev/markmap-mcp-server.svg)](LICENSE)
7+
[![Smithery Badge](https://smithery.ai/badge/@jinzcdev/markmap-mcp-server)](https://smithery.ai/server/@jinzcdev/markmap-mcp-server)
78
[![English Doc](https://img.shields.io/badge/English-Click-blue)](README.md)
89
[![Stars](https://img.shields.io/github/stars/jinzcdev/markmap-mcp-server)](https://github.com/jinzcdev/markmap-mcp-server)
910

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+
properties:
10+
output:
11+
type: string
12+
description: Output directory for mind map HTML files (optional). If not specified, the default is the system's temporary directory.
13+
commandFunction:
14+
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
15+
|-
16+
(config) => ({
17+
command: 'node',
18+
args: [
19+
'build/index.js',
20+
...(config.output ? ['--output', config.output] : [])
21+
]
22+
})
23+
exampleConfig:
24+
output: /tmp/markmap

0 commit comments

Comments
 (0)