# MCP tools

> Every tool the RootSmith MCP server offers, grouped by task, with the role each one needs.

Source: https://docs.rootsmith.io/docs/agents/tools.md

A connected agent sees only the tools its person's role allows. Tools
marked **Admin** need the Owner or Admin role. Each tool's full input and
output schema comes from the server when the agent connects.

## Start here

| Tool            | What it does                                                                                     | Access |
| --------------- | ------------------------------------------------------------------------------------------------ | ------ |
| `get_workspace` | The team, your role and permissions, the sites, and unread notifications. Call it first.         | All    |
| `get_overview`  | What needs attention: drafts in review, failed publications, incomplete checks, and what's next. | All    |
| `get_usage`     | The plan, credits used and reserved, question and site limits, and the renewal date.             | All    |

## Sites and brand

| Tool                       | What it does                                                                             | Access |
| -------------------------- | ---------------------------------------------------------------------------------------- | ------ |
| `get_site`                 | Brand profile, competitors, page types, integrations, publishing settings, and ideas.    | All    |
| `get_site_analysis`        | Analysis progress, issues, suggested brand profile values with evidence, and the report. | All    |
| `create_site`              | Adds a website and starts analysis.                                                      | Admin  |
| `update_site`              | Renames a site or changes its primary domain.                                            | Admin  |
| `delete_site`              | Permanently deletes a site and all its data. Needs the domain to confirm.                | Admin  |
| `start_site_analysis`      | Reads the website again for new suggestions.                                             | Admin  |
| `review_brand_suggestion`  | Accepts or dismisses one suggested brand profile value.                                  | All    |
| `update_brand_profile`     | Changes brand profile values.                                                            | All    |
| `update_topic_preferences` | Replaces the topic preferences that guide ideas.                                         | All    |
| `save_competitor`          | Adds or updates a competitor.                                                            | All    |
| `remove_competitor`        | Removes a competitor.                                                                    | All    |
| `suggest_page_type_setup`  | Drafts writing and research guidance for a new page type.                                | All    |
| `save_page_type`           | Creates or updates a page type.                                                          | All    |

## Publishing

| Tool                           | What it does                                                                      | Access |
| ------------------------------ | --------------------------------------------------------------------------------- | ------ |
| `get_sdk_setup`                | The package, environment variables, files, and endpoint for the Next.js SDK.      | All    |
| `update_publishing_settings`   | Sets approval mode, default schedule, delivery endpoint, and the fallback method. | Admin  |
| `verify_publishing_connection` | Checks that the site's SDK endpoint answers a signed request.                     | Admin  |
| `publish_content`              | Publishes an approved page now, schedules it, or retries a failed publication.    | All    |
| `export_content`               | Returns the MDX file for a page published by MDX export.                          | All    |
| `merge_pages`                  | Rewrites one live page to replace up to five others.                              | All    |
| `retire_merged_pages`          | Retires the pages a published merge replaced.                                     | All    |

## Content and ideas

| Tool                    | What it does                                                                           | Access |
| ----------------------- | -------------------------------------------------------------------------------------- | ------ |
| `list_content`          | Lists ideas, work in progress, or published pages, 25 per page.                        | All    |
| `get_content`           | One idea, draft, or page with its Markdown, brief, checks, sources, and publication.   | All    |
| `create_content`        | Creates a manual draft.                                                                | All    |
| `save_content`          | Saves a new version of a draft's title, path, description, and Markdown.               | All    |
| `change_content_status` | Sends to review, approves, returns to draft, cancels a schedule, restores, or rejects. | All    |
| `work_on_content`       | Approves, writes, revises, checks, researches, or refreshes an idea or page.           | All    |
| `update_idea_brief`     | Edits an idea's title and brief before writing starts.                                 | All    |
| `find_more_ideas`       | Starts finding new ideas for a site.                                                   | All    |
| `set_target_questions`  | Sets the tracked questions a page answers.                                             | All    |
| `set_content_insight`   | Saves the team's first-hand experience, views, and data for a page.                    | All    |

## Automations

| Tool                   | What it does                                                  | Access |
| ---------------------- | ------------------------------------------------------------- | ------ |
| `list_automations`     | Automations with their schedule, status, and recent runs.     | All    |
| `save_automation`      | Creates or updates an automation for one page type.           | Admin  |
| `set_automation_state` | Pauses or resumes an automation.                              | Admin  |
| `retry_automation_run` | Retries the failed drafts or refreshes of one automation run. | Admin  |

## Questions and performance

| Tool                        | What it does                                                                   | Access |
| --------------------------- | ------------------------------------------------------------------------------ | ------ |
| `list_questions`            | Tracked and suggested questions with the latest AI engine results.             | All    |
| `add_question`              | Tracks a buyer question across AI engines.                                     | All    |
| `update_question`           | Rewords a question or changes its status.                                      | All    |
| `suggest_questions`         | Adds about five suggested questions for a site.                                | All    |
| `track_suggested_questions` | Tracks waiting suggestions until the team's question limit.                    | All    |
| `get_ai_visibility`         | Whether each AI engine cites or mentions you or a competitor, per question.    | All    |
| `get_visibility_answers`    | The saved AI answers and citations for one question and engine.                | All    |
| `retry_visibility_check`    | Asks the AI engines again for answers missing from an incomplete check.        | All    |
| `get_performance`           | AI visibility and citation rates over time.                                    | All    |
| `get_outcomes`              | AI citations and Google clicks for published pages at 14, 30, 60, and 90 days. | All    |
| `get_search_performance`    | Google Search Console clicks, impressions, and position for a site.            | All    |
| `get_page_search`           | Google data and top queries for one published page.                            | All    |
| `disconnect_search_console` | Disconnects Google Search Console from a site.                                 | Admin  |

## Team and notifications

| Tool                           | What it does                                       | Access |
| ------------------------------ | -------------------------------------------------- | ------ |
| `list_members`                 | Team members and pending invitations.              | All    |
| `invite_member`                | Emails an invitation to join the team.             | Admin  |
| `list_notifications`           | Your latest 50 notifications and the unread count. | All    |
| `mark_notifications_read`      | Marks one, some, or all notifications as read.     | All    |
| `get_notification_settings`    | Which notifications you also get by email.         | All    |
| `update_notification_settings` | Sets which notifications you also get by email.    | All    |
