diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d277710 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM node:lts-alpine + +# Install curl and bash +RUN apk add --no-cache curl bash \ + && curl -fsSL https://bun.sh/install | bash \ + && mv /root/.bun/bin/bun /usr/local/bin/ + +WORKDIR /app + +# Copy package files and source +COPY package.json package-lock.json* yarn.lock* pnpm-lock.yaml* ./ +COPY . . + +# Install dependencies and build +RUN bun install +RUN bun build src/index.ts --outdir build --target node +RUN bun build src/server/http-server.ts --outdir build --target node --outfile http-server.js + +# Default command +CMD ["node", "build/index.js"] diff --git a/README.md b/README.md index f2882fa..3946d71 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Starknet MCP Server +[![smithery badge](https://smithery.ai/badge/@mcpdotdirect/starknet-mcp-server)](https://smithery.ai/server/@mcpdotdirect/starknet-mcp-server) ![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg) ![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6) ![MCP](https://img.shields.io/badge/MCP-1.7+-green) @@ -99,6 +100,14 @@ The server supports the following Starknet networks: ## 📦 Installation +### Installing via Smithery + +To install starknet-mcp-server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@mcpdotdirect/starknet-mcp-server): + +```bash +npx -y @smithery/cli install @mcpdotdirect/starknet-mcp-server --client claude +``` + ### Option 1: Use without installation (npx) The easiest way to get started is to use `npx` to run the package directly: diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..5c7b767 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,16 @@ +# 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: [] + properties: {} + default: {} + description: Start the Starknet MCP server + 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: {}