Skip to content

Run the tool probe on a timer so the data actually fills in - #51

Merged
lbesecker195 merged 1 commit into
mainfrom
feat/probe-scheduler
Sep 24, 2026
Merged

lbesecker195 merged 1 commit into
mainfrom
feat/probe-scheduler

Conversation

@lbesecker195

Copy link
Copy Markdown
Owner

Follow-up to #50, which shipped the prober but left it inert — nothing ran it, so the catalogue still declares 134 tools.

This puts it on a scheduler, matching how OfficialRegistry.Scheduler and Discovery.Batcher already work.

Pace

Setting Value
Batch 50 endpoints
Interval every 5 minutes
Concurrency 4
Recheck window 14 days
First pass over ~21,000 ~1.5 days

Slow deliberately. These are other people's servers; a faster sweep looks like scanning and there is no deadline. Requests carry a user agent naming the registry and linking to it, and a probed endpoint is not asked again for two weeks, so the steady state is a trickle.

Off in dev and test so neither ever touches a third party. PROBE_ENABLED=false stops it in production; PROBE_BATCH_SIZE and PROBE_CONCURRENCY tune it.

A batch that raises still schedules the next tick, so one bad run cannot silently stop the loop.

Expected effect

At ~27% yield, a full pass should take the catalogue from 134 declared tools to roughly 5,800 servers with verified tool lists — and those pages then say the list was read from the server itself rather than repeating a listing.

133 tests pass.


Pages affected:

🤖 Generated with Claude Code

The prober shipped inert: nothing ran it, so the catalogue still declared 134
tools. This puts it on a scheduler, the way the official-registry sync and the
discovery batcher already work.

- Ask 50 endpoints every five minutes at a concurrency of four, so a first pass
  over ~21,000 takes about a day and a half
- Keep a probed endpoint out of the queue for two weeks, so the steady state is
  a trickle rather than a sweep
- Identify ourselves in the user agent, with a link back
- Schedule the next tick even when a batch raises, so one bad run cannot stop
  the loop
- Off in dev and test; PROBE_ENABLED=false stops it in production

Slow on purpose: these are other people's servers and there is no deadline.

---

Pages affected:

- [MCP Registry](https://ai.mcpharbor.dev/) — the Model Context Protocol server directory.
- [Browse MCP servers](https://ai.mcpharbor.dev/servers) — catalogue whose tool counts this fills in.
- [Context7 MCP server](https://ai.mcpharbor.dev/servers/io.github.upstash/context7) — a remote listing that answers a probe.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@lbesecker195
lbesecker195 merged commit 5c563e2 into main Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant