Skip to main content
The Editor Tools Bridge is an in-process MCP server called vscode-editor-tools that starts automatically when you begin a Hermes session. The agent queries it at runtime to understand your editor state — what file you have open, where your cursor is, what errors your language server is reporting — without you having to copy-paste anything.

What the agent can see

The bridge exposes the following context to Hermes:
CategoryDetails
Active editorFile path, language ID, cursor line and character, current selection, visible ranges, full file content (for files under 500 lines)
Open tabsLabels, file paths, language IDs, dirty (unsaved) state, pinned state
Open documentsAll in-memory document buffers, including language ID, dirty state, and content for documents under 1,000 lines
DiagnosticsErrors and warnings from every language server active in the workspace, including severity, message, file, and line range
Workspace filesRead and write any file within the open workspace folders
Workspace structureDirectory tree, workspace folder paths, and default language setting
Cursor surroundingsThe code above and below your cursor (configurable window, default ±20 lines)
Git statusCurrent branch, staged changes, and working-tree changes (via the built-in Git extension)
Symbol outlineClasses, functions, and variables for any file (via the document symbol provider)
ReferencesFind all usages of the symbol at the cursor across the codebase
DefinitionsJump-to-definition results for the symbol at the cursor
TerminalsNames of the active and all open terminal sessions
Files over 500 lines send only metadata (path, language ID, and line count) rather than full content. The agent uses the metadata to understand the file’s context and can request specific line ranges with the read_file tool if it needs a particular section.

How context is used

The agent automatically queries these tools when it needs editor context to answer your question or carry out a task. You do not need to configure anything or manually trigger the bridge — as soon as a session starts, the vscode-editor-tools server is registered and available to Hermes. For example, when you ask Hermes to explain a function, it uses get_active_file to read the current file and get_cursor_context to understand what code surrounds your cursor. When you ask about errors in your project, it calls get_diagnostics to fetch the live list from your language servers.

File operations

Beyond reading context, the agent can read and write files inside your workspace. The tools involved are:
  • read_file — reads any workspace file by path, with optional start and end line arguments for large files.
  • apply_diff — writes new content to a file immediately, without a review step.
  • propose_diff — shows the proposed change as a visual diff with inline decorations (red for removed lines, green for added lines) before anything is saved, and waits for your approval.
  • accept_diff — accepts the currently pending diff and saves the file with the proposed changes.
  • reject_diff — rejects the pending diff and reverts the file to its original content.
Whether the agent uses apply_diff or propose_diff — and whether it asks for confirmation before doing so — is controlled by the hermes.permissionMode setting (auto / confirm / manual). See the permissions documentation for the full breakdown.
In manual permission mode, any write operation requires your explicit approval before it proceeds. If you are running in auto mode, the agent can write files without prompting. Review your hermes.permissionMode setting before granting broad file access in sensitive workspaces.