docs: add a troubleshooting guide for MCP server startup failures (closes #258) - #342
Closed
dchaudhari7177 wants to merge 1 commit into
Closed
docs: add a troubleshooting guide for MCP server startup failures (closes #258)#342dchaudhari7177 wants to merge 1 commit into
dchaudhari7177 wants to merge 1 commit into
Conversation
Covers the four failure modes from the issue - server fails to start, scan times out, empty tool listing, rate limiting - plus what to include when reporting. Linked from the README docs list. Two corrections to the suggested content, because the flags it named do not exist: - There is no --timeout flag on scan/score/test; --timeout <ms> is only on `demo`. The scan timeout is the per-target `timeoutMs` field in a target config passed with --target, defaulting to 10s in runner.ts. Documented that way, with a worked config. - There is no --verbose flag anywhere in the CLI. Documented --format json instead, which carries the per-check evidence and any captured fatal error. Every flag and config field referenced was checked against src/ before being written down: --target, --format, --invoke-tools, --interval, and the timeoutMs / env / skipInvoke target-config fields. Also drops the "avoid running as root" line into a security framing rather than a generic warning: running an untrusted MCP server as root hands it root, which is the risk this tool measures. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
|
Merged after a README rebase onto current main (conflict with the shorter docs list). Thank you — |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #258.
Adds
docs/troubleshooting.mdcovering the four failure modes from the issue — server fails to start, scan times out, tool listing returns empty, rate limiting — plus what to include when reporting. Linked from the README docs list.The issue's outline named flags that do not exist, so I documented what actually works instead. Both were checked against
src/rather than assumed:There is no
--timeoutflag onscan/score/test.--timeout <ms>is registered only ondemo(src/commands/demo.ts:80). The scan timeout is the per-targettimeoutMsfield in a target config file passed via--target, defaulting to 10 s inrunner.ts:119. The guide shows a worked config for bothlocal-processandhttpadapters.There is no
--verboseflag anywhere in the CLI. I enumerated every registered.option(acrosssrc/commands/to confirm. The guide points at--format jsoninstead, which carries the per-check evidence and any capturedfatalError.Documenting either flag as suggested would have sent users to a command that errors out.
Other content notes
npxcold start alone can exceed it, so the guide suggests warming the package cache before blaming the server.envwith${VAR}expansion in the target config, so required API keys are reproducible without writing secrets into the file.skipInvoke: trueas the way to check capability listings without spending quota.Every flag and config field referenced (
--target,--format,--invoke-tools,--interval,timeoutMs,env,skipInvoke) was verified present insrc/before being written down.Docs-only change.
🤖 Generated with Claude Code