Live. All 26 tools are live in the MCP server preview. This page records each tool’s arguments as built. Where the build departs from the proposal, the tool’s section says so.
Summary
Asking and waiting
ask_wordsmith
ask_wordsmith
Live. Ask a Wordsmith agent a question, optionally with files. Agents can research the law in depth while answering, so this is also how an assistant commissions a research memo. Waits up to
wait_seconds for the answer.Returns
status (completed, in_progress or filtered), answer when complete, session_id, session_url, operation_id while running, and the produced files in attachments, each with a file_id. filtered means the agent declined the question.get_operation
get_operation
Live. Wait for, or check on, any long-running work: an answer, a review or redline, a document action, a draft, a report run or export, or repository indexing.
Returns the operation. On success it also includes what the assistant needs next, such as the review’s finding counts or the output
file_id.cancel_operation
cancel_operation
Live. Stop long-running work. Best-effort: completed units, such as computed cells, are kept.
Reviews, redlines, document actions, drafts and report runs can be stopped. A question, a report export and repository indexing run to the end once started, so cancelling one returns a tool error. Stopping a review needs edit access to it.
Finding things
find_resources
find_resources
Live. List tasks with
find_tasks.List or find Wordsmith objects by kind. Replaces list_agents, list_playbooks and list_blueprints. Returns kind, items (summaries) and cursor, which is null on the last page.A
team summary leaves out member_ids; get_resource returns them. Needs the read scope of kind, for example playbooks:read for playbook.get_resource
get_resource
Live. Read one object in detail. What
include adds depends on kind.sharing returns what Get Sharing returns, or Get Task Sharing for a task. As built, the six shareable kinds take sharing; the proposal gave it to every kind. A review is shared through its session.Arguments: kind and id (both required), include, and cursor and limit (default 50, maximum 200) for the paged include. A repository’s documents and folders come at most 100 a page. A task’s includes return whole lists. Replaces get_task, list_subtasks, list_task_comments, list_task_thread and get_task_sharing.search_knowledge
search_knowledge
Live. Search the organisation’s repositories by meaning and return the best-matching passages.
Returns
items, passages with their file_id, file_name, repository_id, document_id, snippet and score, and searched_repository_ids. file_id is null for a document synced from a connector or an older one with no file; read_file cannot open it, so work from the passage. As built, there is no include_files: files outside a repository are not indexed. Passages carry no page number.legal_research
legal_research
Live. Search case law and legislation, or read one document. Read-only.
Returns
items and sources for search, and document for read. Each source reports its status: ok, partial, timeout, error or unavailable, so a slow source never fails the search. partial means part of the source’s search failed, so some of its matches may be missing. A EUR-Lex read whose title lookup does not answer in time returns the title EUR-Lex <CELEX> and a null date, with the full text. sec_edgar results cannot be read. For a research memo, use ask_wordsmith: there is no research-report tool.Reviewing and working on documents
Every tool in this section is live.review_document
review_document
Review contracts against a playbook or a set of instructions.
Reviews usually take minutes, so expect an
operation_id and finish with get_operation. On success the result holds review_id, the finding counts and redline_file_id. The review works on copies of the files, so its file_ids differ from the ones you passed. As built, the review always writes its own redline, so there is no generate_redline argument, and there is no counterparty_edits type.get_review
get_review
Read a review’s status, finding counts and redline file, with a page of findings.
Returns
review (status, finding counts and redline_file_id), findings_page (a page of findings, each with its explanation, cited text and proposed amendments, and a cursor), and a next_step hint.update_review
update_review
Act on a finished review.
Returns the operation; on success its result holds the new
file_id. As built, submit_decisions is not available: answering the other side’s markup stays proposed.transform_document
transform_document
Produce a new document from one or more files. The inputs are not changed.
All take
wait_seconds (default 15, maximum 20). An argument of another action is refused. Returns the operation: on success result.file_ids holds the new files; while running, an operation_id to pass to get_operation. As built, translate has no source_language (it is always detected), accept_changes has no remove_comments, and a merge is always a PDF, so it has no output_format.draft_document
draft_document
Draft a new document. Without
blueprint_id it drafts from scratch. With one, it fills the blueprint: from values alone when they cover every required placeholder, otherwise drafting the missing values from your context.Needs
files:read as well as files:write, because the tool reads back the file it drafts. Returns the operation. On success result holds the file_id, the values used for a blueprint so the user can check them, and url, which opens the chat session that holds the draft.Repositories, reports, sharing and usage
Every tool in this section is live.manage_repository
manage_repository
create and update return {action, repository}; create_folder returns {action, folder}. add_files returns {action, operation}, a repository_indexing operation. Each file moves into the repository, and remove_document deletes the document and its file. An argument another action takes is refused. Deleting a whole repository is REST only. As built, the tool also renames repositories and removes documents, which the proposal kept REST only, so it is marked destructive.manage_report
manage_report
Build and run a report: one row per document, one column per question.
An argument another action takes is refused.
run and export return an operation; create with run returns the report and the run’s operation without waiting for the run: poll get_operation. run fills only cells that are not done, and takes no only_empty: recomputing done cells is REST only (Run Report with only_empty: false). Changing or deleting a column, and deleting rows or reports, are REST only too, so the tool never overwrites or deletes. file_ids need files:read, and repository_id needs repositories:read. Read the results with get_resource(kind="report", include=["cells"]), and which document each row is with include=["rows"].get_usage
get_usage
Usage and value figures: sessions, active users, hours saved and cost saved.
manage_organisation
manage_organisation
Administer the organisation, one change per call. Needs
directory:admin, which an app gets only when it asks for it. The tool is listed only on a connection with that scope; without it, reconnect Wordsmith and grant admin access. The user’s own admin rights still apply, as in Wordsmith’s settings. Each action calls the same code as its REST route.Find ids with
find_resources: kind member, team, role or company_profile. An argument of another action is refused. Team actions answer not found while teams are off for the organisation. Deleting a team has no action: it stays REST-only. Marked destructive, because it can suspend members, change roles, remove team members and revoke invites.As built: the proposal kept organisation administration REST-only. It became a tool so an administrator’s assistant can do it, behind a scope that is never granted by default.Tasks
All five task tools are live. They replaced fourteen earlier tools. Reading one task in detail isget_resource(kind="task").
find_tasks
find_tasks
Arguments as List Tasks:
query, status, priority, assigned_to, involving, team_id, tags, complete_by_from, complete_by_to, cursor, limit.create_task
create_task
Arguments as Create Task. Unchanged.
update_task
update_task
Arguments as Update Task, plus:
Send only the fields to change;
null clears a field. A null or empty attach_file_ids, attach_attachments, add_links or comment_edits counts as not sent. Returns the task, plus edited_comments: the comments comment_edits changed, as they now read. Marked destructive, because it can clear or replace fields, and not idempotent, because a retry attaches files again.add_task_comment
add_task_comment
task_id, content, file_ids, attachments, reply_to_comment_id (a comment id, to reply in its thread). Unchanged.Files
All four file tools are live.add_file
add_file
Add a file from one source. Replaces
import_file and create_file_from_text.create_file_upload and complete_file_upload
create_file_upload and complete_file_upload
For hosts that can run commands.
create_file_upload returns a URL to PUT the bytes to, then complete_file_upload(upload_id) returns the file_id. Unchanged.read_file
read_file
Read a file. Replaces
get_file, read_file_text and get_file_download_url.