Outrank
Integrates
Writer questions for scheduled articles, through Outrank's MCP server, which you host.
What a member can do
With Outrank connected, a member can list the keywords scheduled for one product, read one keyword's writer questions, and submit answers to those questions. Which of these it has is what the server you host offers and what the task names.
Name each Outrank tool a task needs, such as keywords_list, keywords_get, and keywords_update, rather than
all of Outrank: a tool the task does not name is refused.
keywords_update replaces the keyword's whole question list. Sending one answer deletes the rest. A careful
bridge re-reads the keyword first and refuses the write unless the ids are the complete current set, the wording
is unchanged, and every answer is text of at most 1000 characters. That refusal comes back as the tool's own
result, so the run can carry on.
Who connects it
Outrank's CLI ships outrank-mcp, and that server speaks MCP over standard input and output only. To connect
Outrank you run it yourself, behind an HTTPS address that Zero Human OS calls with a token of your choosing. Your
Outrank API key stays on your server; Zero Human OS only ever holds your bearer token.
Pin the bridge to one product. A call that names another product is refused, and a keyword that belongs to another product is not shown.
Connect Outrank on the task that writes, not on a member, team, role or the enterprise. A connection on any of those also reaches the chat of every member it covers, where the catalogue is one approval away from a write the task's skill never made. A task's own connection never reaches chat.
What waits for you
Nothing written to Outrank waits for you unless the task declares a gate on keywords_update. To see each
answer before it is saved, gate that tool: the run waits with the questions it would send, and nothing is
written until you approve it on Gates.
{ "tool": "keywords_update", "owner": "ceo", "approval": "specific" }
Setup
Run Outrank's MCP server
- Run the
outrank-mcpbin ofoutrank-cli, with the keywords toolset. It needs your Outrank API key. Do not pass a profile that would ignore that key. - Put a bridge in front of it that serves MCP's Streamable HTTP transport, at an HTTPS address, and refuses
any request whose
Authorizationheader is notBearer <your token>. Choose a long random token. - Offer only
keywords_list,keywords_get, andkeywords_update. What the bridge does not offer, no task can call. Beforekeywords_update, re-read the keyword and refuse a body that is not the complete current question list.
Connect it
- In the portal, on Tools, choose Add tool. Layer: Task, and Bind on: the task that writes.
- Kind: MCP. Tool type:
outrank. - MCP server URL: your bridge's address.
- Auth: Bearer token / PAT, and your bearer token.
- On the task, name
keywords_list,keywords_get, andkeywords_update. Declare a gate onkeywords_updatewhen a person should see each answer first. - Check it. Run the task. The run page shows the keyword list, and an update that is not the complete question set comes back refused, with the keyword unchanged in Outrank.
Troubleshooting
| What you see | Why | What to do |
|---|---|---|
tool_not_bound:outrank |
No Outrank connection reaches this run | Bind it on this task, or at a layer the run reaches |
The run's log says tool.not_offered for an Outrank tool |
Your bridge did not answer when the run started, or offers no tool by that name | Check the bridge is reachable, and that it offers the tool by that name |
| Calls fail with an auth error | The bearer token in the binding is not the one your bridge expects | Edit the binding and paste the token again |
| A call is refused because of the product | The call names a product other than the one the bridge is pinned to | Name that product, or point the bridge at the product this task writes |
| An update is refused and the keyword is unchanged | The body is not the complete current question list, the wording changed, or an answer is over 1000 characters | Re-read the keyword and send every question, wording unchanged, with each answer as text |