Neova’s MCP server offers 101 tools in 16 groups. This page lists them in the same groups and order as Available Tools in Settings › Server. There you can also search the list.
Parameters marked with * are required. A connection that uses an access key with a limited preset sees only the tools that preset allows.
The tools that read a document return at most 20,000 characters per call: get_task, get_wiki, get_notebook, get_snippet, get_project_info, get_section_from_task and get_section_from_wiki.
| Parameter |
What it does |
maxChars |
Characters per page. Default 20,000, maximum 30,000. |
page |
The page to return. Default 1. |
view: 'outline' |
Returns only the headings, each with a ref number and its size. |
depth |
How many heading levels the outline shows, 1 to 6. Default 2. |
A longer document comes back as page 1, with pages and hasMore set and an outline of its headings. The agent then reads the next page, or reads one section with get_section_from_task or get_section_from_wiki. A section is addressed by its heading or by its ref from the outline. Pages break at a heading where possible, then at a line.
get_snippet pages the same way but has no outline.
| Tool |
What it does |
Main parameters |
list_tasks |
Lists tasks, with optional filters. |
stage, status (pending, completed), tags, type, assignee, pickedUpBy, limit (default 100) |
get_task |
Returns one task’s description, by ID or by part of its title. view: 'history' returns the change log instead. Falls back to the archive. |
id or title, view (outline, history), page, maxChars, depth, limit (history entries, default 20) |
create_task |
Creates a task. The type must already be in use in the project. |
title*, description, tags, type, stage (default: the default stage) |
update_task |
Changes the fields you pass. Each field replaces the old value. |
id*, title, description, tags, type, stage, status |
complete_task |
Marks a task as completed. |
id* |
move_to_stage |
Moves a task to another stage. |
id, stage |
link_task |
Links two tasks. Built-in types: blocks, blocked-by, related, parent, child, duplicate. Any other text also works. |
taskId, targetTaskId, type* |
unlink_task |
Removes a link between two tasks. |
taskId, targetTaskId |
assign_task |
Assigns a task to an agent or to you ("user"). An assigned agent gets a message about it. |
taskId, assignee |
unassign_task |
Removes an agent or "user" from a task’s assignees. |
taskId, assignee |
pick_up_task |
Marks an agent as working on a task now. Several agents can pick up one task. |
taskId, agent |
release_task |
Removes an agent from the agents working on a task. |
taskId, agent |
add_to_task |
Appends text to a task description, optionally under a heading. |
id, content, section |
get_section_from_task |
Reads one section of a task description. Returns a contentHash for replace_section_in_task. |
id*, heading or ref, page, maxChars |
replace_in_task |
Replaces one exact piece of text in a task description. Fails if the text is missing or appears more than once. |
id, find, replace*, section, expectedHash |
replace_section_in_task |
Replaces the body of one section and keeps its heading. Fails if the section changed since it was read. |
id, heading, content, expectedHash |
| Tool |
What it does |
Main parameters |
get_project_info |
Returns the project details, the folder structure, project.md, the wiki pages and the stages with their skills. |
view (outline), page, maxChars, depth |
get_tags |
Returns the tags and their colours. |
None |
| Tool |
What it does |
Main parameters |
list_stages |
Lists the stages with the names of their skills. |
None |
get_stage |
Returns one stage. |
stage* |
list_skills |
Lists the skills of the project stages and the global skills. |
None |
get_skill |
Returns one skill in full, by ID or by part of its name. |
id or name |
| Tool |
What it does |
Main parameters |
list_snippets |
Lists snippets. |
tag, limit (default 100) |
get_snippet |
Returns a snippet’s content, by ID or title. |
id*, page, maxChars |
create_snippet |
Creates a snippet. A replacementKey of my-key makes {my-key} work in prompts. |
title, content, language (default text), tags, replacementKey |
update_snippet |
Changes the fields you pass. Each field replaces the old value. |
id*, title, content, language, tags, replacementKey |
delete_snippet |
Deletes a snippet. |
id* |
| Tool |
What it does |
Main parameters |
list_links |
Returns the project’s saved links (title, URL, group, description) in the order of Project › Overview. |
None |
| Tool |
What it does |
Main parameters |
list_wiki |
Lists wiki pages. |
category, limit (default 100) |
list_wiki_categories |
Lists the categories with their descriptions and page counts. |
None |
search_wiki |
Searches the wiki and returns the best matches. |
query*, category, limit (default 6) |
get_wiki |
Returns a wiki page by ID or name. An approximate name works; when it matches several pages, the tool returns the candidates. |
page* (page ID or name), category, view (outline), maxChars, depth |
get_section_from_wiki |
Reads one section of a wiki page. Returns a contentHash for replace_section_in_wiki. |
id*, heading or ref, category, page, maxChars |
create_wiki |
Creates a wiki page. The category defaults to standards. |
id* (kebab-case), content, description, category |
update_wiki |
Replaces a wiki page’s content. |
id, content, description, category |
delete_wiki |
Deletes a wiki page. |
id*, category |
append_to_wiki |
Appends text to the end of a page. Creates the page if it does not exist. |
page, content, category |
replace_in_wiki |
Replaces one exact piece of text in a page. Fails if the text is missing or appears more than once. |
id, find, replace*, section, expectedHash, category |
replace_section_in_wiki |
Replaces the body of one section and keeps its heading. Fails if the section changed since it was read. |
id, heading, content, expectedHash, category |
| Tool |
What it does |
Main parameters |
create_goal |
Creates a goal. |
title*, description |
get_goal |
Returns a goal with its linked tasks and progress. |
id* |
list_goals |
Lists goals. |
status (active, in-progress, achieved, archived) |
update_goal |
Changes a goal’s title, description or status. |
id*, title, description, status |
delete_goal |
Deletes a goal. Its linked tasks stay. |
id* |
link_task_to_goal |
Links a task to a goal. |
goalId, taskId |
unlink_task_from_goal |
Removes a task from a goal. |
goalId, taskId |
get_goal_progress |
Returns the total, the completed count and the percentage. Each task counts for an equal share; an open task earns part of its share by its column on the board. |
goalId* |
enter_goal |
Switches the agent to the goal’s own folder and branch, and returns the folder path. null switches back to the main folder. Neova shows where the agent works. |
goalId* (ID or null) |
request_merge |
Merges a goal’s branch into main, as a fast-forward in your main folder. Answers behind when the goal branch needs main merged in first, and overlap when you have uncommitted edits in the same files. |
goalId* |
| Tool |
What it does |
Main parameters |
search |
Searches titles and descriptions of tasks, goals, wiki pages, snippets and skills. Every word must appear. Returns short hits; the agent opens one with the matching get_ tool. scope: 'archive' searches archived tasks instead. |
query*, scope (tasks, goals, wiki, snippets, skills, archive), limit (per type, default 25) |
| Tool |
What it does |
Main parameters |
chat_send |
Posts a message to the group chat. All agents and you see it. |
content*, taskRefs, replyTo |
chat_history |
Returns recent chat messages, newest first. |
limit (default 50, maximum 200), before |
chat_react |
Adds a reaction to a chat message. Sending the same reaction again removes it. |
messageId*, emoji (✓, 👍, 👎, 😄; default ✓) |
assistant_reply |
Replies to you as the Assistant. The reply shows in the Assistant, and goes back over Telegram when your message came from there. Other agents do not see it. |
content* |
assistant_typing |
Shows a typing indicator in the Assistant until the reply arrives. |
None |
| Tool |
What it does |
Main parameters |
register_agent |
Sets the agent’s name. Returns success: false when the name is taken. See Connect a coding agent. |
preferredName |
notify_user |
Posts a notification to Agents › Activity. Depending on your connector settings, it also goes to Telegram. Can carry up to 4 buttons and 4 images. |
message*, level (info, success, warning), taskId, actions, images |
ask_user |
Asks you a question in Agents › Activity. Returns a questionId right away; the agent checks for your answer with get_response. |
question*, options, allowFreeform (default true), allowMultiple (default false), taskId, priority (normal, high) |
get_response |
Returns your answer to one question, or null when you have not answered yet. |
questionId* |
get_responses |
Returns all answered questions for this agent. |
None |
get_agent_instructions |
Returns an agent’s instructions. Without parameters, returns the calling agent’s own. |
agentId, agentName |
celebrate |
Shows confetti on Agents › Team, starting from the agent’s tile. |
message |
send_external_message |
Sends you a short plain-text message through every paired Telegram connector. |
connector* (telegram), message* |
| Tool |
What it does |
Main parameters |
get_whiteboard |
Returns the whiteboard as an Excalidraw scene in JSON. |
None |
update_whiteboard |
Replaces the whiteboard with a full Excalidraw scene. The whiteboard reloads on screen. |
snapshot* |
clear_whiteboard |
Clears the whiteboard. |
None |
| Tool |
What it does |
Main parameters |
get_notebook |
Returns the calling agent’s notebook, or null when it is empty. |
view (outline), page, maxChars, depth |
write_notebook |
Replaces the notebook. |
content* |
append_to_notebook |
Appends text to the notebook, optionally under a heading. |
content*, section |
| Tool |
What it does |
Main parameters |
get_backlog |
Returns the agent’s backlog, highest priority first. Messages that arrive while the agent is busy land here. |
None |
add_backlog_item |
Adds an item, at the end or at a position (0 is the top). |
text*, position |
update_backlog_item |
Changes an item’s text. |
id, text |
remove_backlog_item |
Removes an item. |
id* |
reorder_backlog |
Sets the order of the backlog. The first ID is the highest priority. |
itemIds* |
| Tool |
What it does |
Main parameters |
terminal_list |
Lists the open terminals with agent names and status. |
None |
list_active_agents |
Lists the agents connected to the MCP server, with status and current task. |
None |
terminal_send |
Types text into another agent’s terminal, as if you typed it. |
agentName, text |
restart_agent |
Clears an agent’s context with /clear and sends its instructions again. Without agent, restarts the calling agent. |
agent |
start_agent |
Starts an offline agent: opens its terminal, runs its start command and sends its instructions. additional: true starts another run next to one that is already running. |
agent*, goal, additional |
These tools work on the sessions in Tools › Browser. session is optional when the agent owns one session.
| Tool |
What it does |
Main parameters |
browser_list_sessions |
Lists the agent’s browser sessions: ID, name, address, title and who is in control. |
None |
browser_open_session |
Opens a new session with its own cookies and login. keepLogin keeps the login after Neova closes. |
name*, url, keepLogin (default false) |
browser_close_session |
Closes a session. A session that kept its login is signed out. |
session |
browser_navigate |
Opens an address (http or https). |
url*, session |
browser_navigate_back |
Goes back one page. |
session |
browser_snapshot |
Returns the page as a tree of elements. Each element the agent can act on has a ref. |
session |
browser_click |
Clicks an element by its ref, or at x,y on the page. |
ref, element, x, y, doubleClick, session |
browser_type |
Replaces the text of a field. submit presses Enter afterwards. |
ref, text, submit, session |
browser_press_key |
Presses one key: a character, or Enter, Tab, Escape, Backspace, Delete, the arrow keys, Home, End, PageUp, PageDown or Space. |
key*, session |
browser_scroll |
Scrolls the page or an element. Positive values scroll down. Default 600 pixels. |
ref, deltaY, session |
browser_wait_for |
Waits until text appears or disappears, or for a number of seconds. At most 30 seconds. |
text, textGone, time, session |
browser_evaluate |
Runs a JavaScript function in the page and returns its result as JSON. |
function*, session |
browser_console_messages |
Returns the page console, newest last, at most 200. |
level, limit (default 50), session |
browser_network_requests |
Returns the requests the page made, newest last, at most 200. Credential headers are always hidden. |
limit (default 50), includeHeaders, failedOnly, session |
browser_get_cookies |
Returns the cookies the session sends to the page. |
url, session |
browser_set_cookie |
Sets a cookie for the page. It takes effect on the next request. |
name, value, url, session |
browser_delete_cookie |
Deletes a cookie. |
name*, url, session |
browser_set_headers |
Sets the headers the session adds to every request. Kept in memory only. [] clears them. |
headers* (at most 30), session |
browser_take_screenshot |
Saves a PNG of the page to the project’s images folder and returns its path. |
session |
| Tool |
What it does |
Main parameters |
schedule_action |
Schedules a one-time action for the calling agent. When it fires, the text runs in the agent’s own terminal. It does not run if the agent has been stopped. |
action*, in (for example 20m, 2h) or at (local time, for example 2026-09-10T14:00) |
cancel_schedule |
Cancels one of the agent’s own scheduled actions. |
id* |
list_schedules |
Lists the agent’s pending scheduled actions, plus the ones you set for it on Agents › Schedules. |
None |