Files
n8n_vs-code_integration/README.md
mindesbunister 65d65a5204 Initial commit: n8n MCP server for VS Code integration
- Implemented MCP server with 8 n8n tools
- Added n8n API client for workflow operations
- Configured VS Code settings with API authentication
- Added comprehensive documentation and setup guides
- Tested and verified connection to n8n instance
2025-10-07 11:43:20 +02:00

211 lines
4.9 KiB
Markdown

# n8n MCP Server for VS Code
A Model Context Protocol (MCP) server that integrates n8n workflow automation directly into VS Code through GitHub Copilot Chat.
## Features
- **List Workflows**: Browse all workflows in your n8n instance
- **Get Workflow Details**: View complete workflow configuration, nodes, and connections
- **Update Workflows**: Modify workflow settings, nodes, and connections
- **Activate/Deactivate**: Control workflow activation state
- **Execute Workflows**: Manually trigger workflow execution
- **View Executions**: Check execution history and results
## Prerequisites
- Node.js (v18 or higher)
- VS Code with GitHub Copilot Chat extension
- Access to an n8n instance (running at `http://srvdocker02:8098` by default)
## Installation
1. Clone or navigate to this repository:
```bash
cd /home/rwiegand/Nextcloud/entwicklung/Werkzeuge/n8n_vscode_integration
```
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
4. Configure your n8n instance URL (if different from default):
- Copy `.env.example` to `.env`
- Update `N8N_BASE_URL` with your n8n instance URL
- If your n8n instance requires authentication, add your API key:
```
N8N_API_KEY=your-api-key-here
```
## Configuration
### For VS Code
The `.vscode/settings.json` file is already configured to use this MCP server. The configuration looks like:
```json
{
"mcpServers": {
"n8n": {
"command": "node",
"args": [
"/home/rwiegand/Nextcloud/entwicklung/Werkzeuge/n8n_vscode_integration/dist/index.js"
],
"env": {
"N8N_BASE_URL": "http://srvdocker02:8098"
}
}
}
}
```
### For GitHub Copilot Chat (Global Configuration)
To use this MCP server across all VS Code workspaces, add it to your global VS Code settings:
1. Open VS Code Settings (JSON) with `Cmd/Ctrl + Shift + P` → "Preferences: Open User Settings (JSON)"
2. Add the MCP server configuration:
```json
{
"github.copilot.chat.mcp.servers": {
"n8n": {
"command": "node",
"args": [
"/home/rwiegand/Nextcloud/entwicklung/Werkzeuge/n8n_vscode_integration/dist/index.js"
],
"env": {
"N8N_BASE_URL": "http://srvdocker02:8098"
}
}
}
}
```
If your n8n instance requires an API key, add it to the env section:
```json
"env": {
"N8N_BASE_URL": "http://srvdocker02:8098",
"N8N_API_KEY": "your-api-key-here"
}
```
## Usage
After installation and configuration, you can interact with your n8n instance through GitHub Copilot Chat in VS Code using natural language:
### Example Commands
**List all workflows:**
```
@workspace List all my n8n workflows
```
**Get workflow details:**
```
@workspace Show me the details of workflow ID 123
```
**Update a workflow:**
```
@workspace Update workflow 123 to change its name to "New Name"
```
**Activate/Deactivate workflows:**
```
@workspace Activate workflow 123
@workspace Deactivate workflow 456
```
**Execute a workflow:**
```
@workspace Execute workflow 123
```
**View execution history:**
```
@workspace Show me the recent executions for workflow 123
@workspace Show me the last 10 executions
```
**Get execution details:**
```
@workspace Show me details of execution abc-123
```
## Available MCP Tools
The server exposes the following tools:
1. **list_workflows** - List all workflows
2. **get_workflow** - Get detailed workflow information
3. **update_workflow** - Update workflow configuration
4. **activate_workflow** - Activate a workflow
5. **deactivate_workflow** - Deactivate a workflow
6. **execute_workflow** - Execute a workflow manually
7. **get_execution** - Get execution details
8. **list_executions** - List workflow executions
## Development
### Watch Mode
```bash
npm run watch
```
### Build
```bash
npm run build
```
### Run Directly
```bash
npm run dev
```
## Troubleshooting
### Server Not Connecting
1. Verify the build is up to date: `npm run build`
2. Check that the path in settings.json is correct
3. Restart VS Code after making configuration changes
4. Check the Output panel in VS Code for error messages
### Authentication Issues
If your n8n instance requires authentication:
1. Generate an API key in your n8n instance (Settings → API)
2. Add the `N8N_API_KEY` environment variable to your configuration
### Network Issues
If you can't connect to your n8n instance:
1. Verify the n8n instance is running: `curl http://srvdocker02:8098/healthz`
2. Check firewall settings
3. Verify the URL in your configuration is correct
## API Reference
### n8n API Endpoints Used
- `GET /api/v1/workflows` - List workflows
- `GET /api/v1/workflows/:id` - Get workflow
- `PATCH /api/v1/workflows/:id` - Update workflow
- `POST /api/v1/workflows/:id/execute` - Execute workflow
- `GET /api/v1/executions` - List executions
- `GET /api/v1/executions/:id` - Get execution
## License
MIT
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.