@couleetech/n8n-nodes-enlightenedmsp
Version:
n8n node for EnlightenedMSP ticketing and workflow automation
124 lines (94 loc) • 2.79 kB
Markdown
# n8n-nodes-mcp-client
This package provides an n8n node for interacting with Model Context Protocol (MCP) tools. It allows you to integrate MCP-compatible AI tools into your n8n workflows.
## Installation
To install this package in your n8n instance:
```bash
npm install @coulee-tech/n8n-nodes-mcp-client
```
## Features
- List available MCP tools
- Call specific MCP tools with custom arguments
- Full integration with n8n workflows
- Support for standard MCP protocol communication
## MCP Protocol Requirements
Your MCP client must:
1. Accept JSON-RPC style messages via stdin
2. Output responses via stdout
3. Support the following methods:
- `tools/list`: Lists available tools
- `tools/call`: Calls a specific tool with arguments
Example MCP message format:
```json
// Request
{
"method": "tools/call",
"params": {
"name": "tool-name",
"arguments": {
// tool-specific arguments
}
}
}
// Response
{
"result": {
// tool-specific response
}
}
```
## Configuration
### Credentials
To use the MCP Client node, you need to configure the following credentials:
1. **Command**: The command to execute for the MCP client (e.g., the path to your MCP-compatible tool)
2. **Arguments**: Command-line arguments for the MCP client (comma-separated)
### Node Configuration
The node provides two operations:
1. **List Tools**
- Lists all available MCP tools from your configured client
- No additional parameters required
2. **Call Tool**
- Calls a specific MCP tool with custom arguments
- Required parameters:
- Tool Name: The name of the tool to call
- Tool Arguments: JSON object containing the arguments for the tool
## Usage Example
Here's an example of how to use the MCP Client node in your workflow:
1. Add the MCP Client node to your workflow
2. Configure the credentials with your MCP client command and arguments
3. Choose an operation:
- To list tools: Select "List Tools" operation
- To call a tool: Select "Call Tool" operation and provide:
```json
{
"toolName": "your-tool-name",
"toolArguments": {
"param1": "value1",
"param2": "value2"
}
}
```
## Error Handling
The node includes comprehensive error handling:
- Invalid command or arguments
- Tool execution failures
- MCP protocol communication errors
- JSON parsing errors
## Development
To contribute to this package:
1. Clone the repository
2. Install dependencies:
```bash
npm install
```
3. Build the package:
```bash
npm run build
```
4. Run tests:
```bash
npm test
```
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Support
For issues and feature requests, please use the GitHub issue tracker.