Implement remote MCP server deployment capabilities

- Add HTTP/JSON-RPC server for remote MCP access
- Configure domain and authentication via environment variables
- Create comprehensive remote deployment documentation
- Support both local (stdio) and remote (HTTP) deployment modes
- Add PM2 and Nginx configuration examples
- Update README with remote server instructions

The server can now be deployed on a VM (e.g., Hetzner) and accessed
from Claude Desktop over HTTPS using the configured domain.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2025-06-08 07:31:12 +00:00
parent d32af279c0
commit ee8aa729c1
9 changed files with 1867 additions and 17 deletions

View File

@@ -44,6 +44,15 @@ npm run build
npm run db:rebuild:v2
```
### Deployment Options
This MCP server can be deployed in two ways:
1. **Local Installation** - Run on your machine and connect Claude Desktop locally
2. **Remote Deployment** - Deploy to a VM/server and connect Claude Desktop over HTTPS
For remote deployment instructions, see [docs/REMOTE_DEPLOYMENT.md](docs/REMOTE_DEPLOYMENT.md).
## Installing in Claude Desktop
### 1. Build the project first
@@ -90,6 +99,30 @@ In Claude, you should see "n8n-nodes" in the MCP connections. Try asking:
- "Search for webhook nodes in n8n"
- "Show me the source code for the HTTP Request node"
### Remote Server Configuration
If you're connecting to a remote server instead of local installation:
```json
{
"mcpServers": {
"n8n-nodes-remote": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/client-http",
"https://n8ndocumentation.aiservices.pl/mcp"
],
"env": {
"MCP_AUTH_TOKEN": "your-auth-token-from-server"
}
}
}
}
```
Replace `n8ndocumentation.aiservices.pl` with your actual domain and use the auth token configured on your server.
## Available MCP Tools
### `list_nodes`
@@ -193,9 +226,12 @@ The SQLite database is stored at: `data/nodes-v2.db`
## Development
```bash
# Run in development mode
# Run in development mode (local stdio)
npm run dev:v2
# Run HTTP server for remote access
npm run dev:http
# Run tests
npm run test:v2
@@ -203,6 +239,22 @@ npm run test:v2
npm run typecheck
```
### Running Remote Server
To run the server for remote access:
```bash
# Copy and configure environment
cp .env.example .env
# Edit .env with your domain and auth token
# Run in production mode
npm run start:http
# Or with PM2 for production
pm2 start dist/index-http.js --name n8n-mcp
```
## Troubleshooting
### Claude Desktop doesn't show the MCP server