Stage files for commit. Add file contents to the staging area (index) to prepare for the next commit.

Include all items (varies by operation).

Allow adding otherwise ignored files.

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Array of file or directory paths to stage (relative to repository root). Use ["."] to stage all changes. Paths must not start with "-" — use "./-name" for filenames starting with a dash. Can be omitted when all or update is true.

File path (must not start with "-").

Stage only modified and deleted files (skip untracked files).

Files that were successfully staged.

Repository status after staging files.

Files with conflicts.

Current branch name after staging.

Whether working directory is clean (ready to commit).

All staged changes after this operation.

Remaining unstaged changes.

Remaining untracked files.

Indicates if the operation was successful.

Total number of files staged.

Git Add

Show line-by-line authorship information for a file, displaying who last modified each line and when. For large files, use startLine/endLine to limit output.

End line number (1-indexed).

Path to the file to blame (relative to repository root). Must not start with "-".

Ignore whitespace changes.

Start line number (1-indexed).

The file that was blamed.

Array of blame information for each line.

Author who last modified this line.

Full commit hash of the last change to this line.

The actual content/text of this line.

Line number in the file (1-indexed).

Unix timestamp of the commit that last modified this line.

lineNumber commitHash author timestamp content

Total number of lines in the output.

Git Blame

Manage branches: list all branches, show current branch, create a new branch, delete a branch, or rename a branch.

For list mode: show both local and remote branches.

Branch name for create/delete/rename operations.

Force the operation, bypassing safety checks.

For list mode: cap the number of branches returned (applied at the git command). Use on repos with many branches.

Commit reference: full/short hash, branch name, tag name, or relative ref (HEAD~1). Must not start with "-".

For list mode: show only branches merged into HEAD (true) or specified commit (string).

The branch operation to perform.

New branch name for rename operation.

For list mode: show only branches not merged into HEAD (true) or specified commit (string).

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

For list mode: show only remote branches.

Starting point (commit/branch) for new branch creation.

List of branches (for list mode).

Commits ahead of upstream.

Commits behind upstream.

Commit hash the branch points to.

True if this is the current branch.

Branch name.

Upstream branch name if configured.

Name of current branch.

Success message for create/delete/rename modes.

Indicates if the operation was successful.

Git Branch

Gather git history context (commits, tags) and structured review instructions to support LLM-driven changelog analysis. Changelog file should be read separately; this tool provides the supporting git data and analysis framework. Pass one or more review types to control what kind of analysis to perform.

Branch to analyze (defaults to current branch).

Maximum recent commits to fetch for cross-referencing (1-1000).

Maximum recent tags to fetch for release context (1-1000). Applied at the git command so large tag catalogs do not bloat the response.

Types of changelog review to perform. At least one required. Options: security, features, storyline, gaps, breaking_changes, quality.

security features storyline gaps breaking_changes quality

Only include git history since this tag (e.g., "v1.2.0"). Narrows the analysis window. Must not start with "-".

Git history context for changelog cross-referencing.

Recent commits for cross-referencing.

Commit author.

Short commit hash.

Tags or branches at this commit.

Commit subject line.

Unix timestamp.

Current branch name.

Repository tags for release context.

Commit hash the tag points to.

Annotated tag message.

Tag name.

Tag creation timestamp.

Number of commits returned.

currentBranch totalCommitsFetched commits tags

Analysis instructions for each requested review type. Guides the LLM on what to look for in the changelog.

Review types that were requested.

success reviewTypes gitContext reviewInstructions

Git Changelog Analyze

Switch branches or restore working tree files. Can checkout an existing branch, create a new branch, or restore specific files.

Create a new branch with the specified name.

Force the operation, bypassing safety checks.

Specific file paths to checkout/restore (relative to repository root). Entries must not start with "-".

File path (must not start with "-").

Branch name (must follow git naming conventions, no leading "-").

Branch name, commit hash, or tag to checkout.

Set up tracking relationship with remote branch when creating new branch.

True if a new branch was created.

Files that were modified during checkout.

Indicates if the operation was successful.

Checked out branch or commit.

success target branchCreated filesModified

Git Checkout

Cherry-pick commits from other branches. Apply specific commits to the current branch without merging entire branches.

Abort cherry-pick operation.

Commit hashes to cherry-pick.

Continue cherry-pick after resolving conflicts.

For merge commits, specify which parent to follow (1 for first parent, 2 for second, etc.).

Don't create commit (stage changes only).

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Add Signed-off-by line to the commit message.

Merge strategy to use for cherry-pick.

Files with conflicts that need resolution.

Whether operation had conflicts.

Human-readable next-step guidance, especially for conflicts.

Commits that were successfully cherry-picked.

success pickedCommits conflicts conflictedFiles

Git Cherry-Pick

Remove untracked files from the working directory. Requires force flag for safety. Use dry-run to preview files that would be removed.

Remove untracked directories in addition to files.

Preview the operation without executing it.

Force the operation, bypassing safety checks.

Remove ignored files as well.

List of directories that were removed.

Whether this was a dry-run (preview only).

List of files that were removed.

success filesRemoved directoriesRemoved dryRun

Git Clean

Clear the session working directory setting. This resets the context without restarting the server. Subsequent git operations will require an explicit path parameter unless git_set_working_dir is called again.

Explicit confirmation required to clear working directory. Accepted values: 'Y', 'y', 'Yes', or 'yes'.

Confirmation message.

The working directory that was cleared (if one was set).

Indicates if the operation was successful.

Git Clear Working Directory

Clone a repository from a remote URL or local path. Accepts HTTP(S), SSH, git://, file://, and bare filesystem paths, with optional shallow cloning.

Create a bare repository (no working directory).

Specific branch to clone (defaults to remote HEAD). Must not start with "-".

Create a shallow clone with history truncated to N commits.

Create a mirror clone (implies bare).

Destination path where the repository should be cloned. Must not start with "-".

Git repository URL: HTTP(S), SSH (ssh://… or user@host:path), git://, file://, or an absolute filesystem path. Must not start with "-" and no segment may start with "-".

The branch that was checked out.

Current HEAD commit hash.

Local path where repository was cloned.

The remote URL or path that was cloned.

Git Clone

Create a new commit with staged changes in the repository. Records a snapshot of the staging area with a commit message.

**Commit Message Format:**
Pass commit messages as JSON string parameters. Multi-line messages are supported using standard JSON string escaping.

**Examples:**
- Single line: { "message": "feat: add user authentication" }
- Multi-line: { "message": "feat: add user authentication\n\nImplemented OAuth2 flow with JWT tokens.\nAdded tests for login and logout." }

Note: Do not use bash heredoc syntax. Literal escape sequences (\n, \t) in the message string are automatically normalized to their actual characters.

Allow creating a commit with no changes.

Amend the previous commit instead of creating a new one. Use with caution.

Override commit author (defaults to git config).

Author's email address (e.g. user@example.com).

Author's name

File paths to stage before committing (atomic stage+commit operation). Entries must not start with "-".

File path (must not start with "-").

Commit message.

Bypass pre-commit and commit-msg hooks.

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Author of the commit.

SHA-1 hash of the created commit.

List of files that were committed.

Number of line deletions.

Number of files changed in this commit.

Number of line insertions.

The commit message.

Whether the commit was signed. False when GIT_SIGN_COMMITS=false or when signing was attempted and fell back to unsigned on failure.

Populated only when signing was requested but failed, and the commit was created unsigned as a fallback.

Repository status after the commit.

Conflicted files after commit.

Current branch name after commit.

Whether working directory is clean.

Remaining staged changes after commit.

Unstaged changes after commit.

Untracked files after commit.

Unix timestamp when the commit was created.

success commitHash message author timestamp committedFiles signed status

Git Commit

View differences between commits, branches, or working tree. Shows changes in unified diff format.

Automatically exclude lock files and other generated files (e.g., package-lock.json, yarn.lock, bun.lock, poetry.lock, go.sum) from diff output to reduce context bloat. Set to false if you need to inspect these files.

Number of context lines to show around changes.

Include untracked files in the diff. Useful for reviewing all upcoming changes.

Show only names of changed files, not the diff content.

Limit diff to specific file paths (relative to repository root). Entries must not start with "-".

File path (must not start with "-").

Source commit/branch to compare from. If target is specified but not source, compares target against working tree.

Show diff of staged changes instead of unstaged.

Show diffstat (summary of changes) instead of full diff content.

Target commit/branch to compare against. If not specified, shows unstaged changes in working tree.

Total number of line deletions.

The diff output in unified diff format.

Files that were automatically excluded from the diff (e.g., lock files). Call again with autoExclude=false to include them.

Number of files with differences.

Total number of line insertions.

Indicates if the operation was successful.

Git Diff

Fetch updates from a remote repository. Downloads objects and refs without merging them.

Create a shallow clone with history truncated to N commits.

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Prune remote-tracking references that no longer exist on remote.

Remote name (default: origin).

Fetch all tags from the remote.

References that were fetched from the remote.

References that were pruned (deleted locally).

Remote name that was fetched from.

Git Fetch

Initialize a new Git repository at the specified path. Creates a .git directory and sets up the initial branch.

Create a bare repository (no working directory).

Name of the initial branch (default: main).

Name of the initial branch.

Whether this is a bare repository.

Path where repository was initialized.

Git Init

View commit history with optional filtering by author, date range, file path, or commit message pattern.

Filter commits by author name or email pattern.

Show commits from a specific branch or ref (defaults to current branch).

Show commits that affected a specific file path. Must not start with "-".

Filter commits by message pattern (regex supported).

Maximum number of items to return (1-1000).

Abbreviated output: return only hash, shortHash, and subject per commit. Significantly reduces response size.

Include the full diff patch for each commit.

Show GPG signature verification information for each commit.

Show commits more recent than a specific date (ISO 8601 format).

Number of items to skip for pagination.

Include file change statistics for each commit.

Show commits older than a specific date (ISO 8601 format).

Array of commit objects.

Commit author name.

Commit author email.

Commit message body (if present).

Full commit SHA-1 hash.

Parent commit hashes.

Full diff patch (when patch option is used).

References (branches, tags) pointing to this commit.

Abbreviated commit hash (7 characters).

File change statistics (when stat option is used).

First line of the commit message.

Commit timestamp (Unix timestamp).

Set when filters returned zero commits. Echoes the criteria and suggests broadening so callers can self-correct without inspecting the request.

Indicates if the operation was successful.

Total number of commits returned (may be limited by maxCount).

Git Log

Merge branches together. Integrates changes from another branch into the current branch with optional merge strategies.

Abort an in-progress merge that has conflicts.

Branch to merge into current branch.

Custom merge commit message.

Prevent fast-forward merge (create merge commit).

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Squash all commits from the branch into a single commit.

Merge strategy to use (ort, recursive, octopus, ours, subtree).

Files with conflicts that need resolution.

Whether merge had conflicts.

Whether merge was fast-forward.

Files that were merged.

Merge commit message.

Merge strategy used.

success strategy fastForward conflicts conflictedFiles mergedFiles message

Git Merge

Pull changes from a remote repository. Fetches and integrates changes into the current branch.

Branch name (default: current branch).

Fail if can't fast-forward (no merge commit).

Use rebase instead of merge when integrating changes.

Remote name (default: origin).

Branch that was pulled.

Files with conflicts that need resolution (empty if conflicts is false).

Whether pull had conflicts.

Files that were changed.

Remote name that was pulled from.

Integration strategy used.

success remote branch strategy conflicts conflictedFiles filesChanged

Git Pull

Push changes to a remote repository. Uploads local commits to the remote branch.

Branch name (default: current branch).

Explicit confirmation required for force push or branch deletion on protected branches (main, master, production, etc.).

Delete the specified remote branch.

Preview the operation without executing it.

Force push (overwrites remote history).

Safer force push - only succeeds if remote branch is at expected state.

Remote name (default: origin).

Remote branch name to push to (if different from local branch name).

Set upstream tracking relationship for the branch.

Push all tags to the remote.

Branch that was pushed.

References that were successfully pushed.

References that were rejected by the remote.

Remote name that was pushed to.

Indicates if the operation was successful.

Whether upstream tracking was set for the branch.

success remote branch upstreamSet pushedRefs rejectedRefs

Git Push

Rebase commits onto another branch. Reapplies commits on top of another base tip for a cleaner history.

Branch to rebase (default: current branch).

Interactive rebase (not supported in all providers).

Rebase operation mode: 'start', 'continue', 'abort', or 'skip'.

Rebase onto different commit than upstream.

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Preserve merge commits during rebase.

Upstream branch to rebase onto (required for start mode).

Files with conflicts that need resolution.

Whether rebase had conflicts.

Current commit hash if rebase stopped due to conflict.

Human-readable next-step guidance, especially for conflicts.

Number of commits that were rebased.

success conflicts conflictedFiles rebasedCommits

Git Rebase

View the reference logs (reflog) to track when branch tips and other references were updated. Useful for recovering lost commits.

Maximum number of items to return (1-1000).

Reference whose reflog to show. Defaults to HEAD. Must not start with "-".

Array of reflog entries in reverse chronological order.

Action that caused this reflog entry (commit, checkout, etc.).

Commit hash for this reflog entry.

Detailed message describing the action.

Reference name (e.g., HEAD@{0}, main@{1}).

Unix timestamp when this action occurred.

The reference that was queried.

Indicates if the operation was successful.

Total number of reflog entries.

Git Reflog

Manage remote repositories: list remotes, add new remotes, remove remotes, rename remotes, or get/set remote URLs.

The remote operation to perform.

Remote name for add/remove/rename/get-url/set-url operations.

New remote name for rename operation.

Set push URL separately (for set-url operation).

Remote URL for add/set-url operations. Accepts HTTP(S), SSH (ssh://… or user@host:path), git://, or file:// URLs. Must not start with "-".

Added remote (for add mode).

Operation mode that was performed.

List of remotes (for list mode).

Fetch URL.

Remote name.

Push URL (may differ from fetch URL).

Removed remote name (for remove mode).

Rename information (for rename mode).

Remote URL (for get-url mode).

Git Remote

Reset current HEAD to specified state. Can be used to unstage files (soft), discard commits (mixed), or discard all changes (hard).

Explicit confirmation required for hard, merge, and keep reset modes on protected branches (main, master, production, etc.).

Reset mode: soft (keep changes staged), mixed (unstage changes), hard (discard all changes), merge (reset and merge), keep (reset but keep local changes).

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Specific file paths to reset (leaves HEAD unchanged). Entries must not start with "-".

File path (must not start with "-").

Target commit to reset to. Defaults to HEAD.

Files affected by the reset. For path-only resets, the listed paths. For commit-move resets, files that differ between the old and new HEAD. For --hard with no HEAD move, files whose pending working-tree changes were discarded.

Reset mode that was used.

Commit hash HEAD pointed to before the reset (omitted if HEAD did not move).

Commit hash HEAD points to after the reset.

Git Reset

Set the session working directory for all git operations so subsequent calls can omit the path parameter. Always returns a repository snapshot (status, recent commits, recent tags, remotes) to orient the caller.

If not a Git repository, initialize it with 'git init'.

Absolute path to the git repository to use as the working directory.

Validate that the path is a Git repository.

Actionable notes when snapshot gathering was skipped or partially failed.

Confirmation message.

The working directory that was set.

Best-effort repository snapshot. Omitted when the path is not a git repository (see enrichmentWarnings).

Up to 2 most recent commits on the current branch.

Author name.

Author date (ISO 8601).

Short commit hash.

First line of the commit message.

Up to 2 most recent tags by creator date.

Remaining annotation body after the subject (annotated tags only).

First line of the tag annotation (annotated tags only).

Creator date (ISO 8601); absent for lightweight tags with no metadata.

Tag name.

Tagger identity (annotated tags only).

Configured remote repositories.

Fetch URL.

Remote name.

Push URL (may differ from fetch URL).

Commits ahead of upstream (if tracking).

Commits behind upstream (if tracking).

Current branch (null on detached HEAD).

Paths with merge conflicts.

True when the working tree has no changes.

Paths staged for the next commit.

Paths with unstaged modifications.

Untracked paths.

Upstream ref being tracked by the current branch.

branch isClean staged unstaged untracked conflicts

Indicates if the operation was successful.

Git Set Working Directory

Show details of a git object (commit, tree, blob, or tag). Displays commit information and the diff of changes introduced.

View specific file at a given commit reference. When provided, shows the file content from the specified object. Must not start with "-".

Output format for the git object. Use "raw" for unprocessed git output.

Git object to show (commit hash, branch, tag, tree, or blob).

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Show diffstat instead of full diff.

Formatted output showing the object details.

Additional metadata about the object.

Object identifier.

Type of git object shown.

Git Show

Manage stashes: list stashes, save current changes (push), restore changes (pop/apply), or remove stashes (drop/clear).

Include untracked files in the stash (for push operation).

Don't revert staged changes (for push operation).

For list mode: cap the number of stash entries returned (applied at the git command).

Stash message description (for push operation).

The stash operation to perform. Defaults to push (save current changes).

Stash reference like stash@{0} (for pop/apply/drop operations). Must not start with "-".

Applied stash reference (for pop/apply mode).

Whether operation had conflicts.

Created stash reference (for push mode).

Dropped stash reference (for drop mode).

Operation mode that was performed.

List of stashes (for list mode).

Branch name when stashed.

Stash description.

Stash index number.

Stash reference (e.g., stash@{0}).

Unix timestamp when stashed.

Indicates if the operation was successful.

Git Stash

Show the working tree status including staged, unstaged, and untracked files.

Include untracked files in the output.

Commits ahead of upstream (if tracking).

Commits behind upstream (if tracking).

Files with merge conflicts that need resolution.

Current branch name.

True if working directory is clean (no staged, unstaged, or untracked changes). When includeUntracked is false, untracked files are excluded from this check.

Changes that have been staged for the next commit.

Files added to the index (staged).

Files copied and staged.

Files deleted and staged.

Files modified and staged.

Files renamed and staged.

Changes in the working directory that have not been staged.

Files added but not staged.

Files deleted but not staged.

Files modified but not staged.

Files in the working directory not tracked by git.

Upstream ref the current branch is tracking (if any).

success currentBranch isClean stagedChanges unstagedChanges untrackedFiles conflictedFiles

Git Status

Manage tags: list all tags, create a new tag, delete a tag, or verify a signed tag. Tags are used to mark specific points in history (releases, milestones). Verify runs `git tag -v` and returns a structured result distinguishing unsigned tags, missing trust configuration, bad signatures, and valid signatures.

Create an annotated tag with a default "Tag <name>" message. Only effective when no message is provided and signing is disabled — otherwise the tag is always annotated.

Commit to tag (default: HEAD for create operation).

Overwrite an existing tag (create mode only; has no effect on list or delete).

For list mode: cap the number of tags returned (applied at the git command via `--count=N`). Use on repos with many tags.

Tag message. Providing a message always produces an annotated tag (git does not support messages on lightweight tags). For release tags, summarize notable changes.

The tag operation to perform.

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Tag name for create/delete/verify operations.

Created tag name (for create mode).

Deleted tag name (for delete mode).

Operation mode that was performed.

Raw stderr from `git tag -v` for callers that need the full verification output (verify mode only).

Signature algorithm family when detectable from `git tag -v` output (verify mode). Absent for unsigned tags or unparseable output.

Whether the created tag was signed. Only populated for create mode. False when GIT_SIGN_COMMITS=false or when signing failed and fell back to unsigned.

Signer identity as emitted by git — e.g., `Name <email>` for GPG or the SSH principal. Verify mode only.

Key material emitted by git — GPG fingerprint/key ID or SSH key fingerprint (`SHA256:…`). Verify mode only; absent when git did not surface it.

Populated only when signing was requested but failed, and the tag was created unsigned as a fallback.

Indicates if the operation was successful.

List of tags (for list mode).

Remaining annotation body after the subject line (annotated tags only).

Commit hash the tag points to.

First line of the tag annotation (annotated tags only). See `annotationBody` for the remainder.

Tag name.

Tagger name and email.

Tag creation timestamp.

Whether the signature validated (for verify mode). `false` for unsigned tags, missing trust config, bad signatures, or unparseable output — inspect `warning` to distinguish.

Verified tag name (for verify mode). Echoes the input so callers can correlate results in batched flows.

Populated on verify failure with a human-readable reason distinguishing unsigned tags, missing trust configuration, bad signatures, and unparseable output.

Git Tag

Manage multiple working trees: list worktrees, add new worktrees for parallel work, remove worktrees, or move worktrees to new locations.

For add operation: create a NEW branch with this name in the new worktree. Fails if the branch already exists — use `commitish` to check out an existing branch instead.

For add operation: check out this existing branch/commit/tag in the new worktree (no new branch is created).

Create worktree with detached HEAD (for add operation).

Preview the operation without executing it (for prune operation).

Force operation (for remove operation with uncommitted changes).

The worktree operation to perform.

New path for the worktree (for move operation). Must not start with "-".

Path to the Git repository. Defaults to session working directory set via git_set_working_dir.

Provide detailed output for worktree operations.

Path for the new worktree (for add/move operations). Must not start with "-".

Added worktree path (for add mode).

Operation mode that was performed.

Move operation info (for move mode).

Pruned worktree paths (for prune mode).

Removed worktree path (for remove mode).

Indicates if the operation was successful.

List of worktrees (for list mode).

Whether worktree is bare.

Branch checked out (if not detached).

Whether HEAD is detached.

HEAD commit hash in this worktree.

Whether the worktree is locked.

Absolute path to the worktree.

Whether the worktree can be pruned.

Git Worktree

Returns a Git wrap-up protocol: an acceptance-criteria checklist the agent must satisfy before the session is considered shipped. Uses the operator's custom instructions if configured, otherwise emits a generic goals-strict/mechanism-generic default. Enriches the response with a repository snapshot (status, recent commits, recent tags) so the agent has immediate orientation for the commit and release steps.

Acknowledgement to initiate the wrap-up workflow.

Controls whether the tag criterion appears in the emitted protocol. Omit or set `true` to include the tag step. Set `false` to omit it entirely — e.g., when tagging is deferred to a separate release step.

Actionable notes when snapshot gathering was skipped or partially failed.

The wrap-up protocol to satisfy before the session ships.

Best-effort repository snapshot. Omitted when no working directory is set or when the path is not a git repository.

Up to 2 most recent commits on the current branch.

Author name.

Author date (ISO 8601).

Short commit hash.

First line of the commit message.

Up to 2 most recent tags by creator date.

Remaining annotation body after the subject (annotated tags only).

First line of the tag annotation (annotated tags only).

Creator date (ISO 8601); absent for lightweight tags with no metadata.

Tag name.

Tagger identity (annotated tags only).

Commits ahead of upstream (if tracking).

Commits behind upstream (if tracking).

Current branch (null on detached HEAD).

Paths with merge conflicts.

True when the working tree has no changes.

Paths staged for the next commit.

Paths with unstaged modifications.

Untracked paths.

Upstream ref being tracked by the current branch.

Git Wrap-up Instructions


Get Node Info

Get node info with progressive detail levels and multiple modes. Detail: minimal (~200 tokens), standard (~1-2K, default), full (~3-8K). Modes: info (default), docs (markdown documentation), search_properties (find properties), versions/compare/breaking/migrations (version info). Use format='docs' for readable documentation, mode='search_properties' with propertyQuery for finding specific fields.

Information detail level. standard=essential properties (recommended), full=everything

Source version for compare/breaking/migrations modes (e.g., "1.0")

Include real-world configuration examples from templates. Only applies to mode=info with detail=standard. Adds ~200-400 tokens per example.

Include type structure metadata (type category, JS type, validation rules). Only applies to mode=info. Adds ~80-120 tokens per property.

For mode=search_properties: max results (default 20)

Operation mode. info=node schema, docs=readable markdown documentation, search_properties=find specific properties, versions/compare/breaking/migrations=version info

info docs search_properties versions compare breaking migrations

Full node type: "nodes-base.httpRequest" or "nodes-langchain.agent"

For mode=search_properties: search term to find properties (e.g., "auth", "header", "body")

Target version for compare mode (e.g., "2.0"). Defaults to latest if omitted.

Get Template

Get template by ID. Use mode to control response size: nodes_only (minimal), structure (nodes+connections), full (complete workflow).

Response detail level. nodes_only: just node list, structure: nodes+connections, full: complete workflow JSON.

The template ID to retrieve

Search Nodes

Search n8n nodes by keyword with optional real-world examples. Pass query as string. Example: query="webhook" or query="database". Returns max 20 results. Use includeExamples=true to get top 2 template configs per node.

Include top 2 real-world configuration examples from popular templates (default: false)

Include resource/operation tree per node. Adds ~100-300 tokens per result but saves a get_node round-trip.

Max results (default 20)

OR=any word, AND=all words, FUZZY=typo-tolerant

Search terms. Use quotes for exact phrase.

Filter by node source: all=everything (default), core=n8n base nodes, community=community nodes, verified=verified community nodes only

Search Templates

Search templates with multiple modes. Use searchMode='keyword' for text search, 'by_nodes' to find templates using specific nodes, 'by_task' for curated task-based templates, 'by_metadata' for filtering by complexity/setup time/services, 'patterns' for lightweight workflow pattern summaries mined from 2700+ templates.

For searchMode=by_metadata: filter by category (e.g., "automation", "integration")

For searchMode=by_metadata: filter by complexity level

For searchMode=keyword: fields to include in response. Default: all fields.

id name description author nodes views created url metadata

Maximum number of results. Default 20.

For searchMode=by_metadata: maximum setup time in minutes

For searchMode=by_metadata: minimum setup time in minutes

For searchMode=by_nodes: array of node types (e.g., ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"])

Pagination offset. Default 0.

For searchMode=keyword: search keyword (e.g., "chatbot")

For searchMode=by_metadata: filter by required service (e.g., "openai", "slack")

Search mode. keyword=text search (default), by_nodes=find by node types, by_task=curated task templates, by_metadata=filter by complexity/services, patterns=lightweight workflow pattern summaries

For searchMode=by_metadata: filter by target audience (e.g., "developers", "marketers")

For searchMode=by_task: the type of task. For searchMode=patterns: optional category filter (omit for overview of all categories).

Tools Documentation

Get documentation for n8n MCP tools. Call without parameters for quick start guide. Use topic parameter to get documentation for specific tools. Use depth='full' for comprehensive documentation.

Level of detail. "essentials" (default) for quick reference, "full" for comprehensive docs.

Tool name (e.g., "search_nodes") or "overview" for general guide. Leave empty for quick reference.

Validate Node Config

Validate n8n node configuration. Use mode='full' for comprehensive validation with errors/warnings/suggestions, mode='minimal' for quick required fields check. Example: nodeType="nodes-base.slack", config={resource:"channel",operation:"create"}

Configuration as object. For simple nodes use {}. For complex nodes include fields like {resource:"channel",operation:"create"}

Validation mode. full=comprehensive validation with errors/warnings/suggestions, minimal=quick required fields check only. Default is "full"

Node type as string. Example: "nodes-base.slack"

Profile for mode=full: "minimal", "runtime", "ai-friendly", or "strict". Default is "ai-friendly"

Only present in mode=minimal

Validate Workflow

Full workflow validation: structure, connections, expressions, AI tools. Returns errors/warnings/fixes. Essential before deploy.

Optional validation settings

Validation profile for node validation. Default "runtime".

Validate node connections and flow. Default true.

Validate n8n expressions syntax and references. Default true.

Validate individual node configurations. Default true.

The complete workflow JSON to validate. Must include nodes array and connections object.