EPMRPP-113053 || Update MCP Documentation#1073
Conversation
WalkthroughDocumentation for the MCP Server has been expanded to include comprehensive setup guidance, covering prerequisites, multiple installation methods (local and remote), server mode configuration with environment variables, per-tool onboarding instructions for various AI platforms, and a verification section for validating server connectivity. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). 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 |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/external-integrations/MCPServer.mdx (1)
274-276:⚠️ Potential issue | 🟡 MinorFix incomplete sentence in token note.
"Token is API Key the user's Profile page." is missing words.
✏️ Proposed fix
-Token is API Key the user's Profile page. +Token is the API Key from the user's Profile page.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/external-integrations/MCPServer.mdx` around lines 274 - 276, The note text is an incomplete sentence; update the note inside docs/external-integrations/MCPServer.mdx (the :::note block) to a complete sentence such as "Token is the API Key from the user's Profile page." so it reads clearly and grammatically correct.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/external-integrations/MCPServer.mdx`:
- Around line 331-335: The docs list "/info returns server configuration" but
never demonstrates it; add an explicit example (either a browser URL like
http://your-mcp-server-host:port/info and a short sentence saying to open it in
a browser, or a curl command such as curl -i
http://your-mcp-server-host:port/info) in the same verification section that has
the browser check/curl example so readers can validate the /info endpoint, or if
/info is not guaranteed, remove the "/info" bullet from the Expected Results.
- Around line 317-329: Update the curl verification example to match the
canonical remote connection configs by changing the request path from "/mcp" to
"/mcp/" and make the Authorization header placeholder consistent by using
"Bearer your-report-portal-api-token" instead of "Bearer your-api-token"; locate
and edit the curl test block (the code fence with curl POST to the MCP endpoint)
to apply these two substitutions so it aligns with the other remote examples.
- Around line 32-34: The file uses a non-standard Docusaurus admonition marker
`:::important`; replace that marker with a standard type (e.g., `:::warning` or
`:::caution` if available) so the admonition renders correctly—locate the
`:::important` block in MCPServer.mdx and change the opening marker to a
supported admonition type while keeping the closing `:::` unchanged.
---
Outside diff comments:
In `@docs/external-integrations/MCPServer.mdx`:
- Around line 274-276: The note text is an incomplete sentence; update the note
inside docs/external-integrations/MCPServer.mdx (the :::note block) to a
complete sentence such as "Token is the API Key from the user's Profile page."
so it reads clearly and grammatically correct.
ℹ️ Review info
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (10)
docs/external-integrations/img/mcp-server/Copilot1.jpgis excluded by!**/*.jpgdocs/external-integrations/img/mcp-server/Copilot1.pngis excluded by!**/*.pngdocs/external-integrations/img/mcp-server/Copilot2.JPGis excluded by!**/*.jpgdocs/external-integrations/img/mcp-server/Copilot2.pngis excluded by!**/*.pngdocs/external-integrations/img/mcp-server/Cursor1.JPGis excluded by!**/*.jpgdocs/external-integrations/img/mcp-server/Cursor1.pngis excluded by!**/*.pngdocs/external-integrations/img/mcp-server/Cursor2.JPGis excluded by!**/*.jpgdocs/external-integrations/img/mcp-server/Cursor2.pngis excluded by!**/*.pngdocs/external-integrations/img/mcp-server/Cursor3.JPGis excluded by!**/*.jpgdocs/external-integrations/img/mcp-server/Cursor3.pngis excluded by!**/*.png
📒 Files selected for processing (1)
docs/external-integrations/MCPServer.mdx
| :::important | ||
| `http` mode is intended for server deployments. The MCP server must be **deployed and running** with `MCP_MODE=http` before any AI tool can connect to it remotely. | ||
| ::: |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Find Docusaurus config files
fd "docusaurus.config" -type fRepository: reportportal/docs
Length of output: 231
🏁 Script executed:
#!/bin/bash
# Search for admonitions config and 'important' keyword registration
rg -t js -t ts -t json "admonition" -C 5Repository: reportportal/docs
Length of output: 43
🏁 Script executed:
#!/bin/bash
# Check the actual file at the specified lines to confirm the syntax
head -n 40 docs/external-integrations/MCPServer.mdx | tail -n 12Repository: reportportal/docs
Length of output: 602
🏁 Script executed:
#!/bin/bash
# Find all docusaurus config files
find . -name "docusaurus.config.*" -type fRepository: reportportal/docs
Length of output: 83
🏁 Script executed:
#!/bin/bash
# List files in the root directory to identify config files
ls -la | grep -i docusaurusRepository: reportportal/docs
Length of output: 133
🏁 Script executed:
#!/bin/bash
# Search for any reference to 'important' in config files
rg "important" --glob "*.config.*" -C 3Repository: reportportal/docs
Length of output: 43
🏁 Script executed:
#!/bin/bash
# Read the docusaurus config file and search for admonitions section
rg -n "admonition" ./docusaurus.config.js -A 10 -B 2Repository: reportportal/docs
Length of output: 43
🏁 Script executed:
#!/bin/bash
# If admonitions not found, check the full config structure for presets/plugins
head -n 100 ./docusaurus.config.jsRepository: reportportal/docs
Length of output: 2826
🏁 Script executed:
#!/bin/bash
# Continue reading the config file to find markdown/admonitions section
sed -n '100,200p' ./docusaurus.config.jsRepository: reportportal/docs
Length of output: 2639
🏁 Script executed:
#!/bin/bash
# Search for markdown section which may contain admonitions
rg -n "markdown" ./docusaurus.config.js -A 20 -B 2Repository: reportportal/docs
Length of output: 1037
🏁 Script executed:
#!/bin/bash
# Read the entire docusaurus.config.js file and look for markdown/admonitions
cat ./docusaurus.config.js | grep -n -i -A 10 "markdown\|admonition"Repository: reportportal/docs
Length of output: 869
🏁 Script executed:
#!/bin/bash
# Check the end of the file to see complete config structure
tail -n 50 ./docusaurus.config.jsRepository: reportportal/docs
Length of output: 1489
🏁 Script executed:
#!/bin/bash
# Double-check: verify what the standard Docusaurus admonition types are by checking if there's any MDXProvider or custom component definition
rg -n "Admonition|:::note|:::tip|:::warning|:::danger|:::info" ./docs/external-integrations/MCPServer.mdxRepository: reportportal/docs
Length of output: 119
Replace :::important with a standard Docusaurus admonition type.
The admonition type :::important is not a standard Docusaurus built-in type and is not registered as a custom type in this repository's configuration. Standard types are note, tip, info, warning, and danger. Replace :::important with :::warning or :::caution (if available).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/external-integrations/MCPServer.mdx` around lines 32 - 34, The file uses
a non-standard Docusaurus admonition marker `:::important`; replace that marker
with a standard type (e.g., `:::warning` or `:::caution` if available) so the
admonition renders correctly—locate the `:::important` block in MCPServer.mdx
and change the opening marker to a supported admonition type while keeping the
closing `:::` unchanged.
| **Via curl (MCP protocol test):** | ||
| ```bash | ||
| # Test MCP endpoint with JSON-RPC request | ||
| curl -X POST http://your-mcp-server-host:port/mcp \ | ||
| -H "Content-Type: application/json" \ | ||
| -H "Authorization: Bearer your-api-token" \ | ||
| -H "X-Project: YourProject" \ | ||
| -d '{ | ||
| "jsonrpc": "2.0", | ||
| "method": "tools/list", | ||
| "id": 1 | ||
| }' | ||
| ``` |
There was a problem hiding this comment.
Two minor inconsistencies in the curl verification example.
-
Trailing slash: The remote connection configs (lines 145 and 196) use
/mcp/(with trailing slash), but the curl test uses/mcp(without). Align them so readers aren't confused about the canonical endpoint path. -
Placeholder name: This block uses
"Bearer your-api-token"while every other remote example uses"Bearer your-report-portal-api-token". Using a consistent placeholder reduces copy-paste errors.
✏️ Proposed fix
curl -X POST http://your-mcp-server-host:port/mcp \
-H "Content-Type: application/json" \
- -H "Authorization: Bearer your-api-token" \
+ -H "Authorization: Bearer your-report-portal-api-token" \📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| **Via curl (MCP protocol test):** | |
| ```bash | |
| # Test MCP endpoint with JSON-RPC request | |
| curl -X POST http://your-mcp-server-host:port/mcp \ | |
| -H "Content-Type: application/json" \ | |
| -H "Authorization: Bearer your-api-token" \ | |
| -H "X-Project: YourProject" \ | |
| -d '{ | |
| "jsonrpc": "2.0", | |
| "method": "tools/list", | |
| "id": 1 | |
| }' | |
| ``` | |
| **Via curl (MCP protocol test):** |
🧰 Tools
🪛 Gitleaks (8.30.0)
[high] 317-322: Discovered a potential authorization token provided in a curl command header, which could compromise the curl accessed resource.
(curl-auth-header)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/external-integrations/MCPServer.mdx` around lines 317 - 329, Update the
curl verification example to match the canonical remote connection configs by
changing the request path from "/mcp" to "/mcp/" and make the Authorization
header placeholder consistent by using "Bearer your-report-portal-api-token"
instead of "Bearer your-api-token"; locate and edit the curl test block (the
code fence with curl POST to the MCP endpoint) to apply these two substitutions
so it aligns with the other remote examples.
| **Expected Results:** | ||
| - Server responds to health checks | ||
| - `/info` returns server configuration | ||
| - MCP endpoint returns list of available tools | ||
| - No connection refused or timeout errors |
There was a problem hiding this comment.
/info endpoint is referenced but not demonstrated.
Line 334 states "/info returns server configuration" as an expected result, but neither the browser check (line 308) nor the curl example targets that path. Readers won't know to navigate to http://your-mcp-server-host:port/info unless it's made explicit.
Consider adding a browser URL example or a separate curl command for the /info endpoint, or remove the reference if it's not a guaranteed endpoint.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/external-integrations/MCPServer.mdx` around lines 331 - 335, The docs
list "/info returns server configuration" but never demonstrates it; add an
explicit example (either a browser URL like
http://your-mcp-server-host:port/info and a short sentence saying to open it in
a browser, or a curl command such as curl -i
http://your-mcp-server-host:port/info) in the same verification section that has
the browser check/curl example so readers can validate the /info endpoint, or if
/info is not guaranteed, remove the "/info" bullet from the Expected Results.
Co-authored-by: Yuliya_Prihodko <Yuliya_Prihodko@epam.com>
Co-authored-by: Yuliya_Prihodko <Yuliya_Prihodko@epam.com> bae5faa
Summary by CodeRabbit