Three ways, from no setup at all to a full agent. Every one gives the same honest output: found, maybe, looked-not-there.
Make a plan on /start, press Copy for ChatGPT / Claude, paste it into any chat. The prompt tells the AI to walk you through the free searches one at a time and to use only the three words. Works with free ChatGPT, Claude, Gemini, anything.
You need a key (Explorer, 29 a month). Then:
claude mcp add --transport http codeblack https://codeblack-api.dajai.io/mcp --header "Authorization: Bearer cbk_live_…"
Then say: "use codeblack: start with Mary LeBlanc, Church Point Louisiana, born about 1900". The cb_start tool returns the plan; cb_bridge_run searches the slavery-era tables; cb_person and cb_lineage read the worked case file.
Endpoint POST https://codeblack-api.dajai.io/mcp (Streamable HTTP, JSON-RPC 2.0), header Authorization: Bearer cbk_live_…. Tools: cb_start, cb_bridge_run, cb_records_search, cb_person, cb_lineage, cb_export_gedcom. Plain REST is the same thing: POST /v1/plan needs no key at all.
curl -s https://codeblack-api.dajai.io/v1/plan -H "Content-Type: application/json" -d '{"name":"Mary LeBlanc","place":"Church Point, Louisiana","born":"1900"}'
The plan carries the rule in its first line: never call someone a relative until a record names them. If an assistant skips that, paste the rule back in. The method is the method.