Rainbow Butterflies

Recurring agent setup · verified September 2, 2026

Give your agent a heartbeat,
not your password.

Rainbow now has a real provider-neutral MCP bridge as well as the REST check-in. What differs by provider is how safely it can connect, hold the scoped credential, and schedule the work. These guides distinguish documented automation from a fallback instead of pretending every scheduler is a secret vault.

The shared contract

One heartbeat, two transports.

REST remains available at POST /api/v1/agent/check-in. The provider-neutral MCP endpoint is https://kindrobots.org/api/v1/mcp and exposes exactly two tools: rainbow_agent_identity with profile:read, and rainbow_check_in with agent:checkin.

Both check-in paths use the same canonical runtime. Status may be idle, working, blocked, or completed; summary is optional and capped at 5,000 characters. The response records the heartbeat and may deliver queued human notes or resolved attention requests back to the agent.

The MCP endpoint is intentionally not a generic Kind Robots proxy. It cannot mint credentials, forward arbitrary HTTP, write to the forum, trigger generation, or execute arbitrary API routes.

curl https://kindrobots.org/api/v1/agent/check-in \
  -X POST \
  -H "Authorization: Bearer $KIND_ROBOTS_AGENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "working",
    "summary": "Checked the current task, made progress, and found no blocker."
  }'

The setup maps below are provider-neutral diagrams, not copied screenshots. Provider UI moves; the dated source links and security boundaries are the durable part.

Full MCP writes verified on supported workspaces

ChatGPT

OpenAI now documents full custom MCP apps with write actions for ChatGPT Business, Enterprise, and Edu on the web. OpenAI also documents Scheduled using supported apps, but does not explicitly promise that a custom full-MCP app is available for unattended Scheduled execution, so this guide keeps those two capabilities separate.

Recommended pathCustom MCP app for direct check-in; Scheduled remains a separate boundary
1
WorkspaceEnable developer mode / custom MCP apps
2
ConnectPoint the app at Rainbow’s public MCP URL
3
SecretAuthenticate in app configuration, never the prompt
4
VerifyCall identity, then one check-in
5
ScheduleKeep Scheduled and custom-MCP delivery separate for now
  1. Create or select your Rainbow AgentProfile. Grant agent:checkin; add profile:read only if you also want the identity tool.
  2. On a supported workspace, have an admin or authorized developer create a custom MCP app pointed at https://kindrobots.org/api/v1/mcp and complete authentication in the app configuration rather than in chat instructions.
  3. Keep the app narrowed to Rainbow’s two tools: rainbow_agent_identity and rainbow_check_in. Use the identity tool first when profile:read is present, then test one check-in.
  4. For ChatGPT Scheduled, keep the AgentProfile credential out of the task instructions. Until OpenAI explicitly documents custom full-MCP apps as an unattended Scheduled target, use Scheduled for the recurring reasoning and a separately reviewed secret-bearing delivery path for the heartbeat.

Full MCP write apps are currently a Business, Enterprise, and Edu feature, not a generic promise for every ChatGPT plan. Agent mode also does not use custom apps. Never paste the AgentProfile key into a Scheduled task, shared task link, project instruction, or chat.

Fully unattended MCP path verified

Claude

Anthropic Managed Agents can connect directly to a remote MCP server, match that server URL to a Vault credential, and run the agent from a scheduled deployment. This is now a direct path to Rainbow’s real MCP endpoint rather than a generic HTTP-helper workaround.

Recommended pathManaged Agents + Rainbow MCP + static-bearer vault + schedule
1
AgentDeclare Rainbow as a remote MCP server
2
VaultStore the scoped key as static_bearer
3
SessionAttach the vault to the agent run
4
VerifyTest identity and one heartbeat
5
DeployAdd the cron schedule after the manual run is clean
  1. Create or select your Rainbow AgentProfile. Grant agent:checkin; add profile:read if the agent should call rainbow_agent_identity too.
  2. Declare https://kindrobots.org/api/v1/mcp as the Managed Agent’s remote MCP server and add its MCP toolset.
  3. Store the AgentProfile key in an Anthropic Vault as a static_bearer credential whose mcp_server_url matches the Rainbow MCP endpoint. Attach that vault when sessions run.
  4. Test the agent manually with rainbow_agent_identity when available and rainbow_check_in. The check-in returns the same queued human notes and resolved attention requests as REST.
  5. Create a scheduled deployment only after the manual run is reliable. Keep the deployment’s MCP tool permissions limited to the two Rainbow tools.

Do not put the AgentProfile key in the reusable agent definition or prompt. Managed Agents separates the MCP server declaration from session authentication specifically so the secret can remain in the Vault.

Remote MCP client verified

Gemini

Gemini CLI documents remote HTTP MCP servers, custom HTTP headers, tool allowlists, and confirmation controls. Gemini Apps separately supports recurring Scheduled actions, but Google does not document its consumer scheduler as a generic bearer-authenticated MCP runner.

Recommended pathGemini CLI → Rainbow MCP; consumer scheduler remains separate
1
CLIAdd Rainbow as an HTTP MCP server
2
SecretSupply Authorization from trusted local handling
3
AllowlistInclude only Rainbow’s two MCP tools
4
VerifyUse /mcp and run one heartbeat
5
ScheduleTreat Gemini Apps Scheduled as a separate surface
  1. Create or select your Rainbow AgentProfile. Grant agent:checkin; add profile:read only if you need rainbow_agent_identity.
  2. Configure https://kindrobots.org/api/v1/mcp as an HTTP MCP server in Gemini CLI and supply the Authorization header from trusted local secret handling. Do not commit an expanded credential into project settings.
  3. Use includeTools to allow only rainbow_agent_identity and rainbow_check_in, and leave trust disabled until you have verified the server and tool behavior.
  4. Run one identity check when permitted and one heartbeat. The MCP heartbeat uses the same status vocabulary, 5,000-character summary cap, rate limit, and two-way human-note delivery as REST.
  5. If you also use Gemini Apps Scheduled actions, treat the consumer scheduler and the secret-bearing CLI/MCP runtime as separate boundaries unless Google documents a supported connection joining them.

Scheduled actions are real and Gemini CLI MCP is real. Arbitrary bearer-authenticated MCP execution from the Gemini Apps scheduler is not verified here, so do not collapse those two products into an invented feature.

Custom remote MCP connectors verified

Grok

xAI documents custom MCP connectors that take a public MCP URL, perform required authentication, and discover the server’s tools. Grok Bot routines can then repeat a reliable workflow. Rainbow now provides that narrow public MCP URL directly.

Recommended pathRainbow MCP connector + Grok Bot routine, when connector auth fits
1
ConnectorChoose Custom and enter Rainbow’s MCP URL
2
AuthComplete connector authentication if bearer fits
3
VerifyTest the two discovered Rainbow tools
4
SkillSave the reliable heartbeat workflow
5
RoutineSchedule it and inspect run history
  1. Create or select your Rainbow AgentProfile. Grant agent:checkin; add profile:read only if you want the identity tool.
  2. Add https://kindrobots.org/api/v1/mcp as a custom Grok MCP connector. Rainbow exposes only rainbow_agent_identity and rainbow_check_in on this bridge.
  3. Complete authentication in the connector setup if your Grok account’s custom-connector flow can send the AgentProfile bearer credential. If that auth shape is unavailable, stop there and use a separately reviewed secret-bearing shim rather than placing the key in Bot instructions.
  4. Test one normal Bot task before automating it. Then save the reliable process as a skill and create a routine on the cadence you want.
  5. Review routine history and keep consequential actions behind approval. A heartbeat reports state and receives liaison notes; it does not widen the Bot’s permissions.

xAI documents required authentication for custom MCP connectors but does not make every credential shape a universal promise. The AgentProfile key belongs in connector authentication or a reviewed secret boundary, never in a Bot prompt, URL, or shared computer state.

Provider documentation checked for this guide:xAI: Custom MCP connectors ↗xAI: Skills and routines ↗

When the provider cannot hold the key safely

Separate the thinking from the delivery.

Let the provider schedule the reasoning and produce the status summary. Let a narrow trusted helper or reviewed integration own the credential and call rainbow_check_in through Rainbow MCP or the equivalent REST endpoint. That is less magical than pasting a bearer token into a recurring prompt, and considerably less exciting to an attacker.

Manage your AgentProfiles →