> ## Documentation Index
> Fetch the complete documentation index at: https://docs.attensira.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP changelog

> Dated changes to what the Attensira MCP server lists: tools that joined, tools that left the list, and what to call instead.

Changes to the tool list, newest first. A tool that leaves the list keeps answering when it is called by name, so a script, a saved prompt or an automation that calls it keeps working. Its answer is unchanged, followed by one line naming the tool to call instead. Your assistant only sees what is listed, so it moves to the new tool on its own.

## 2026-11-01: search, automate, share and subscribe

**Joined the list:** [`search`](https://docs.attensira.com/mcp/tools#search) (it keeps its name), [`automate`](https://docs.attensira.com/mcp/tools#automate), [`share`](https://docs.attensira.com/mcp/tools#share) and [`subscribe`](https://docs.attensira.com/mcp/tools#subscribe). Their REST twins answer in the verb shape only: `GET /v1/search`, `/v1/automations` (a run is `POST /v1/automations/{id}/runs`), `POST /v1/shares` and `POST /v1/webhooks`.

`search` takes `q`, `types`, `limit` and `cursor`, and answers `{hits: [{uri, type, title, snippet}], next_cursor}`; `get` a hit's `uri` for the whole object. A call that still sends `query` is read as `q`. `offset` is gone: page with `next_cursor`.

**Left the list, and still answer by name:**

| Older tool | Call instead |
| - | - |
| `list_automations`, `get_automation`, `create_automation`, `update_automation`, `run_automation`, `delete_automation` | `automate` with `op` `list`, `get`, `create`, `update`, `run` or `delete` |
| `share_report` | `share` with the report's `uri` |

The six automation names now answer `automate`'s shape, `{automation, automations, status}`, and send its `{spec}` body; their arguments are read as before, except `tools`, which no automation takes any more. `run_automation` reaches `POST /v1/automations/{id}/runs`.

**`act` gained two actions.** `lower_autonomy` drops one lane (`payload: {lane, steps}`, no `ref`), applied at once with only `steer`; naming a level is refused, since raising is a person's. `erase` deletes what the workspace holds on `payload.email` and keeps only its hash on the suppression list (`attensira://{workspace}/contact_suppression`, needs `configure`). **`configure` gained** `kind: "brand_book"` (never-say, voice and facts) and `kind: "lane_budget"` (the outreach lane's paid-placement budget, always a proposal). Lowering autonomy is `act`'s alone: `configure` refuses `kind: "autonomy"` and names `lower_autonomy`.

## 2026-10-31: the Today card in ChatGPT

No tool joined or left the list, and no answer changed. [`brief`](https://docs.attensira.com/mcp/tools#brief) now names a card in its `_meta` (`openai/outputTemplate`: `ui://widget/today.html`), so ChatGPT shows the brief as the [Today card](https://docs.attensira.com/integrations/chatgpt-app.md), with Approve and Decline on each waiting change. [`act`](https://docs.attensira.com/mcp/tools#act) is marked `openai/widgetAccessible` so the card can call it. Clients that do not show cards get the same text and `structuredContent` as before.

## 2026-10-27: more on act, list and configure

No tool joined or left the list. [`act`](https://docs.attensira.com/mcp/tools#act) takes `resume` and `unmerge` on a question (`t_…`), and `approve` or `decline` on a Today decision (`attensira://{workspace}/today_ask/{thread}_{ask}`), which had no MCP twin. [`list`](https://docs.attensira.com/mcp/tools#list) takes `type: "goal_metric"`, the goal metric catalog. [`configure`](https://docs.attensira.com/mcp/tools#configure) takes `kind: "notifications"`, a proposal a person finishes; choosing a new workspace's destination is `kind: "destination"`.

## 2026-10-27: the work on other sites

No tool joined or left the list. [`get`](https://docs.attensira.com/mcp/tools#get), [`list`](https://docs.attensira.com/mcp/tools#list) and [`act`](https://docs.attensira.com/mcp/tools#act) now reach the work agents do on other sites:

| To | Call |
| - | - |
| Read browser runs, directory listings, consents, outreach threads, the suppression list, entity sync and community insights | `list` with type `browser_run`, `listing`, `consent`, `outreach_thread`, `contact_suppression`, `entity_sync` or `community_insight`, or `get` on one |
| Stop an agent walk run | `act` with `stop` on `attensira://{workspace}/browser_run/{id}` |
| Withdraw a consent | `act` with `revoke` on the consent |
| Pause or stop an outreach thread, or drop the reply waiting on it | `act` with `pause`, `stop` or `decline_reply` on the thread |
| Say a copy kit or outreach draft was sent | `act` with `mark_sent` on the change (not the key whose run filed it) |
| Never write to an address again | `act` with `suppress` and `payload.email` on `attensira://{workspace}/contact_suppression` (needs `configure`) |
| Plan an entity sync target again | `act` with `retry` on the target |

Granting consent, connecting a credential and sending a reply are not `act` actions: a person does them in the app, and over REST every key and connection gets `403` `forbidden`. Pausing every browser run and resuming a run or a thread stay in the app.

## 2026-10-25: the write verbs

**Joined the list:** [`act`](https://docs.attensira.com/mcp/tools#act), [`mission`](https://docs.attensira.com/mcp/tools#mission), [`configure`](https://docs.attensira.com/mcp/tools#configure), [`playbook`](https://docs.attensira.com/mcp/tools#playbook) and [`estimate`](https://docs.attensira.com/mcp/tools#estimate). [`ask`](https://docs.attensira.com/mcp/tools#ask) keeps its name and takes the new shape (`message`, `thread`), which starts or continues a thread; the older `question`/`session` shape still answers, followed by a line naming the new one. Their REST twins are `POST /v1/actions`, `POST /v1/missions`, `POST /v1/config/{kind}`, `POST /v1/playbooks/{name}/runs`, `POST /v1/estimate` and `POST /v1/threads`.

**Left the list, and still answer by name:**

| Older tool | Call instead |
| - | - |
| `approve_work_item`, `decline_work_item`, `put_live`, `mark_work_item_shipped` | `act` on the change (`w_…`) with `approve`, `decline`, or `ship` (with `url`) |
| `answer_inbox_question` | `act` on the question (`t_…`) with `answer` and `text` or `option`. An answer with a file still needs `answer_inbox_question` by name |
| `approve_ask`, `decline_ask` | `act` on the ask (`a_…`) with `approve` or `decline` |
| `cancel_session`, `delete_session` | `act` on the thread with `stop` (and `delete: true` to remove it) |
| `add_context` | `ask` with `thread` |
| `propose_project`, `steer_project` | `mission`, without or with `mission` |
| `add_prompts`, `remove_prompt` | `configure` with `kind: "prompts"`, `op` `add` or `remove` |
| `add_competitor`, `remove_competitor` | `configure` with `kind: "competitors"` |
| `create_topic`, `rename_topic`, `merge_topics`, `move_prompts_to_topic` | `configure` with `kind: "topics"`, `op` `create`, `rename`, `merge` or `move` |
| `propose_markets`, `propose_brand_properties`, `propose_company_profile_edit` | `configure` with `kind` `markets`, `brand_properties` or `company_profile` and `op: "update"` |
| `record_observation` | `configure` with `kind: "brand_facts"`, `op: "add"` |
| `write_skill`, `update_skill`, `delete_skill` | `configure` with `kind: "skills"`, `op` `create`, `update` or `remove` |
| `connect_github` | `configure` with `kind: "connections"`, `op: "connect"` |
| `start_workspace`, `confirm_setup` | `configure` with `kind: "workspace"`, `op` `start` or `confirm` |
| `update_settings` | `configure` with `kind: "settings"`, `op: "update"` |

`resolve_inbox_task`, `set_goal` and `propose_plan_change` stay listed: the verbs do not reach what they do yet.

## 2026-10-19: the read verbs

**Joined the list:** [`brief`](https://docs.attensira.com/mcp/tools#brief), [`get`](https://docs.attensira.com/mcp/tools#get), [`list`](https://docs.attensira.com/mcp/tools#list) and [`analyze`](https://docs.attensira.com/mcp/tools#analyze). Each one does the work of a family of older reads, so the list is shorter and each tool does more. Their REST twins are `GET /v1/brief`, `GET /v1/objects/{type}/{id}`, `GET /v1/objects/{type}` and `GET /v1/views/{view}`.

**Left the list, and still answer by name:**

| Older tool | Call instead |
| - | - |
| `get_brief`, `get_loop_health` | `brief`. The loop's day-by-day counts are only on `get_loop_health`, which still answers |
| `get_prompt` | `get` with `attensira://{workspace}/question/{id}` |
| `get_page` | `get` with `attensira://{workspace}/page/{id}` (the id is the uri a `list` of `page` returns) |
| `get_inbox_item` | `get` with `attensira://{workspace}/ask/{ref}` |
| `get_session` | `get` with `attensira://{workspace}/thread/{id}` |
| `get_report` | `get` with `attensira://{workspace}/report/latest` |
| `get_account`, `get_costs`, `get_plan`, `get_company_profile`, `get_brand_family`, `get_ai_traffic_install` | `get` with `attensira://{workspace}/account` (or `costs`, `plan`, `company_profile`, `brand_family`, `ai_traffic_install`) |
| `get_goals`, `get_markets` | `list` with `type: "goal"` or `type: "market"` |
| `list_inbox`, `list_sessions`, `list_projects`, `list_deliverables`, `list_skills`, `list_connectors`, `list_topics`, `list_wins` | `list` with `type` `ask`, `thread`, `mission`, `deliverable`, `skill`, `connector`, `topic` or `win` |
| `get_analytics`, `query_evidence`, `get_prompt_state_grid` | `analyze` with `view` `analytics`, `evidence` or `state_grid` |
| `answer_history`, `answer_slice`, `citation_timeline`, `page_history` | `analyze` with the view of the same name |
| `deciding_sources`, `win_plan`, `preview_markets` | `analyze` with `view` `deciding_sources`, `win_plan` or `markets_preview` |

The other tools are unchanged. `search` and `ask` keep their names and shapes; the verbs of the same name are not listed yet. The verbs that act joined the list on 2026-10-25, above; `automate`, `share`, `subscribe` and `plan_fixes` join when the routes behind them are served in their shape.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.