wait-on is a cross platform command line utility and Node.js API which will wait for files, ports, sockets, and http(s) resources to become available
wait-on is a cross platform command line utility and Node.js API which will wait for files, ports, sockets, and http(s) resources to become available. The wait mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.
Everything the assistant can do here goes through one of these:
opts.resources — array of string resources to wait for. prefix determines the type of resource with the default type of file:opts.delay — optional initial delay in ms, default 0opts.interval — optional poll resource interval in ms, default 250msopts.log — optional flag which outputs to stdout, remaining resources waited on and when complete or erroredopts.reverse — optional flag to reverse operation so checks are for resources being NOT available, default falseopts.simultaneous — optional count to limit concurrent connections per resource at a time, setting to 1 waits for previous connection to succeed, fail, or timeout beforeopts.timeout — optional timeout in ms, default Infinity. Aborts with erroropts.tcpTimeout — optional tcp timeout in ms, default 300msopts.verbose — optional flag which outputs debug output, default falseopts.window — optional stabilization time in ms, default 750ms. Waits this amount of time for file sizes to stabilize or other resource availability to remainopts.ca — [ /* strings or binaries */ ],opts.cert — [ /* strings or binaries */ ],Installation goes through your MCP client rather than a global install: point it at wait-on on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
You will need one environment variable: SOCK_PATH. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Wait's toolset — opts.resources, opts.delay, opts.interval and 11 more — is a fair guide to whether it matches your workflow. It is maintained by jeffbski; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| opts.resources | array of string resources to wait for. prefix determines the type of resource with the default type of file: |
| opts.delay | optional initial delay in ms, default 0 |
| opts.interval | optional poll resource interval in ms, default 250ms |
| opts.log | optional flag which outputs to stdout, remaining resources waited on and when complete or errored |
| opts.reverse | optional flag to reverse operation so checks are for resources being NOT available, default false |
| opts.simultaneous | optional count to limit concurrent connections per resource at a time, setting to 1 waits for previous connection to succeed, fail, or timeout before sending another, default infinity |
| opts.timeout | optional timeout in ms, default Infinity. Aborts with error. |
| opts.tcpTimeout | optional tcp timeout in ms, default 300ms |
| opts.verbose | optional flag which outputs debug output, default false |
| opts.window | optional stabilization time in ms, default 750ms. Waits this amount of time for file sizes to stabilize or other resource availability to remain unchanged. |
| opts.ca | [ /* strings or binaries */ ], |
| opts.cert | [ /* strings or binaries */ ], |
| opts.key | [ /* strings or binaries */ ], |
| opts.passphrase | 'yourpassphrase', |
{
"mcpServers": {
"wait-1": {
"command": "npx",
"args": ["-y", "wait-on"],
"env": {
"SOCK_PATH": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| SOCK_PATH | Filesystem location the server is allowed to use. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.