diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b126cd2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Use a Node.js image with pnpm installed +FROM node:18-alpine + +# Install pnpm globally +RUN npm install -g pnpm + +# Set the working directory +WORKDIR /app + +# Copy the project files to the container +COPY . . + +# Install dependencies and build the project +RUN pnpm install && pnpm build + +# Expose any necessary ports (if applicable) +# ENV IDE_PORT=8000 +# ENV HOST=0.0.0.0 + +# Define the command to run the application +ENTRYPOINT ["node", "dist/src/index.js"] diff --git a/README.md b/README.md index 59ef256..75dfa17 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,20 @@ +[![smithery badge](https://smithery.ai/badge/@jetbrains/mcp-proxy)](https://smithery.ai/server/@jetbrains/mcp-proxy) [![official JetBrains project](http://jb.gg/badges/incubator-flat-square.svg)](https://github.com/JetBrains#jetbrains-on-github) # JetBrains MCP Proxy Server The server proxies requests from client to JetBrains IDE. -## Install MCP Server plugin +## Installation + +### Installing via Smithery + +To install JetBrains MCP Proxy Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@jetbrains/mcp-proxy): + +```bash +npx -y @smithery/cli install @jetbrains/mcp-proxy --client claude +``` + +### Install MCP Server plugin https://plugins.jetbrains.com/plugin/26071-mcp-server @@ -50,4 +61,3 @@ To enable logging add: 1. Tested on macOS 2. `brew install node pnpm` 3. Run `pnpm build` to build the project - diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..0f0488b --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,23 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + properties: + idePort: + type: string + description: Port of the IDE's built-in web server. Optional. + host: + type: string + default: 127.0.0.1 + description: Host address of the IDE's built-in web server. Defaults to 127.0.0.1. + logEnabled: + type: string + default: "false" + description: Enable logging by setting this to 'true'. + commandFunction: + # A function that produces the CLI command to start the MCP on stdio. + |- + (config) => ({ command: 'node', args: ['dist/src/index.js'], env: { IDE_PORT: config.idePort, HOST: config.host, LOG_ENABLED: config.logEnabled } })