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
This commit is contained in:
210
README.md
Normal file
210
README.md
Normal file
@@ -0,0 +1,210 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user