Skip to content

chore(scripts): preserve 2026-07 MCP catalog sweep tooling + probe ledger - #315

Merged
ryw merged 2 commits into
mainfrom
tembo/mcp-probe-tooling
Jul 20, 2026
Merged

chore(scripts): preserve 2026-07 MCP catalog sweep tooling + probe ledger#315
ryw merged 2 commits into
mainfrom
tembo/mcp-probe-tooling

Conversation

@staging-tembo

@staging-tembo staging-tembo Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Preserves the research working set from the native MCP catalog batch-3 sweep (#310, PR #313) in-tree under scripts/mcp-probe/, so batch 4 doesn't start from scratch. This was previously only in a sandbox /tmp (gists aren't available to the bot integration).

Contents

File What it is
probe.sh / probe2.sh Shallow/deep discovery probes: MCP initialize/.well-known/oauth-protected-resource (path-aware, then origin root) → auth-server metadata → DCR check
driver-shallow.py / driver-deep.py Concurrent drivers that fan the probes over a candidate list
generate.mjs Generates the mcp-providers.ts catalog entries and Rust allowlist tuples from deep-probe JSON + curated metadata — the expensive-to-recreate piece
fetch-art.mjs Logo fetcher with placeholder rejection (magic-byte validation, md5 against the Google s2 default globe)
probe-results-2026-07-18.tsv Full shallow-probe ledger: all 216 candidates including the ~80 that did not make the catalog
README.md Methodology, how to read the ledger, transcript-recovered outcomes not in the TSV, and the never-probed speculative queue

Notes

  • Scripts are standalone research tooling — nothing imports them; no build/CI wiring.
  • All probe data was gathered unauthenticated on 2026-07-18; files scanned for credentials before committing (clean).
  • The README doubles as the durable record for probe outcomes that previously existed only in the research session transcript (registry sweep scale, dead-URL confirmations, parked-with-reason entries, and 9 speculative candidates that were queued but never executed).

Refs #310


Want tembo to make any changes? Add a comment with @staging-tembo and i'll get back to work!

View on Tembo View Agent Settings

@staging-tembo staging-tembo Bot added the tembo Pull request created by Tembo label Jul 18, 2026
}
init = json.dumps({"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"probe","version":"1.0"}}})

def run(name, mode, url):

const isPng = (b) => b.length > 8 && b[0] === 0x89 && b[1] === 0x50;
const isIco = (b) => b.length > 4 && b[0] === 0 && b[1] === 0 && b[2] === 1;
const isSvg = (b) => b.slice(0, 300).toString("latin1").toLowerCase().includes("<svg");
node generate.mjs # reads deep/*.json, writes gen-*.txt fragments
```

Methodology is also documented in the batch-3 header of

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reproduction step fails from a fresh checkout because generate.mjs calls readdirSync("deep"), but the PR does not add deep/ or document how to create the JSON files it expects. Could you either commit those probe outputs or add the exact loop/command that populates deep/*.json before running the generator?

@ryw
ryw merged commit 7fc70a5 into main Jul 20, 2026
10 checks passed
@ryw
ryw deleted the tembo/mcp-probe-tooling branch July 20, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tembo Pull request created by Tembo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant