Simplify MCP servers documentation and improve clarity - #1480
Conversation
- Remove redundant Configuration Structure section - Add 3 tabs (CLI, Holmes Helm, Robusta Helm) throughout - Inline Supergateway into Stdio Helm tabs - Move Dynamic Headers to Advanced Configuration section - Remove Configuration Fields list (examples are self-documenting) - Remove Default Mode section - Use bold text instead of subheaders within tabs https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
✅ Deploy Preview for holmes-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
|
|
✅ Docker image ready for
Use this tag to pull the image for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:56c94b2
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:56c94b2 me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:56c94b2
docker push me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:56c94b2Patch Helm values in one line (choose the chart you use): HolmesGPT chart: helm upgrade --install holmesgpt ./helm/holmes \
--set registry=me-west1-docker.pkg.dev/robusta-development/development \
--set image=holmes-dev:56c94b2Robusta wrapper chart: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set holmes.registry=me-west1-docker.pkg.dev/robusta-development/development \
--set holmes.image=holmes-dev:56c94b2 |
📂 Previous Runs📜 Run @ f6bbe8a (#21828770326)✅ Results of HolmesGPT evalsAutomatically triggered by commit f6bbe8a on branch Results of HolmesGPT evals
📜 Run @ abbecd7 (#21815220527)✅ Results of HolmesGPT evalsAutomatically triggered by commit abbecd7 on branch Results of HolmesGPT evals
📜 Run @ 197afdb (#21774254791)✅ Results of HolmesGPT evalsAutomatically triggered by commit 197afdb on branch Results of HolmesGPT evals
📜 Run @ 415ebc0 (#21768810160)✅ Results of HolmesGPT evalsAutomatically triggered by commit 415ebc0 on branch Results of HolmesGPT evals
📜 Run @ 1084ea9 (#21688197634)✅ Results of HolmesGPT evalsAutomatically triggered by commit 1084ea9 on branch Results of HolmesGPT evals
✅ Results of HolmesGPT evalsAutomatically triggered by commit 66ee209 on branch Results of HolmesGPT evals
📖 Legend
🔄 Re-run evals manually
Option 1: Comment on this PR with Or with more options (one per line): Run evals on a different branch (e.g., master) for comparison:
Quick re-run: Use Option 2: Trigger via GitHub Actions UI → "Run workflow" 🏷️ Valid markers
Commands: CLI: |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughReworks the MCP Servers documentation: removes the old top-level Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
🔬 CLI Performance Benchmark🟡 Startup Time (no LLM)Measures
🟡 Full CLI with LLMMeasures
PR: |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@docs/data-sources/remote-mcp-servers.md`:
- Around line 372-374: Replace the literal placeholder "your-auth-token-here" in
the example curl header with an environment variable placeholder to avoid
secret-scanner hits; update the X-Auth-Token header in the curl example (the
POST to /api/investigate) to use $AUTH_TOKEN (e.g., -H "X-Auth-Token:
$AUTH_TOKEN") so callers know to export the token into AUTH_TOKEN before running
the curl command.
- Around line 371-375: The markdown snippet uses a fenced code block but
markdownlint expects an indented code block (MD046); replace the fenced block
containing the curl example with an indented block by removing the triple
backticks and indenting each line by four spaces so the curl command and its
flags (the lines starting with curl -X POST and the -H/-d flags) become an
indented code block matching the repository's configured style.
https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
Allows users to override the MCP server command at deploy time without rebuilding the Docker image. https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
mcp_servers is a top-level key in Helm values, not nested under custom_toolsets. Fixed all Helm chart examples: - Holmes Helm: mcp_servers at root level - Robusta Helm: holmes.mcp_servers (not holmes.custom_toolsets.mcp_servers) https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
- Use Dynatrace as example for streamable-http (observability platform) - Use ticket database as example for stdio (internal tool) - Use legacy analytics as example for SSE - Use customer data API for dynamic headers example - Add comment explaining what llm_instructions is for - Update example commands to match the example servers https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@docs/data-sources/remote-mcp-servers.md`:
- Around line 292-301: The YAML has mis-indented llm_instructions under config;
move the llm_instructions key for my_mcp_server so it is at the same indentation
level as description and config (i.e., sibling keys of description and config
under my_mcp_server within holmes.mcp_servers), ensuring llm_instructions
appears directly under my_mcp_server and not nested inside config.
🧹 Nitpick comments (1)
docs/data-sources/remote-mcp-servers.md (1)
7-9: Add blank line before the list.Per coding guidelines, add a blank line between the introductory text and the numbered list to ensure proper MkDocs rendering.
📝 Suggested change
HolmesGPT supports three MCP transport modes: + 1. **`streamable-http`** (Recommended): Modern HTTP-based transport. Use this for new integrations.As per coding guidelines: Add blank line between header/bold text and lists in MkDocs markdown to ensure proper rendering.
mainred
left a comment
There was a problem hiding this comment.
Went through the preview doc https://deploy-preview-1480--holmes-docs.netlify.app/data-sources/remote-mcp-servers/#configuration-format-migration
It looks great, the doc is neat but informative.
- Fixed Stdio section: use ticket_db consistently, fixed llm_instructions indent - Fixed SSE section: use legacy_analytics with proper description - Fixed Advanced section: use customer_data consistently across tabs https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
Remove -t custom_toolset.yaml pattern from CLI examples. Show config added directly to ~/.holmes/config.yaml which is the standard approach. https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n Signed-off-by: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@docs/data-sources/remote-mcp-servers.md`:
- Around line 197-205: The examples under mcp_servers -> ticket_db use the
deprecated SSE transport (mode: sse and /sse URL); update those examples to set
mode: streamable-http and change the endpoint path to the
streamable-http-compatible path (replace the /sse path with the appropriate HTTP
streaming endpoint) so the ticket_db config and its llm_instructions reflect the
recommended streamable-http transport.
- Around line 363-367: The Dynatrace examples currently use the YAML key
"headers" with Jinja2 templates (e.g. "{{ env.DYNATRACE_API_KEY }}"), but
templates are only rendered for "extra_headers"; update those examples to move
the templated header entries from "headers" into "extra_headers" (or
alternatively replace the templated values with hard-coded strings if dynamic
rendering is not required). Locate the Dynatrace example blocks that reference
the env template and replace the "headers:" mapping with "extra_headers:"
preserving the same header names (e.g. Authorization or X-Auth-Token) and
templated values so the template engine will process them. Ensure any
non-templated, static header examples can remain under "headers" if you choose
the hard-coded approach.
Thank you! |
Conflict resolution: - Master added new `icon_url` field for UI display in MCP server config - Our branch had improved Dynatrace example with realistic llm_instructions - Resolution: Keep our improved examples, add icon_url field to all examples https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@docs/data-sources/remote-mcp-servers.md`:
- Line 397: The docs currently imply template syntax (e.g., {{ env.MY_VAR }} or
{{ request_context.headers['token'] }}) can be used in headers; update the text
to explicitly state that template interpolation is supported only in the
extra_headers field (not in headers), and update the Dynatrace examples that use
templates in headers (the examples referencing request_context.headers and env
variables) to instead show usage under extra_headers so readers get a correct,
working pattern.
## Summary Significantly streamlined and reorganized the MCP servers documentation to improve clarity and reduce verbosity. The documentation now focuses on practical examples for different deployment scenarios while removing redundant explanations and overly detailed background information. ## Key Changes - **Condensed transport mode descriptions**: Reduced verbose explanations to concise, actionable summaries for each transport mode (streamable-http, stdio, sse) - **Reorganized examples by deployment context**: Restructured documentation using tabs to show Holmes CLI, Holmes Helm Chart, and Robusta Helm Chart examples side-by-side, making it easier for users to find relevant configurations - **Simplified streamable-http section**: Removed lengthy configuration structure explanation and consolidated into practical deployment examples with environment variable usage - **Streamlined stdio documentation**: - Removed redundant warnings about limitations - Consolidated Supergateway setup instructions - Simplified Docker and Kubernetes examples - Removed verbose comments and placeholder text - **Removed Supergateway demo section**: Eliminated the dedicated "Working with Stdio MCP Servers via Supergateway" section and integrated essential information into the stdio section itself - **Condensed SSE section**: Reduced deprecated SSE documentation to minimal guidance with tab-based examples - **Reorganized advanced configuration**: Moved dynamic headers documentation to a dedicated "Advanced Configuration" section with clearer examples - **Simplified migration notes**: Reduced configuration format change documentation to essential information only ## Notable Details - Removed ~50 lines of redundant explanations and background information - Improved consistency in example formatting across all deployment scenarios - Maintained all essential technical information while improving readability - Reduced overall documentation length by ~25% while improving usability https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Reorganized remote MCP server docs into per-environment guides (Holmes CLI, Holmes Helm Chart, Robusta Helm Chart) with concrete YAML examples and environment-scoped commands. * Standardized transport guidance: promoted Streamable‑HTTP, emphasized in-cluster stdio via Supergateway, and deprecated SSE. * Moved URL/path guidance into per-server blocks, added llm_instructions and header templating examples, and included migration notes with compatibility warnings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Claude <noreply@anthropic.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Roi Glinik <groi.tech@gmail.com> Signed-off-by: Mohse Morad <moshemorad12340@gmail.com>
Summary
Significantly streamlined and reorganized the MCP servers documentation to improve clarity and reduce verbosity. The documentation now focuses on practical examples for different deployment scenarios while removing redundant explanations and overly detailed background information.
Key Changes
Condensed transport mode descriptions: Reduced verbose explanations to concise, actionable summaries for each transport mode (streamable-http, stdio, sse)
Reorganized examples by deployment context: Restructured documentation using tabs to show Holmes CLI, Holmes Helm Chart, and Robusta Helm Chart examples side-by-side, making it easier for users to find relevant configurations
Simplified streamable-http section: Removed lengthy configuration structure explanation and consolidated into practical deployment examples with environment variable usage
Streamlined stdio documentation:
Removed Supergateway demo section: Eliminated the dedicated "Working with Stdio MCP Servers via Supergateway" section and integrated essential information into the stdio section itself
Condensed SSE section: Reduced deprecated SSE documentation to minimal guidance with tab-based examples
Reorganized advanced configuration: Moved dynamic headers documentation to a dedicated "Advanced Configuration" section with clearer examples
Simplified migration notes: Reduced configuration format change documentation to essential information only
Notable Details
https://claude.ai/code/session_01H3xyWcwWem2ptcZjFaNs8n
Summary by CodeRabbit