Skip to content
GitHubBuy Me A Coffee

Tools reference

Obsilo has 49+ built-in tools organized into six groups. The agent picks the right tool automatically based on your request. You never need to call tools yourself. This page is a lookup reference.

How tools work

When you ask Obsilo to do something, it selects one or more tools, shows you what it plans to do (in the activity block), and asks for approval before any write operation. See Safety & Control for details.

Tool groups at a glance

GroupToolsModifies vaultNeeds approval
Read4NoNo
Vault Intelligence8No (except open_note)No
Edit15YesYes
Web2NoYes (external access)
Agent Control12VariesVaries
Plugin Integration6VariesYes
MCP1+Depends on serverYes

Read tools

Tools for reading, searching, and exploring your vault. These never modify anything.

ToolDescriptionWhen to use
read_fileRead the complete content of a Markdown or plain-text file.Before editing a file, or when you ask to see content.
read_documentParse and extract text from Office and data files (PPTX, XLSX, DOCX, PDF, JSON, XML, CSV).For binary document formats, not for plain-text files.
list_filesList files and folders in a directory, optionally recursive.To discover folder structure or find files by location.
search_filesSearch for text or regex patterns across files, returning matching lines with line numbers.For exact text or pattern matching across your vault.

Vault intelligence tools

Tools that understand your vault's structure, metadata, and connections.

ToolDescriptionWhen to use
get_vault_statsOverview of your vault: note count, folder structure, top tags, recently modified files.When you need a broad picture of your vault.
get_frontmatterRead all YAML frontmatter fields of a note (tags, aliases, dates, status, custom properties).To check or inspect metadata before updating it.
search_by_tagFind all notes with given tags, supporting AND/OR matching and nested tags.To filter notes by tags or categories.
get_linked_notesGet forward links and backlinks for a note.To understand how notes connect in the graph.
get_daily_noteRead (or create) a daily note for today, yesterday, or any offset.To work with your daily notes.
open_noteOpen a note in the Obsidian editor.After creating or editing a note so you can see the result.
semantic_searchFind notes by meaning using AI-powered similarity search.For natural-language questions about vault content ("What do I know about X?").
query_baseQuery an Obsidian Bases database file and return matching records.To retrieve structured data from a .base file.

Semantic search setup

semantic_search requires an embedding model and a built index. Configure both in Settings > Embeddings. See Knowledge Discovery for setup instructions.

Edit tools

Tools that create, modify, or delete files in your vault. Each one triggers an approval prompt (unless auto-approved).

ToolDescriptionWhen to use
write_fileCreate a new file or completely replace an existing file's content.For new files or full rewrites.
edit_fileReplace a specific string in an existing file, preserving surrounding content.For targeted edits. The preferred way to modify files.
append_to_fileAppend content to the end of a file.For daily notes, logs, and additive entries.
update_frontmatterSet, update, or remove frontmatter fields without touching note content.To change metadata (tags, status, dates) cleanly.
create_folderCreate a new folder, including parent folders if needed.Before writing files to a new location.
delete_fileMove a file or empty folder to the system trash (recoverable).When you explicitly ask to delete something.
move_fileMove or rename a file or folder. Obsidian auto-updates wikilinks.To reorganize vault structure.
generate_canvasCreate an Obsidian Canvas (.canvas) visualizing notes and their connections.To visualize note relationships as a spatial map.
create_excalidrawCreate an Excalidraw drawing with labeled boxes and connections.To create diagrams and visual overviews.
create_baseCreate an Obsidian Bases (.base) database view from vault notes.To build structured database views filtered by frontmatter.
update_baseAdd or replace a view in an existing Bases file.To modify database views without recreating the file.
plan_presentationPlan a presentation from source material and a template using an internal AI call.Always before create_pptx when using corporate templates.
create_pptxCreate a PowerPoint presentation (.pptx) from structured slide data.For creating PowerPoint files.
create_docxCreate a Word document (.docx) with headings, sections, bullets, and tables.For creating Word documents.
create_xlsxCreate an Excel spreadsheet (.xlsx) with sheets, headers, data rows, and formulas.For creating Excel files.

Web tools

Tools for accessing the internet. Require Web Tools to be enabled in settings.

ToolDescriptionWhen to use
web_fetchFetch a URL and return its content as Markdown. Supports pagination for long pages.To read a specific web page, documentation, or article.
web_searchSearch the web and return titles, URLs, and snippets.For current or external information not in your vault.

Agent control tools

Internal tools the agent uses to manage its own workflow.

ToolDescriptionWhen to use
ask_followup_questionAsk you a clarifying question with optional answer choices.When your request is genuinely ambiguous.
attempt_completionSignal that a multi-step task is done and log a summary.After completing a tool-based workflow.
update_todo_listPublish a visible task checklist for multi-step work.For tasks with 3 or more distinct steps.
new_taskSpawn a sub-agent with a fresh context for isolated or parallel work.For tasks (5+ steps) that benefit from delegation.
switch_modeSwitch to a different agent mode (e.g., from Ask to Agent).When the current task needs a different set of tools or behavior.
evaluate_expressionExecute TypeScript code in an isolated sandbox with vault access.For batch operations, computations, data transforms, or API calls beyond built-in tools.
manage_skillCreate, update, delete, or list skills (persistent instruction sets).To save a reusable approach for a specific task type.
manage_sourceManage context sources: persistent text blocks injected into every conversation.To always include certain context like project rules.
manage_mcp_serverAdd, remove, or test MCP server connections.To connect external tool servers.
configure_modelAdd, select, or test an LLM model configuration.To set up a new AI model or switch the active one.
update_settingsChange Obsilo plugin settings or apply permission presets.When you ask the agent to adjust its own configuration.
read_agent_logsRead the agent's internal console logs for self-debugging.To diagnose errors or understand what happened.

Plugin integration tools

Tools that interact with other Obsidian plugins installed in your vault.

ToolDescriptionWhen to use
execute_commandRun an Obsidian command by ID (e.g., "daily-notes:open").To trigger any plugin's commands.
call_plugin_apiCall a JavaScript API method on a plugin (Dataview, Omnisearch, etc.).To retrieve structured data from plugins.
enable_pluginEnable or disable an installed community plugin.When a disabled plugin is needed for a task.
resolve_capability_gapSearch for plugins that could help when no built-in tool matches.When the agent cannot fulfill a request with existing tools.
execute_recipeRun a pre-defined recipe for external CLI tools (e.g., Pandoc export).For validated command-line integrations.
render_presentationRender a PPTX file to images for visual quality inspection.After creating a presentation, to verify layout and content.

MCP tools

ToolDescriptionWhen to use
use_mcp_toolCall any tool provided by a connected MCP server.When an external MCP server offers the functionality you need.

Custom modes control tool access

Each mode (Ask, Agent, or your custom modes) can enable or disable specific tool groups. Configure per-mode tools in Settings > Modes. Ask mode only has read tools enabled by default.

Quick-pick guide

Not sure which tool the agent should use? This table maps common tasks to the right tool.

You want to...Best toolWhy not the alternative
Find notes about a topicsemantic_searchsearch_files only matches exact text, not meaning
Find an exact phrasesearch_filessemantic_search finds similar meanings, not exact matches
Check a note's tagsget_frontmatterread_file reads the whole file, unnecessary for metadata
Add a paragraph to a noteedit_filewrite_file replaces the entire file
Add an entry to a logappend_to_fileedit_file requires matching existing text
Create a Word documentcreate_docxwrite_file cannot produce binary .docx format
Create a PowerPointplan_presentation then create_pptxSkipping plan_presentation leaves empty shapes
Read a PDF or PPTXread_documentread_file returns raw binary for non-text formats
Run a Dataview querycall_plugin_apisearch_files cannot execute Dataview logic
Process 50 files at onceevaluate_expressionCalling edit_file 50 times is slow and error-prone
Look something up onlineweb_search then web_fetchVault tools only search local files
Create a visual map of notesgenerate_canvasManual note arrangement is tedious

Notes on tool behavior

  • Read tools run in parallel. When the agent needs to read multiple files, it reads them all at once.
  • Edit tools run sequentially. Write operations are processed one at a time to avoid conflicts.
  • Checkpoints are automatic. Before any edit tool modifies a file, a snapshot is created. You can undo any change.
  • The sandbox is isolated. Code in evaluate_expression runs in a sandboxed environment with limited vault access. It cannot access the file system directly or run shell commands.
  • Office tools create binary files. create_pptx, create_docx, and create_xlsx produce real Office files that open in Microsoft Office, Google Docs, or LibreOffice.
  • Quality gates apply. Some tools (create_pptx, create_docx, create_xlsx, generate_canvas, create_excalidraw) include a self-check step where the agent verifies the output meets quality standards.