Nerve offers a rich set of predefined tools, organized in namespaces, that the agent can import via the using directive. This page contains the list of namespaces available in Nerve, with the descriptive prompt that will be provided to the model.
Note
The jail directive can restrict filesystem and filesystem_w namespaces to specific paths:
jail:
filesystem: ["/allowed/path", "/another/allowed/path"]
filesystem_w: ["/writable/path", "{{ dynamic_path }}"]Variables can be used in jail paths for dynamic configuration.
Let the agent create its own tools in Python.
Show Tools
Create a new tool or redefine an existing one by defining it as an annotated Python function.
Use this tool to implement the missing functionalities you need to perform your task.
Parameters
code(<class 'str'>): The Python code to create the tool.
Important
This namespace is not available by default and requires the computer_use optional feature.
To enable it, run pip install nerve-adk[computer_use].
Computer use primitives for mouse, keyboard, and screen.
Show Tools
Get the current mouse position.
Press one or more hotkeys on the keyboard.
Parameters
keys(<class 'str'>): The hotkey sequence to press (like 'ctrl+shift+cmd+space')
Type the given text on the keyboard.
Parameters
text(<class 'str'>): The text to type
Double click the left mouse button at the current mouse position.
Click the left mouse button at the current mouse position.
Click and drag the left mouse button from the current mouse position to the given coordinates.
Parameters
x(<class 'int'>): The x coordinate to move toy(<class 'int'>): The y coordinate to move to
Click the middle mouse button at the current mouse position.
Move the mouse to the given coordinates.
Parameters
x(<class 'int'>): The x coordinate to move toy(<class 'int'>): The y coordinate to move to
Click the right mouse button at the current mouse position.
Scroll the mouse wheel in the given direction.
Parameters
x(<class 'int'>): The x coordinate to move toy(<class 'int'>): The y coordinate to move to
Take a screenshot of the current screen.
Read-only access primitives to the local filesystem.
The tools in this namespace can be restricted to a specific set of paths by using the jail directive in the agent configuration:
using:
- filesystem
jail:
filesystem:
- "/only/path/to/allow"
- "{{ target_path }}" # variables can be used tooShow Tools
List the contents of a folder on disk.
Parameters
path(<class 'str'>): The path to the folder to list
Read the contents of a file from disk.
Parameters
path(<class 'str'>): The path to the file to read
Write primitives to the local filesystem.
The tools in this namespace can be restricted to a specific set of paths by using the jail directive in the agent configuration:
using:
- filesystem_w
jail:
filesystem_w:
- "/only/path/to/allow"
- "{{ target_path }}" # variables can be used tooShow Tools
Create a file on disk, if the file already exists, it will be overwritten.
Parameters
path(<class 'str'>): The path to the file to createcontent(str | None): The content to write to the file, if not provided, the file will be created empty
Delete a file from disk.
Parameters
path(<class 'str'>): The path to the file to delete
Let the agent interactively ask questions to the user in a structured way.
Show Tools
Ask a confirmation question to the user.
Parameters
question(<class 'str'>): The question to ask the user.default(<class 'bool'>): The default answer to the question.
Ask a multiple choice question to the user.
Parameters
question(<class 'str'>): The question to ask the user.choices(list[str]): The choices to offer the user.
Ask a single choice question to the user.
Parameters
question(<class 'str'>): The question to ask the user.choices(list[str]): The choices to offer the user.
Ask a question to the user.
Parameters
question(<class 'str'>): The question to ask the user.
Simulates the reasoning process at runtime.
Show Tools
If the reasoning process proved wrong, inconsistent or ineffective, clear your thoughts and start again.
Adhere strictly to this reasoning framework, ensuring thoroughness, precision, and logical rigor.
## Problem Decomposition
Break the query into discrete, sequential steps.
Explicitly state assumptions and context.
## Stepwise Analysis
Address each step individually.
Explain the rationale, principles, or rules applied (e.g., mathematical laws, linguistic conventions).
Use examples, analogies, or intermediate calculations to illustrate reasoning.
## Validation & Error Checking
Verify logical consistency at each step.
Flag potential oversights, contradictions, or edge cases.
Confirm numerical accuracy (e.g., recompute calculations).
## Synthesis & Conclusion
Integrate validated steps into a coherent solution.
Summarize key insights and ensure the conclusion directly addresses the original query.
Parameters
thought(<class 'str'>): A thought to think about
Let the agent execute shell commands.
Warning
Using this tool will bypass the filesystem jail mechanism
Tip
The default timeout for shell commands is 60 seconds. You can override this value by setting the NERVE_SHELL_TIMEOUT environment variable.
Show Tools
Execute a shell command on the local computer and return the output. Non interactive shell with a timeout of 60 seconds.
Parameters
command(<class 'str'>): The shell command to execute
Let the agent autonomously set the task as complete or failed.
Show Tools
When your objective has been reached use this tool to set the task as complete.
Parameters
reason(str | None): Optional reason why the task is complete or report of conclusive information.
Use this tool if you determine that the given goal or task is impossible given the information you have.
Parameters
reason(<class 'str'>): The reason why the task is impossible
Provides tools for getting the current date and time and waiting for a given number of seconds.