Tools#
Find the full list of Serena’s tools below.
Note that in most configurations, only a subset of these tools will be enabled simultaneously. Tools marked as optional are disabled by default.
Tools marked as [BETA] were recently introduced and may not be fully robust yet.
symbol_tools
find_declaration: Finds the declaration/definition of a symbolfind_implementations: Finds symbols that implement the given symbol using the language server backend.find_referencing_symbols: Finds symbols that reference the given symbol using the language server backendfind_symbol: Performs a global (or local) search using the language server backend.get_diagnostics_for_file: Gets diagnostics for a file, optionally restricted to a line range, grouped by file, severity, and containing symbol.get_diagnostics_for_symbol(optional): Gets diagnostics for a symbol and, optionally, for symbols that reference it.get_symbols_overview: Gets an overview of the top-level symbols defined in a given file.insert_after_symbol: Inserts content after the end of the definition of a given symbol.insert_before_symbol: Inserts content before the beginning of the definition of a given symbol.rename_symbol: Renames a symbol throughout the codebase using language server refactoring capabilities. For JB, we use a separate tool.replace_symbol_body: Replaces the full definition of a symbol using the language server backend.restart_language_server(optional): Restarts the language server(s).safe_delete_symbol:
jetbrains_tools
jet_brains_debug(optional) [BETA]: Provides debugging functionality (run configs, breakpoints, stepping, inspection, and evaluation) via a persistent debug REPL connected to the JetBrains IDE.jet_brains_find_declaration(optional): Finds the declaration of a symbol using the JetBrains backendjet_brains_find_implementations(optional): Finds the implementations of a symbol using the JetBrains backendjet_brains_find_referencing_symbols(optional): Finds symbols that reference the given symbol using the JetBrains backendjet_brains_find_symbol(optional): Performs a global (or local) search for symbols using the JetBrains backendjet_brains_get_symbols_overview(optional): Retrieves an overview of the top-level symbols within a specified file using the JetBrains backendjet_brains_inline_symbol(optional) [BETA]: Inlines a symbol using the JetBrains backend, replacing all call sites with the symbol’s bodyjet_brains_list_inspections(optional): Lists available JetBrains IDE inspections, optionally filtered by language or group.jet_brains_move(optional) [BETA]: Moves a symbol, file or directory to a new location using the JetBrains backend, updating all referencesjet_brains_rename(optional): Renames a symbol, file or directory throughout the codebase using the JetBrains backend.jet_brains_run_inspections(optional): Runs JetBrains IDE inspections on a file and returns the results.jet_brains_safe_delete(optional) [BETA]: Safely deletes a symbol using the JetBrains backend, checking for remaining usages firstjet_brains_type_hierarchy(optional): Retrieves the type hierarchy (supertypes and/or subtypes) of a symbol using the JetBrains backend
cmd_tools
execute_shell_command: Executes a shell command.
config_tools
activate_project: Activates a project based on the project name or path.get_current_config: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes.open_dashboard(optional): Opens the Serena web dashboard in the default web browser. The dashboard provides logs, session information, and tool usage statistics.remove_project(optional): Removes a project from the Serena configuration.
file_tools
create_text_file: Creates/overwrites a file in the project directory.delete_lines(optional): Deletes a range of lines within a file.find_file: Finds files in the given relative pathsinsert_at_line(optional): Inserts content at a given line in a file.list_dir: Lists files and directories in the given directory (optionally with recursion).read_file: Reads a file within the project directory.replace_content: Replaces content in a file (optionally using regular expressions).replace_lines(optional): Replaces a range of lines within a file with new content.search_for_pattern: Performs a search for a pattern in the project.
memory_tools
delete_memory: Delete a memory file.edit_memory: Replaces content matching a regular expression in a memory.list_memories: Lists available memories.read_memory: Reads the content of a memory file.rename_memory: Renames or moves a memory, updating references that are marked with themem:prefix.write_memory: Write some information (utf-8-encoded) about this project that can be useful for future tasks to a memory in md format. The memory name should be meaningful.
query_project_tools
list_queryable_projects(optional): Tool for listing all projects that can be queried by the QueryProjectTool.query_project(optional): Tool for querying external project information (i.e. information from projects other than the current one), by executing a read-only tool.
workflow_tools
initial_instructions: Provides instructions Serena usage (i.e. the ‘Serena Instructions Manual’) for clients that do not read the initial instructions when the MCP server is connected.onboarding: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building).serena_info(optional): Provides information about an advanced topic on demand, facilitating context-efficiency.