article
README
🚀 n8n API MCP 服务器
n8n API MCP 服务器是一个用于与自托管 n8n 实例进行交互的 Model Context Protocol (MCP) 服务器。它能够执行对 n8n API 的调用,还可以通过本地数据库搜索 API 端点,并且能存储和检索常用或成功的 API 调用,让自然语言访问更加快速。
🚀 快速开始
要使用 n8n API MCP 服务器,您需要按照以下步骤进行设置:
- 克隆仓库:
git clone https://github.com/jasondsmith72/N8N-api-MCP.git cd N8N-api-MCP - 安装依赖项:
npm install - 构建服务器:
此步骤会将 TypeScript 代码编译为npm run buildbuild目录中的 JavaScript。
✨ 主要特性
数据库
- API 规范数据库 (
api_spec.db):该数据库存储了从 OpenAPI/Swagger JSON 文件加载的 n8n API 端点详细信息,可用于搜索和详细工具。 - 快速内存数据库 (
fast_memory.db):缓存与自然语言查询相关联的成功 API 调用,支持快速检索之前使用的调用,并可提示保存新的成功调用。
工具
search_api_endpoints:在本地 API 规范数据库中搜索匹配特定查询(路径、摘要、描述、标签)的端点。get_api_endpoint_details:根据路径和方法从本地 API 规范数据库检索特定端点的详细信息(参数、请求正文、响应)。execute_api_call:对配置好的 n8n 实例执行 API 调用。首先检查快速内存;如果未找到,则在成功后提示保存到快速内存。natural_language_api_search:使用自然语言搜索 API 调用。首先检查快速内存,然后根据查询回退到基于 OpenAPI 规范数据库的搜索。save_to_fast_memory:手动保存 API 调用(路径、方法、参数、数据)以及原始自然语言查询和描述到快速内存数据库。list_fast_memory:列出快速内存数据库中当前存储的条目,可选按搜索词过滤。delete_from_fast_memory:通过 ID 删除快速内存数据库中的特定条目。clear_fast_memory:清除快速内存数据库中的所有条目。load_api_spec_from_json:通过解析 OpenAPI/Swagger JSON 文件加载或更新 API 规范数据库 (api_spec.db)。send_raw_api_request:使用原始请求字符串(例如“GET /workflows?limit=5”)执行 API 调用。与execute_api_call使用相同的底层逻辑,包括快速内存检查和保存提示。
📦 安装指南
克隆仓库
git clone https://github.com/jasondsmith72/N8N-api-MCP.git
cd N8N-api-MCP
安装依赖项
npm install
构建服务器
npm run build
📚 详细文档
配置
此服务器需要环境变量以连接到您的 n8n 实例,这些通常在 MCP 客户端配置文件(例如 cline_mcp_settings.json)中设置:
N8N_URL:n8n 实例的基 URL(例如http://your-n8n.example.com)。如果没有设置,默认为http://localhost:5678。N8N_API_KEY:您的 n8n API 密钥,用于身份验证。
加载 API 规范
在使用搜索工具 (search_api_endpoints, natural_language_api_search) 之前,需要先填充 API 规范数据库:
- 获得您 n8n 版本的 OpenAPI(Swagger)JSON 规范文件,可从 n8n 文档或您的实例(例如
/api/v1/docs-json)下载。 - 使用
load_api_spec_from_json工具,提供 JSON 文件的绝对路径:load_api_spec_from_json(json_file_path="C:\\your\\path\\to\\swagger.json")
开发
对于带有文件更改自动重建的功能开发,可使用以下命令:
npm run watch
调试
使用 MCP 检查器 可以更方便地进行调试:
npm run inspector
检查器提供一个网络界面来查看 MCP 通信。
微信扫一扫