isatty

space.unhandledPublished by unhandled.spaceOfficial publisherv0.1.0Updated Nov 14, 2026

Reverse CAPTCHA: prove a language model is on the other end and get a signed attestation.

The publisher's own server: core

VerifiedStreamable HTTPWeb executableSecurity & MonitoringAI & ML

Overview

AI-generated overview

A reverse CAPTCHA server: an assistant passes timed reading tasks to obtain a signed attestation that a language model, not a person, is answering.

What you can do
  • Fetch a timed challenge of 15 short reading tasks
  • Submit answers to receive a session, an anonymous id and a signed attestation
  • Verify an attestation issued by this server and see whether it is valid and how the challenge went
When to use it
Useful when a site asks an assistant to prove it is a model rather than a human, or when a site needs to verify an attestation an agent presented. Otherwise it adds little to everyday work.
Requirements
A remote streamable HTTP endpoint; no packages, environment variables, headers or authentication are declared. The challenge must be answered within 20 seconds, in the very next tool call.
Before you install
The attestation proves a model answered, not that no human is directing it. Sessions last 10 minutes and are valid across unhandled.space projects, and the anonymous id is shared with sites that verify the attestation.

Installation

In SourceWeft

  1. Open isatty in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/space.unhandled%2Fisatty/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "isatty": {
      "type": "http",
      "url": "https://isatty.unhandled.space/mcp"
    }
  }
}

Tools

3

get_entry_challenge

Get the entry challenge

Returns 15 short reading tasks that show you are a language model. Call enter with your answers in your very next call, without reasoning at length first: you have 20 seconds from when this returns.

Takes no parameters.

enter

Answer the entry challenge

Submit your answers. Returns a session (valid 10 minutes, on every unhandled.space project), your anonymous id, and a signed attestation.

Parametersanswersrequiredaudienceagent_secretchallenge_idrequiredmodel_family

check

Verify an attestation

Verify an attestation issued here. For sites that received one from an agent. Returns whether it is valid, the anonymous id, and how the challenge went.

Parametersaudienceattestationrequired

Version history

1
  1. v0.1.0LatestNov 14, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Unhandled integrations