diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..30e19bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM node:lts-alpine + +WORKDIR /app + +# Install dependencies without running prepare scripts to avoid double build +COPY package.json pnpm-lock.yaml ./ +RUN npm install --ignore-scripts + +# Copy source +COPY . . + +# Build the project +RUN npm run build + +# Expose stdio entrypoint +ENTRYPOINT ["node", "build/index.js"] diff --git a/README.md b/README.md index a9cd8cf..5cf2fa2 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ MCP +[![smithery badge](https://smithery.ai/badge/@jimpick/mcp-json-db-collection-server)](https://smithery.ai/server/@jimpick/mcp-json-db-collection-server) + This is an example of how to use a [Fireproof](https://fireproof.storage/) database in a [Model Context Protocol](https://github.com/modelcontextprotocol) server (used for plugging code and data into A.I. systems such as [Claude Desktop](https://claude.ai/download)). This server: @@ -18,6 +20,14 @@ Prior art: This is based on https://github.com/fireproof-storage/mcp-database-se ## Running the Server +### Installing via Smithery + +To install JSON Document Collection Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@jimpick/mcp-json-db-collection-server): + +```bash +npx -y @smithery/cli install @jimpick/mcp-json-db-collection-server --client claude +``` + First, build it: ``` @@ -341,4 +351,3 @@ pnpm run inspector # License MIT or Apache 2 - diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..52d6130 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,13 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + description: Empty config + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ command: 'node', args: ['build/index.js'] }) + exampleConfig: {}