이 페이지에서는 인스턴스 레벨 MCP 서버가 노출하는 모든 툴을 설명합니다.
워크플로 관리#
search_workflows#
선택적 필터로 워크플로를 검색합니다. 각 워크플로의 미리 보기를 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
기본값 |
설명 |
query |
string |
아니요 |
|
이름 또는 설명으로 필터링 |
projectId |
string |
아니요 |
|
프로젝트 ID로 필터링 |
limit |
integer |
아니요 |
200 |
결과 수 제한 (최대 200) |
sortBy |
string |
아니요 |
"updatedAt:desc" |
결과 정렬 순서. 다음 중 하나: "updatedAt:desc", "updatedAt:asc", "createdAt:desc", "createdAt:asc", "name:asc", "name:desc" |
| 필드 |
유형 |
설명 |
data |
array |
워크플로 미리 보기 목록 |
data[].id |
string |
워크플로의 고유 식별자 |
data[].name |
`string |
null` |
data[].description |
`string |
null` |
data[].active |
`boolean |
null` |
data[].createdAt |
`string |
null` |
data[].updatedAt |
`string |
null` |
data[].triggerCount |
`number |
null` |
data[].scopes |
string[] |
이 워크플로에 대한 사용자 권한 |
data[].canExecute |
boolean |
사용자가 이 워크플로를 실행할 권한이 있는지 여부 |
data[].availableInMCP |
boolean |
워크플로가 MCP 툴에 표시되는지 여부 |
count |
integer |
필터와 일치하는 워크플로의 총 수 |
참고 사항#
- 최대 결과 제한은 200입니다.
- 기본적으로 가장 최근에 업데이트된 워크플로 순으로 정렬됩니다.
- MCP 클라이언트가 워크플로에서 사용 가능한 작업을 확인할 수 있도록 각 워크플로에 대한 사용자 권한 범위를 포함합니다.
- 중요: 이 툴은
Available in MCP 설정에 관계없이 사용자가 액세스할 수 있는 모든 워크플로를 나열할 수 있습니다.
get_workflow_details#
트리거 세부 정보를 포함하여 특정 워크플로에 대한 자세한 정보를 가져옵니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
조회할 워크플로의 ID |
| 필드 |
유형 |
설명 |
workflow |
object |
MCP 사용에 안전하게 정제된 워크플로 데이터 |
workflow.id |
string |
워크플로 ID |
workflow.name |
`string |
null` |
workflow.active |
boolean |
워크플로에 게시된 활성 버전이 있는지 여부 |
workflow.isArchived |
boolean |
워크플로 아카이브 여부 |
workflow.versionId |
string |
현재 워크플로 버전 ID |
workflow.activeVersionId |
`string |
null` |
workflow.triggerCount |
number |
트리거 수 |
workflow.createdAt |
`string |
null` |
workflow.updatedAt |
`string |
null` |
workflow.settings |
`object |
null` |
workflow.connections |
object |
워크플로 연결 그래프 |
workflow.nodes |
array |
워크플로 노드 목록. 자격 증명 참조는 제거됩니다 |
workflow.activeVersion |
`object |
null` |
workflow.activeVersion.nodes |
array |
활성 워크플로 버전의 노드. 자격 증명 참조는 제거됩니다 |
workflow.activeVersion.connections |
object |
활성 워크플로 버전의 연결 |
workflow.tags |
array |
id와 name이 있는 태그 |
workflow.meta |
`object |
null` |
workflow.parentFolderId |
`string |
null` |
workflow.description |
string |
워크플로 설명(설정된 경우) |
workflow.scopes |
string[] |
이 워크플로에 대한 사용자 권한 |
workflow.canExecute |
boolean |
사용자가 이 워크플로를 실행할 권한이 있는지 여부 |
triggerInfo |
string |
워크플로를 트리거하는 방법을 설명하는 사람이 읽을 수 있는 지침 |
참고 사항#
- 반환된 노드에서 민감한 자격 증명 데이터가 제거됩니다.
- 워크플로가 게시된 경우 활성 버전 세부 정보를 포함합니다.
- 사용자 권한 범위와 현재 사용자가 워크플로를 실행할 수 있는지 여부를 포함합니다.
triggerInfo를 사용하여 지원되는 트리거 노드를 호출하는 방법을 파악합니다.
execute_workflow#
ID로 워크플로를 실행합니다. 완료를 기다리지 않고 즉시 실행 ID를 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
기본값 |
설명 |
workflowId |
string |
예 |
|
실행할 워크플로의 ID |
executionMode |
`"manual" |
"production"` |
아니요 |
"production" |
inputs |
object |
아니요 |
|
워크플로에 제공할 입력(판별 유니온, 아래 참조) |
inputs 변형 (type으로 판별):
| 유형 |
필드 |
설명 |
chat |
chatInput: string |
채팅 기반 워크플로를 위한 입력 |
form |
formData: Record<string, unknown> |
폼 기반 워크플로를 위한 입력 데이터 |
webhook |
webhookData: { method?, query?, body?, headers? } |
웹훅 기반 워크플로를 위한 입력 데이터 |
webhookData 필드:
| 필드 |
유형 |
필수 |
기본값 |
설명 |
method |
`"GET" |
"POST" |
"PUT" |
"DELETE" |
query |
Record<string, string> |
아니요 |
|
쿼리 문자열 파라미터 |
body |
Record<string, unknown> |
아니요 |
|
요청 본문 데이터 |
headers |
Record<string, string> |
아니요 |
|
HTTP 헤더 |
| 필드 |
유형 |
설명 |
executionId |
`string |
null` |
status |
`"started" |
"error"` |
error |
string |
실행을 시작할 수 없는 경우 오류 메시지 |
참고 사항#
- 이 툴은 워크플로를 시작하고 즉시 반환합니다. 최종 실행 상태를 확인하거나 실행 데이터를 가져오려면 반환된
executionId로 get_execution을 사용합니다.
- 프로덕션 모드는 Webhook, Chat Trigger, Form Trigger, Schedule Trigger 노드가 있는 워크플로를 지원합니다.
- 수동 모드는 Manual Trigger 노드도 지원합니다.
executionMode가 "production"인 경우 워크플로에 게시된(활성) 버전이 있어야 합니다.
- 워크플로에 지원되는 트리거가 여러 개 있는 경우 MCP 클라이언트는 워크플로 실행 툴을 사용할 때 그 중 하나(첫 번째)만 사용하여 워크플로를 트리거할 수 있습니다.
- 다단계 폼이나 어떤 종류의 human-in-the-loop 상호작용이 있는 워크플로 실행은 지원되지 않습니다.
test_workflow#
핀 데이터를 사용하여 외부 서비스를 우회하며 워크플로를 테스트합니다. 트리거 노드, 자격 증명이 있는 노드, HTTP Request 노드는 피닝됩니다(시뮬레이션된 데이터 사용). 다른 노드(Set, If, Code 등)는 Execute Command 또는 파일 읽기/쓰기 노드와 같은 자격 증명이 없는 I/O 노드를 포함하여 정상적으로 실행됩니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
테스트할 워크플로의 ID |
pinData |
Record<string, array> |
예 |
모든 워크플로 노드의 핀 데이터. |
triggerNodeName |
string |
아니요 |
실행을 시작할 트리거 노드의 선택적 이름. 기본값은 첫 번째 트리거 노드. |
| 필드 |
유형 |
설명 |
executionId |
`string |
null` |
status |
string |
테스트 실행 상태. 다음 중 하나: "success", "error", "running", "waiting", "canceled", "crashed", "new", "unknown" |
error |
string |
실행 실패 시 오류 메시지 |
참고 사항#
- 자격 증명을 설정하거나 외부 서비스를 호출하지 않고 워크플로 로직을 테스트하는 데 사용할 수 있습니다.
- 이 툴은 워크플로를 동기적으로 실행합니다(실행 완료를 기다림).
- 강제 MCP 실행 타임아웃이 있습니다(5분).
prepare_test_pin_data#
워크플로의 테스트 핀 데이터를 준비합니다. 트리거 노드, 자격 증명이 있는 노드, HTTP Request 노드에는 핀 데이터가 필요합니다. 로직 노드(Set, If, Code 등)와 자격 증명이 없는 I/O 노드(Execute Command, 파일 읽기/쓰기)는 핀 데이터 없이 정상적으로 실행됩니다. 핀 데이터가 필요한 각 노드의 예상 출력 형태를 설명하는 JSON 스키마를 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
테스트 핀 데이터를 생성할 워크플로의 ID |
| 필드 |
유형 |
설명 |
nodeSchemasToGenerate |
Record<string, JsonSchema> |
핀 데이터가 필요한 노드. 키는 노드 이름이고, 값은 예상 출력 형태를 설명하는 JSON 스키마 객체입니다. |
nodesWithoutSchema |
string[] |
핀 데이터가 필요하지만 출력 스키마가 없는 노드 이름. 각각에 대해 빈 기본값 [{"json": {}}]을 사용합니다. |
nodesSkipped |
string[] |
핀 데이터가 필요 없고 테스트 중 정상적으로 실행될 노드. |
coverage |
object |
커버리지 통계 |
coverage.withSchemaFromExecution |
number |
마지막 성공한 실행 출력에서 추론된 스키마가 있는 노드 |
coverage.withSchemaFromDefinition |
number |
노드 유형 정의에서 스키마가 있는 노드 |
coverage.withoutSchema |
number |
데이터나 스키마가 없는 노드 |
coverage.skipped |
number |
정상적으로 실행될 노드(핀 데이터 불필요) |
coverage.total |
number |
활성화된 노드의 총 수 |
참고 사항#
- 스키마는
test_workflow를 위한 현실적인 샘플 데이터를 생성하는 데 사용해야 합니다.
publish_workflow#
프로덕션 실행에 사용 가능하도록 워크플로를 게시(활성화)합니다. 현재 초안에서 활성 버전을 생성합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
게시할 워크플로의 ID |
versionId |
string |
아니요 |
게시할 선택적 버전 ID. 제공되지 않으면 현재 초안 버전을 게시합니다. |
| 필드 |
유형 |
설명 |
success |
boolean |
게시 성공 여부 |
workflowId |
string |
워크플로 ID |
activeVersionId |
`string |
null` |
error |
string |
게시 실패 시 오류 메시지 |
unpublish_workflow#
프로덕션 실행에서 사용 불가능하도록 워크플로를 게시 취소(비활성화)합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
게시 취소할 워크플로의 ID |
| 필드 |
유형 |
설명 |
success |
boolean |
게시 취소 성공 여부 |
workflowId |
string |
워크플로 ID |
error |
string |
게시 취소 실패 시 오류 메시지 |
search_projects#
현재 사용자가 액세스할 수 있는 프로젝트를 검색합니다. 특정 프로젝트에 워크플로나 데이터 테이블을 생성하기 전에 프로젝트 ID를 확인하려면 이 툴을 사용합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
query |
string |
아니요 |
이름으로 프로젝트 필터링. 대소문자 구분 없는 정확한 일치가 먼저 표시되고 그 다음에 부분 일치가 표시됩니다. |
type |
`"personal" |
"team"` |
아니요 |
limit |
integer |
아니요 |
결과 수 제한 (최대 100) |
| 필드 |
유형 |
설명 |
data |
array |
대소문자 구분 없는 정확한 일치가 먼저 표시되도록 정렬된 일치하는 프로젝트 목록 |
data[].id |
string |
프로젝트의 고유 식별자 |
data[].name |
string |
프로젝트 이름 |
data[].type |
`"personal" |
"team"` |
data[].matchType |
`"exact" |
"partial"` |
count |
integer |
일치하는 프로젝트의 총 수 |
hint |
string |
결과 선택 안내. 일치가 모호한 경우(예: 정확한 일치는 없지만 여러 부분 일치가 존재하는 경우) 표시됩니다 |
참고 사항#
- 최대 결과 제한은 100입니다.
- 사용자가 프로젝트를 지정하면 이 툴을 먼저 호출하고 확인된 프로젝트 ID를
create_workflow_from_code, update_workflow, 또는 데이터 테이블 툴에 전달합니다.
hint가 있으면 작업 전에 따릅니다. 예를 들어, 여러 부분 일치 중에서 추측하는 대신 사용자에게 명확히 해달라고 요청합니다.
search_folders#
프로젝트 내의 폴더를 검색합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
projectId |
string |
예 |
폴더를 검색할 프로젝트의 ID |
query |
string |
아니요 |
이름으로 폴더 필터링(대소문자 구분 없는 부분 일치) |
limit |
integer |
아니요 |
결과 수 제한 (최대 100) |
| 필드 |
유형 |
설명 |
data |
array |
일치하는 폴더 목록 |
data[].id |
string |
폴더의 고유 식별자 |
data[].name |
string |
폴더 이름 |
data[].parentFolderId |
`string |
null` |
count |
integer |
일치하는 폴더의 총 수 |
참고 사항#
- 최대 결과 제한은 100입니다.
- 이 툴을 사용하면 MCP 클라이언트가 특정 폴더에 워크플로를 만들 수 있습니다.
실행 관리#
get_execution#
실행 ID와 워크플로 ID로 실행 세부 정보를 가져옵니다. 기본적으로 메타데이터만 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
실행이 속하는 워크플로의 ID |
executionId |
string |
예 |
조회할 실행의 ID |
includeData |
boolean |
아니요 |
전체 실행 결과 데이터를 포함할지 여부. 기본값은 false(메타데이터만). |
nodeNames |
string[] |
아니요 |
includeData가 true인 경우 이 노드들의 데이터만 반환합니다. 생략하면 모든 노드의 데이터가 포함됩니다. |
truncateData |
integer |
아니요 |
includeData가 true인 경우 노드 출력당 반환되는 데이터 항목 수를 제한합니다. |
| 필드 |
유형 |
설명 |
execution |
`object |
null` |
execution.id |
string |
실행 ID |
execution.workflowId |
string |
워크플로 ID |
execution.mode |
string |
실행 모드 |
execution.status |
string |
실행 상태 |
execution.startedAt |
`string |
null` |
execution.stoppedAt |
`string |
null` |
execution.retryOf |
`string |
null` |
execution.retrySuccessId |
`string |
null` |
execution.waitTill |
`string |
null` |
data |
unknown |
실행 결과 데이터(includeData가 true인 경우에만 존재) |
error |
string |
요청 실패 시 오류 메시지 |
참고 사항#
- 전체 실행 데이터가 필요하지 않을 때 경량 메타데이터 쿼리(기본값)를 사용합니다.
nodeNames로 필터링하고 truncateData로 잘라내면 큰 결과 집합을 관리하는 데 도움이 됩니다.
search_executions#
선택적 필터로 워크플로 실행을 검색합니다. 상태, 타이밍, 워크플로 ID를 포함한 실행 메타데이터를 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
아니요 |
워크플로 ID로 실행 필터링 |
status |
string[] |
아니요 |
실행 상태로 필터링. 값: "canceled", "crashed", "error", "new", "running", "success", "unknown", "waiting" |
startedAfter |
string |
아니요 |
ISO 8601 타임스탬프. 이 시간 이후에 시작된 실행만 반환합니다. |
startedBefore |
string |
아니요 |
ISO 8601 타임스탬프. 이 시간 이전에 시작된 실행만 반환합니다. |
limit |
integer |
아니요 |
결과 수 제한 (최대 200) |
lastId |
string |
아니요 |
페이지네이션 커서. 이전 페이지의 마지막 실행 ID를 전달합니다. |
| 필드 |
유형 |
설명 |
data |
array |
쿼리와 일치하는 실행 목록 |
data[].id |
string |
실행의 고유 식별자 |
data[].workflowId |
string |
이 실행이 속하는 워크플로 |
data[].status |
string |
실행 상태 |
data[].mode |
string |
실행이 트리거된 방식. 다음 중 하나: "cli", "error", "integrated", "internal", "manual", "retry", "trigger", "webhook", "evaluation", "chat" |
data[].startedAt |
`string |
null` |
data[].stoppedAt |
`string |
null` |
data[].waitTill |
`string |
null` |
count |
integer |
총 일치하는 실행 수, 또는 수를 알 수 없는 경우 -1 |
estimated |
boolean |
대규모 데이터셋에서 수가 추정치인지 여부 |
error |
string |
쿼리 실패 시 오류 메시지 |
자격 증명 관리#
list_credentials#
현재 사용자가 액세스할 수 있는 자격 증명을 나열합니다. 워크플로 노드에서 자격 증명을 참조하기 전에 자격 증명 ID를 찾으려면 이 툴을 사용합니다. 자격 증명 비밀 데이터는 절대 반환되지 않습니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
limit |
integer |
아니요 |
결과 수 제한 (최대 200) |
query |
string |
아니요 |
이름으로 자격 증명 필터링(부분 일치) |
type |
string |
아니요 |
자격 증명 유형으로 필터링(예: "slackApi" 또는 "httpHeaderAuth")(부분 일치) |
projectId |
string |
아니요 |
이 프로젝트에 속하는 자격 증명으로 결과 제한 |
onlySharedWithMe |
boolean |
아니요 |
현재 사용자와 직접 공유된 자격 증명만 반환합니다. 기본값은 false. |
| 필드 |
유형 |
설명 |
data |
array |
현재 사용자가 액세스할 수 있는 자격 증명 목록 |
data[].id |
string |
자격 증명의 고유 식별자 |
data[].name |
string |
자격 증명 이름 |
data[].type |
string |
자격 증명 유형(예: "slackApi") |
data[].scopes |
string[] |
이 자격 증명에 대한 사용자 권한(예: "credential:read") |
data[].isManaged |
boolean |
n8n에서 관리되어 사용자가 편집할 수 없는 자격 증명인지 여부 |
data[].isGlobal |
boolean |
모든 사용자가 사용할 수 있는 자격 증명인지 여부 |
data[].homeProject |
`object |
null` |
data[].homeProject.id |
string |
프로젝트의 고유 식별자 |
data[].homeProject.name |
string |
프로젝트 이름 |
data[].homeProject.type |
string |
프로젝트 유형. "personal"은 사용자의 개인 프로젝트, "team"은 여러 사용자가 액세스할 수 있는 공유 프로젝트입니다. |
count |
integer |
반환된 자격 증명 수 |
error |
string |
요청 실패 시 오류 메시지 |
참고 사항#
- 최대 결과 제한은 200입니다.
- 자격 증명 비밀 데이터는 절대 반환되지 않습니다.
- 기본적으로 전역 자격 증명이 포함됩니다.
onlySharedWithMe를 true로 설정하면 전역 자격 증명을 제외하고 현재 사용자와 직접 공유된 자격 증명만 반환합니다.
워크플로 빌더#
get_sdk_reference#
패턴, 표현식 구문, 함수, 규칙, import 구문, 가이드라인, 디자인 지침을 포함한 n8n 워크플로 SDK 레퍼런스 문서를 가져옵니다.
파라미터#
| 이름 |
유형 |
필수 |
기본값 |
설명 |
section |
string |
아니요 |
"all" |
조회할 문서 섹션. 다음 중 하나: "patterns", "patterns_detailed", "expressions", "functions", "rules", "import", "guidelines", "design", "all" |
| 필드 |
유형 |
설명 |
reference |
string |
요청한 섹션의 SDK 레퍼런스 문서 콘텐츠 |
참고 사항#
- 워크플로 빌드 전에 먼저 호출해야 합니다.
section을 생략하거나 "all"로 설정하면 전체 레퍼런스를 조회합니다.
- 확장된 워크플로 패턴 예시를 보려면
"patterns_detailed"를 사용합니다.
search_nodes#
서비스 이름, 트리거 유형 또는 유틸리티 기능으로 n8n 노드를 검색합니다. get_node_types 툴에 필요한 노드 ID, 판별자(resource/operation/mode), 관련 노드를 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
queries |
string[] |
예 (최소 1개) |
검색 쿼리 -- 서비스 이름(예: "gmail", "slack"), 트리거 유형(예: "schedule trigger", "webhook"), 유틸리티 노드(예: "set", "if", "merge", "code") |
| 필드 |
유형 |
설명 |
results |
string |
일치하는 노드 ID, 판별자, 관련 노드가 포함된 검색 결과 |
get_node_types#
n8n 노드의 TypeScript 유형 정의를 가져옵니다. 정확한 파라미터 이름과 구조를 반환합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
nodeIds |
array |
예 (최소 1개) |
노드 ID 배열. 각 요소는 일반 문자열(예: "n8n-nodes-base.gmail") 또는 판별자가 있는 객체(아래 참조)일 수 있습니다. |
노드 ID 객체 형식:
| 필드 |
유형 |
필수 |
설명 |
nodeId |
string |
예 |
노드 유형 ID(예: "n8n-nodes-base.gmail") |
version |
string |
아니요 |
특정 버전(예: "2.1") |
resource |
string |
아니요 |
리소스 판별자(예: "message") |
operation |
string |
아니요 |
작업 판별자(예: "send") |
mode |
string |
아니요 |
모드 판별자 |
| 필드 |
유형 |
설명 |
definitions |
string |
요청한 노드의 TypeScript 유형 정의 |
참고 사항#
- 올바른 노드 구성에 필수적 - MCP 클라이언트는 워크플로 코드 작성 전에 항상 호출해야 합니다.
- 다중 변형 노드에 대해 단순 문자열 노드 ID와 판별자가 있는 객체 모두 지원합니다.
get_workflow_best_practices#
워크플로 기법에 대한 모범 사례 안내를 가져옵니다. 노드 검색이나 워크플로 코드 작성 전에 사용합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
technique |
string |
예 |
안내를 가져올 워크플로 기법 키. 사용 가능한 모든 기법을 확인하려면 "list"를 전달합니다. 값 예시: "scheduling", "chatbot", "form_input", "scraping_and_research", "monitoring", "enrichment", "triage", "content_generation", "document_processing", "data_extraction", "data_analysis", "data_transformation", "data_persistence", "notification", "knowledge_base", "human_in_the_loop", "web_app" |
| 필드 |
유형 |
설명 |
technique |
string |
요청한 기법 키, 또는 모든 가능한 기법 나열 시 "list" |
message |
string |
응답에 대한 사람이 읽을 수 있는 요약 |
documentation |
string |
요청한 기법에 대한 모범 사례 문서(사용 가능한 경우) |
availableTechniques |
array |
사용 가능한 기법 목록, technique이 "list"인 경우 반환됩니다 |
availableTechniques[].technique |
string |
기법 키 |
availableTechniques[].description |
string |
기법 설명 |
availableTechniques[].hasDocumentation |
boolean |
이 기법에 대한 상세 모범 사례 문서가 있는지 여부 |
참고 사항#
technique: "list"로 호출하면 사용 가능한 모든 기법이 나열됩니다.
- 일부 알려진 기법은 아직 상세 문서가 없을 수 있습니다. 이 경우 툴은
documentation 없이 메시지를 반환합니다.
- 이 툴은 이전의
get_suggested_nodes 워크플로 계획 안내를 대체합니다.
validate_workflow#
n8n 워크플로 SDK 코드를 유효성 검사합니다. 코드를 파싱하여 워크플로로 변환하고 오류를 확인합니다. 워크플로 생성 또는 업데이트 전에 항상 유효성 검사를 수행합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
code |
string |
예 |
n8n 워크플로 SDK를 사용하는 전체 TypeScript/JavaScript 워크플로 코드. 워크플로 내보내기를 포함해야 합니다. |
| 필드 |
유형 |
설명 |
valid |
boolean |
워크플로 코드가 유효한지 여부 |
nodeCount |
number |
워크플로의 노드 수. 유효한 경우에만 표시됩니다 |
warnings |
array |
유효성 검사 경고(있는 경우) |
warnings[].code |
string |
경고 유형을 식별하는 경고 코드 |
warnings[].message |
string |
경고 메시지 |
warnings[].nodeName |
string |
경고를 트리거한 노드(해당하는 경우) |
warnings[].parameterPath |
string |
경고를 트리거한 파라미터 경로(해당하는 경우) |
errors |
string[] |
유효성 검사 오류. 유효하지 않은 경우에만 표시됩니다 |
hint |
string |
사용 가능한 경우 실행 가능한 복구 힌트 |
참고 사항#
create_workflow_from_code 또는 update_workflow 전에 반드시 호출해야 합니다.
- 코드가 유효하더라도 경고가 있을 수 있습니다.
valid가 false이고 hint가 있으면 재시도 전에 힌트를 따릅니다.
validate_node_config#
하나 이상의 노드 구성을 생성된 노드 스키마에 대해 독립적으로 유효성 검사합니다. 워크플로 코드를 조합하거나 update_workflow를 호출하기 전에 노드를 구성하는 동안 유용합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
nodes |
array |
예 (최소 1개, 최대 50개) |
독립적으로 유효성 검사할 하나 이상의 노드 구성 |
nodes[].name |
string |
아니요 |
선택적 노드 이름. 응답과 연관시키는 데 도움이 되도록 결과에 반환됩니다 |
nodes[].type |
string |
예 |
전체 노드 유형(예: "n8n-nodes-base.set" 또는 "@n8n/n8n-nodes-langchain.agent") |
nodes[].typeVersion |
number |
아니요 |
노드 유형 버전. 기본값은 1 |
nodes[].parameters |
object |
아니요 |
워크플로 JSON과 동일한 형태를 사용하는 노드 파라미터 객체. 기본값은 {} |
nodes[].subnodes |
unknown |
아니요 |
AI 부모 노드를 위한 선택적 서브노드 구성(예: LangChain 에이전트 모델, 메모리, 툴 참조) |
nodes[].isToolNode |
boolean |
아니요 |
ai_tool 연결을 통해 AI 툴 서브노드로 연결된 노드를 유효성 검사할 때 true로 설정합니다 |
| 필드 |
유형 |
설명 |
valid |
boolean |
모든 노드 구성이 유효한지 여부 |
results |
array |
입력 순서에 따른 노드별 유효성 검사 결과 |
results[].index |
number |
입력 배열에서 이 노드의 위치 |
results[].name |
string |
제공된 경우 입력 노드 이름을 그대로 반환 |
results[].type |
string |
입력 노드 유형을 그대로 반환 |
results[].valid |
boolean |
이 노드 구성이 유효한지 여부 |
results[].errors |
array |
이 노드의 유효성 검사 오류. 노드가 유효하면 생략됩니다 |
results[].errors[].path |
string |
오류의 파라미터 경로 |
results[].errors[].message |
string |
사람이 읽을 수 있는 오류 메시지 |
error |
string |
유효성 검사를 실행할 수 없는 경우 최상위 오류 메시지 |
참고 사항#
- 노드 파라미터 스키마만 유효성 검사합니다.
- 연결, 필수 입력, 트리거, 연결되지 않은 노드, 자격 증명 존재 여부와 같은 워크플로 수준의 사항은 확인하지 않습니다.
- LangChain 또는 AI 툴 서브노드의 경우
isToolNode를 true로 설정하여 스키마가 올바른 display options 분기를 평가하도록 합니다.
create_workflow_from_code#
유효성 검사된 SDK 코드에서 n8n에 워크플로를 생성합니다. 코드를 파싱하여 워크플로로 변환하고 저장합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
code |
string |
예 |
n8n 워크플로 SDK를 사용하는 전체 TypeScript/JavaScript 워크플로 코드. 먼저 validate_workflow로 유효성 검사를 수행해야 합니다. |
skillsUsed |
string[] |
아니요 |
이 워크플로를 생성하는 데 MCP 클라이언트가 사용한 n8n 스킬 이름. 값은 서버 측에서 정규화됩니다. |
name |
string |
아니요 |
선택적 워크플로 이름(최대 128자). 제공하지 않으면 코드의 이름을 사용합니다. |
description |
string |
아니요 |
짧은 워크플로 설명(최대 255자, 1-2문장). |
projectId |
string |
아니요 |
워크플로를 생성할 프로젝트 ID. 기본값은 사용자의 개인 프로젝트. 사용자가 프로젝트를 지정하면 먼저 search_projects를 사용합니다. |
folderId |
string |
아니요 |
워크플로를 생성할 폴더 ID. projectId도 설정해야 합니다. 프로젝트 내에서 이름으로 폴더를 찾으려면 search_folders를 사용합니다. |
| 필드 |
유형 |
설명 |
workflowId |
string |
생성된 워크플로의 ID |
name |
string |
생성된 워크플로의 이름 |
nodeCount |
number |
워크플로의 노드 수 |
url |
string |
n8n에서 워크플로를 열기 위한 URL |
autoAssignedCredentials |
array |
노드에 자동으로 할당된 자격 증명 목록 |
autoAssignedCredentials[].nodeName |
string |
자격 증명이 자동 할당된 노드의 이름 |
autoAssignedCredentials[].credentialName |
string |
자동 할당된 자격 증명의 이름 |
autoAssignedCredentials[].credentialType |
string |
자동 할당된 자격 증명 유형 |
targetProject |
object |
워크플로가 생성된 프로젝트 |
targetProject.id |
string |
프로젝트의 ID |
targetProject.name |
string |
프로젝트의 표시 이름 |
targetProject.type |
`"personal" |
"team"` |
note |
string |
워크플로 생성에 대한 추가 참고 사항(예: 자격 증명 자동 할당 중 건너뛴 노드) |
hint |
string |
오류 발생 시 사용 가능한 실행 가능한 복구 힌트 |
참고 사항#
- 노드에 사용 가능한 자격 증명을 자동으로 할당합니다.
- HTTP Request 노드는 자격 증명 자동 할당 중에 건너뛰어지므로 수동으로 구성해야 합니다.
- 생성된 워크플로에
availableInMCP 플래그를 true로 설정합니다.
- 워크플로에
aiBuilderAssisted 메타데이터와 builderVariant: mcp를 표시합니다.
- 웹훅 노드 ID를 자동으로 해결합니다.
folderId에는 projectId도 제공해야 합니다.
- 사용자가 대상 프로젝트를 지정하면 먼저
search_projects를 호출하고 확인된 projectId를 전달합니다. 추측하지 않습니다.
- 생성 후,
targetProject 필드를 사용하여 워크플로가 생성된 프로젝트를 사용자에게 알립니다.
update_workflow#
n8n v2.12.0부터 사용 가능. v2.20.0부터는 모든 업데이트 시 전체 워크플로를 다시 쓰는 대신 부분 업데이트를 수행하도록 변경되었습니다.
n8n의 기존 워크플로를 순서가 있는 대상 부분 업데이트 배치를 적용하여 업데이트합니다. 배치는 원자적입니다: 하나의 작업이 실패하면 변경 사항이 저장되지 않습니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
업데이트할 워크플로의 ID |
skillsUsed |
string[] |
아니요 |
이 워크플로 업데이트를 생성하는 데 MCP 클라이언트가 사용한 n8n 스킬 이름. 값은 서버 측에서 정규화됩니다. |
operations |
array |
예 |
적용할 순서가 있는 작업 목록. 1-100개의 작업이 포함되어야 합니다. |
지원되는 작업#
| 작업 |
필수 필드 |
선택적 필드 |
설명 |
updateNodeParameters |
nodeName, parameters |
replace |
기존 노드의 파라미터에 parameters를 딥 머지합니다. replace가 true이면 전체 파라미터 객체를 교체합니다. |
setNodeParameter |
nodeName, path, value |
|
RFC 6901 JSON Pointer 경로(예: /jsonSchema 또는 /options/systemMessage)를 사용하여 하나의 파라미터를 설정합니다. 필요에 따라 중간 객체를 생성합니다. 배열 인덱스는 지원되지 않으므로 배열 전체를 설정합니다. |
addNode |
node.name, node.type, node.typeVersion |
node.id, node.parameters, node.position, node.credentials, node.disabled, node.notes |
노드를 추가합니다. position은 [x, y]입니다. id를 생략하면 자동 생성됩니다. 노드 이름은 고유해야 합니다. |
removeNode |
nodeName |
|
노드와 모든 인바운드 및 아웃바운드 연결을 제거합니다. 연결된 서브노드는 워크플로에 남아 있지만 연결이 끊어집니다. |
renameNode |
oldName, newName |
|
노드 이름을 변경하고 연결 참조를 다시 씁니다. 새 이름은 고유해야 합니다. |
addConnection |
source, target |
sourceIndex, targetIndex, connectionType |
연결을 추가합니다. sourceIndex와 targetIndex의 기본값은 0이고, connectionType의 기본값은 main입니다. 동일한 연결은 중복되지 않습니다. |
removeConnection |
source, target |
sourceIndex, targetIndex, connectionType |
일치하는 연결을 제거합니다. sourceIndex와 targetIndex의 기본값은 0이고, connectionType의 기본값은 main입니다. |
setNodeCredential |
nodeName, credentialKey, credentialId, credentialName |
|
노드 자격 증명 참조를 설정하거나 교체합니다. 자격 증명은 액세스 가능해야 하며 노드 유형이 허용하는 자격 증명 키와 일치해야 합니다. |
setNodePosition |
nodeName, position |
|
노드의 캔버스 위치를 [x, y]로 업데이트합니다. |
setNodeDisabled |
nodeName, disabled |
|
노드를 활성화하거나 비활성화합니다. |
setNodeSettings |
nodeName, settings |
|
노드 수준 실행 설정을 업데이트합니다. settings에는 지원되는 설정이 최소 하나 포함되어야 합니다. |
setWorkflowMetadata |
|
name, description |
워크플로 메타데이터를 업데이트합니다. name의 최대 길이는 128자이고, description의 최대 길이는 255자입니다. |
setNodeSettings 필드#
| 필드 |
유형 |
필수 |
설명 |
onError |
`"stopWorkflow" |
"continueRegularOutput" |
"continueErrorOutput"` |
retryOnFail |
boolean |
아니요 |
노드 실패 시 재시도 여부 |
maxTries |
integer |
아니요 |
retryOnFail이 true인 경우 시도 횟수. 2-5 사이여야 합니다 |
waitBetweenTries |
integer |
아니요 |
재시도 사이 대기 시간(밀리초). 0-5000 사이여야 합니다 |
alwaysOutputData |
boolean |
아니요 |
노드가 항상 데이터를 출력해야 하는지 여부 |
executeOnce |
boolean |
아니요 |
노드가 한 번만 실행되어야 하는지 여부 |
| 필드 |
유형 |
설명 |
workflowId |
string |
업데이트된 워크플로의 ID |
name |
string |
업데이트된 워크플로의 이름 |
nodeCount |
number |
워크플로의 노드 수 |
url |
string |
n8n에서 워크플로를 열기 위한 URL |
appliedOperations |
number |
적용된 작업 수 |
autoAssignedCredentials |
array |
이 업데이트에서 추가된 노드에 자동으로 할당된 자격 증명 |
autoAssignedCredentials[].nodeName |
string |
자격 증명이 자동 할당된 노드 |
autoAssignedCredentials[].credentialName |
string |
자동 할당된 자격 증명 |
autoAssignedCredentials[].credentialType |
string |
자동 할당된 자격 증명 유형 |
validationWarnings |
array |
결과 워크플로에 대한 그래프 및 JSON 유효성 검사 경고. 이 경고는 저장을 차단하지 않습니다 |
validationWarnings[].code |
string |
경고 코드 |
validationWarnings[].message |
string |
경고 메시지 |
validationWarnings[].nodeName |
string |
경고와 관련된 선택적 노드 |
note |
string |
워크플로 업데이트에 대한 추가 참고 사항(예: 자격 증명 자동 할당 중 건너뛴 HTTP Request 노드) |
error |
string |
업데이트 실패 시 오류 메시지 |
참고 사항#
- 작업은 순서대로 적용되고 원자적으로 저장됩니다.
- 기존 자격 증명은 명시적으로 변경하지 않는 한 보존됩니다.
- 자격 증명 자동 할당은 현재 호출에서 추가된 노드에 대해서만 실행됩니다.
- HTTP Request 노드는 자격 증명 자동 할당 중에 건너뛰어지므로 수동으로 구성해야 합니다.
- 결과 워크플로는 저장 전에 유효성 검사됩니다. 유효성 검사 경고는
validationWarnings에 반환됩니다.
- 워크플로에
aiBuilderAssisted 메타데이터와 builderVariant: mcp를 표시합니다.
archive_workflow#
ID로 n8n의 워크플로를 아카이브합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
workflowId |
string |
예 |
아카이브할 워크플로의 ID |
| 필드 |
유형 |
설명 |
archived |
boolean |
워크플로가 아카이브되었는지 여부 |
workflowId |
string |
아카이브된 워크플로의 ID |
name |
string |
아카이브된 워크플로의 이름 |
참고 사항#
- 멱등성 - 이미 아카이브된 워크플로는 건너뜁니다.
데이터 테이블#
search_data_tables#
현재 사용자가 액세스할 수 있는 데이터 테이블을 검색합니다. 데이터를 수정하거나 추가하기 전에 데이터 테이블 ID를 찾을 때 사용합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
query |
string |
아니요 |
이름으로 데이터 테이블 필터링(대소문자 구분 없는 부분 일치) |
projectId |
string |
아니요 |
프로젝트 ID로 필터링 |
limit |
integer |
아니요 |
결과 수 제한 (최대 100) |
| 필드 |
유형 |
설명 |
data |
array |
쿼리와 일치하는 데이터 테이블 목록 |
data[].id |
string |
데이터 테이블의 고유 식별자 |
data[].name |
string |
데이터 테이블 이름 |
data[].projectId |
string |
이 데이터 테이블이 속하는 프로젝트 |
data[].createdAt |
string |
데이터 테이블이 생성된 ISO 타임스탬프 |
data[].updatedAt |
string |
데이터 테이블이 마지막으로 수정된 ISO 타임스탬프 |
data[].columns |
array |
이 데이터 테이블에 정의된 칼럼 |
data[].columns[].id |
string |
칼럼 고유 식별자 |
data[].columns[].name |
string |
칼럼 이름 |
data[].columns[].type |
string |
칼럼 데이터 유형. 다음 중 하나: "string", "number", "boolean", "date" |
data[].columns[].index |
integer |
테이블에서 칼럼 위치 |
count |
integer |
일치하는 데이터 테이블의 총 수 |
참고 사항#
create_data_table#
지정된 칼럼으로 새 데이터 테이블을 생성합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
projectId |
string |
예 |
데이터 테이블이 생성될 프로젝트 ID |
name |
string |
예 |
데이터 테이블 이름(최소 1자, 최대 128자, 프로젝트 내에서 고유해야 함) |
columns |
array |
예 (최소 1개) |
데이터 테이블에 생성할 칼럼 |
columns[].name |
string |
예 |
칼럼 이름. 문자로 시작하고 문자, 숫자, 밑줄만 포함해야 합니다(최대 63자). |
columns[].type |
string |
예 |
칼럼의 데이터 유형. 다음 중 하나: "string", "number", "boolean", "date" |
| 필드 |
유형 |
설명 |
id |
string |
생성된 데이터 테이블의 고유 식별자 |
name |
string |
생성된 데이터 테이블의 이름 |
projectId |
string |
생성된 데이터 테이블의 프로젝트 ID |
참고 사항#
- 칼럼이 최소 1개 필요합니다.
- 테이블 이름은 프로젝트 내에서 고유해야 합니다.
- 칼럼 이름은 패턴을 따라야 합니다:
^[a-zA-Z][a-zA-Z0-9_]*$ (최대 63자).
add_data_table_column#
기존 데이터 테이블에 새 칼럼을 추가합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
dataTableId |
string |
예 |
칼럼을 추가할 데이터 테이블의 ID |
projectId |
string |
예 |
데이터 테이블이 속하는 프로젝트 ID |
name |
string |
예 |
칼럼 이름. 문자로 시작하고 문자, 숫자, 밑줄만 포함해야 합니다(최대 63자). |
type |
string |
예 |
새 칼럼의 데이터 유형. 다음 중 하나: "string", "number", "boolean", "date" |
| 필드 |
유형 |
설명 |
success |
boolean |
작업 성공 여부 |
message |
string |
결과 설명 |
column |
object |
생성된 칼럼 |
column.id |
string |
칼럼 고유 식별자 |
column.name |
string |
칼럼 이름 |
column.type |
string |
칼럼 데이터 유형 |
참고 사항#
- 칼럼 이름은 패턴을 따라야 합니다:
^[a-zA-Z][a-zA-Z0-9_]*$ (최대 63자).
- 칼럼 유형은 생성 후 (MCP를 통해) 변경할 수 없습니다.
rename_data_table_column#
데이터 테이블의 칼럼 이름을 변경합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
dataTableId |
string |
예 |
칼럼이 포함된 데이터 테이블의 ID |
projectId |
string |
예 |
데이터 테이블이 속하는 프로젝트 ID |
columnId |
string |
예 |
이름을 변경할 칼럼의 ID |
name |
string |
예 |
새 칼럼 이름. 칼럼 명명 규칙을 따라야 합니다. |
| 필드 |
유형 |
설명 |
success |
boolean |
작업 성공 여부 |
message |
string |
결과 설명 |
column |
object |
이름이 변경된 칼럼 |
column.id |
string |
칼럼 고유 식별자 |
column.name |
string |
새 칼럼 이름 |
column.type |
string |
칼럼 데이터 유형 |
참고 사항#
- 새 이름은 칼럼 명명 규칙을 따라야 합니다:
^[a-zA-Z][a-zA-Z0-9_]*$ (최대 63자).
delete_data_table_column#
데이터 테이블에서 칼럼을 삭제합니다. 칼럼과 해당 데이터를 영구적으로 제거합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
dataTableId |
string |
예 |
칼럼이 포함된 데이터 테이블의 ID |
projectId |
string |
예 |
데이터 테이블이 속하는 프로젝트 ID |
columnId |
string |
예 |
삭제할 칼럼의 ID |
| 필드 |
유형 |
설명 |
success |
boolean |
작업 성공 여부 |
message |
string |
결과 설명 |
참고 사항#
- MCP를 통한 칼럼 삭제는 취소할 수 없습니다.
rename_data_table#
기존 데이터 테이블의 이름을 변경합니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
dataTableId |
string |
예 |
이름을 변경할 데이터 테이블의 ID |
projectId |
string |
예 |
데이터 테이블이 속하는 프로젝트 ID |
name |
string |
예 |
데이터 테이블의 새 이름(최소 1자, 최대 128자) |
| 필드 |
유형 |
설명 |
success |
boolean |
작업 성공 여부 |
message |
string |
결과 설명 |
참고 사항#
add_data_table_rows#
기존 데이터 테이블에 행을 삽입합니다. 각 행은 칼럼 이름을 값에 매핑하는 객체입니다.
파라미터#
| 이름 |
유형 |
필수 |
설명 |
dataTableId |
string |
예 |
행을 삽입할 데이터 테이블의 ID |
projectId |
string |
예 |
데이터 테이블이 속하는 프로젝트 ID |
rows |
array |
예 (최소 1개, 최대 1000개) |
행 객체의 배열. 각 객체는 칼럼 이름을 값(string, number, boolean, 또는 null)에 매핑합니다. |
| 필드 |
유형 |
설명 |
success |
boolean |
삽입 작업 성공 여부 |
insertedCount |
integer |
성공적으로 삽입된 행 수 |
참고 사항#
- 호출당 최대 1000행.
- 행 값은
string, number, boolean, 또는 null이어야 합니다.
- 행 객체의 칼럼 이름은 데이터 테이블의 기존 칼럼 이름과 일치해야 합니다.