propose_prompt
Proposes a change
This page as markdown, for an agentPropose adding a prompt to the sampled set for this asset. QUEUES A REQUEST FOR HUMAN APPROVAL. Prompts cost money to run on every sweep, which is part of why a person decides.
When to use it
- Use it when: The user asked to track a specific question.
- Not when: You want more data; every prompt costs money on every sweep, so a person decides.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| assetId | string | yes | The Visibility Asset UUID this concerns. |
| prompt | string | yes | The exact question to ask the engines. |
| reason | string | no | Why it belongs in the set. Shown to the approver. |
What comes back
Every field this tool can return. Checked against the handler on a real database in the test suite, not typed from memory.
| Field | Meaning |
|---|---|
| dataStatus | Always queued. A person decides; nothing has changed. |
| status | Always pending_human_approval. Nothing has happened yet. |
| applied | Always false. This is the field an agent would have to lie about to misreport the call. |
| changeRequestId | The queued request, which get_measurement_status lists under pendingChangeRequests until a person decides. |
| hostname | The site the request concerns. |
| proposed | What was proposed, in one phrase. |
| message | Where a person approves it. Repeat this to the user rather than saying the change was made. |
This does not change anything
It queues a change request for a human on the account to approve. Nothing is added, removed or measured until someone says yes, and the request records which credential asked. An agent cannot act on your account by itself.
Example request
The wire shape, from the schema. Every argument is a placeholder.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "propose_prompt",
"arguments": {
"assetId": "<assetId from list_assets>",
"prompt": "<prompt>",
"reason": "<reason>"
}
}
}Every result carries dataStatus: queued: a person decides, nothing has changed.
Example prompt
Propose adding the question the user gave me to my site's sampled set, with their reason.
Calling it
Connect the MCP server at https://app.seoaio.ai/api/mcp over the Streamable HTTP transport. Per-customer authentication is required, so nothing is exposed without it. Call list_assets first: every other tool needs an assetId from it. A proposal is approved or rejected by a person at https://app.seoaio.ai/dashboard/requests.
Next
For an agent
Read the skill at /SKILL.md before calling anything. It carries the tool order and the rules for quoting a number, including the one that matters most: quoting a share without its interval overstates what we measured.
