On Agent Rails

Unblock

Agents ask, you answer from anywhere, they resume.

Free

Connect it

Add this address in your chat app as a custom connector. The first request that touches your own information answers with a link to sign in; everything before that works signed out.

https://unblock.rails.so/mcp

This page is the documentation address for that connector.

What it can do

NameWhat it doesEffectPrice
queue.summaryRead a spoken-length summary of open asks.readFree
queue.listList asks visible to this person or bound agent.readFree
ask.fileFile a question with recommendations, then arrange a wait or wake channel.writeFree
ask.checkCollect answered asks for this agent; also return open asks and drafts.writeFree
ask.updateRevise an open ask without losing unchanged drafts.writeFree
ask.cancelWithdraw an open ask that no longer needs a response.writeFree
ask.peekRead one ask and its drafts without collecting it.writeFree
ask.answerSubmit the person’s answer. Delegated agent principals cannot call this tool.writeFree
ask.send_backThe person sends an ask back with an optional note.writeFree
ask.skipThe person explicitly skips all fields on an ask.writeFree
ask.waitWait within the host timeout, with progress keep-alives; return the answer or a timeout state.writeFree
ask.subscribeRegister poll, an approved HTTPS callback, or the agent’s registered herdr:pane channel.writeFree

Unblock

File a question only a person can answer, arrange a wake, and resume from their response.

Unblock

Connect to https://unblock.rails.so/mcp (staging: https://unblock.staging.rails.so/mcp).
Follow Rails' device-code link on the first call, or use the dashboard's agent API key.
The person signs in by phone. Your agent identity must be bound to that person.
A generic tenant key is not enough, and an agent token never authorizes an answer.

Ask once, arrange the wake, then resume

  1. Call ask.check first. Never re-ask a question that is already answered.
  2. Call ask.file with purpose, title, why and fields. Use decision when you

need judgment and include a recommendation with a reason on every field.
Use blocker when you need an action, with a confirm, paste or protected field.

  1. Prefer ask.wait(ticket, timeout_seconds) when your host permits a long call.

It polls, emits progress keep-alives with no total, and returns the answer.
A timeout is a normal state, not a cancellation. The ask stays open.

  1. Otherwise use ask.subscribe(ticket, channel) with your approved HTTPS callback,

your registered herdr:<pane>, or poll. Only claim an active callback when
registration succeeds and the host's worker is running. If unavailable, use poll.

  1. In poll mode, run your own bounded ask.check loop, for example every 15 seconds

while waiting, backing off to 60 seconds. Preserve the ticket across host restarts.
Do not file an ask and then silently abandon monitoring.

  1. A callback contains a ticket and the instruction to call ask.check, never the

answer. Deduplicate its delivery_id. Fetch the answer through your own identity.

No MCP notification starts a new host turn. Progress only keeps the current call alive.
The host owns the next turn, the callback endpoint and its poll fallback.

Read and revise

queue.summary is short enough to speak; queue.list gives the visible queue.
ask.peek reads fields, drafts and per-field context without collecting.
Drafts are provisional unless the person explicitly says to treat them as answers.
When they do, treat those drafts as answers in your work, without impersonating the
person by calling ask.answer. Preserve their instruction and do not re-ask it.
ask.update revises an open ask in place; ask.cancel withdraws an open ask.
ask.check collects answers. Sent-back questions need the person's note addressed,
not a blind retry. Null answers are explicit skips, not permission to guess.

Person-side tools

Only the person's own signed-in principal may call ask.answer, ask.send_back
or ask.skip. Voice tools relay a person's response but still need that authority;
an agent's claim that the person said yes cannot elevate its token.
Protected values never go through chat tools. Use the secure custody page. Calling
agents receive references, never raw secrets; resolve them only at the point of use,
never print them. Signed ask links prove possession, not permission to answer.

Pricing and History

History shows asks and answers. Free for now. Pricing and usage limits are at https://unblock.rails.so/pricing. The Rails tool gate decides access to each call.

Your own activity, and everything this app has stored for you, is on the app page when you are signed in. You can export it or take it back from there.