Skip to content

Conversation

@GabrielDrapor
Copy link
Contributor

@GabrielDrapor GabrielDrapor commented Sep 4, 2025

PR Type

Documentation


Description

  • Added comprehensive example usage section with two detailed use cases

  • Included step-by-step instructions for HTTP server exposure

  • Added profile management workflow examples

  • Enhanced documentation with practical command examples


Diagram Walkthrough

flowchart LR
  A["Local stdio server"] --> B["Add to MCPM"]
  B --> C["Serve over HTTP"]
  C --> D["Optional network exposure"]
  E["Multiple servers"] --> F["Create profile"]
  F --> G["Run combined profile"]
Loading

File Walkthrough

Relevant files
Documentation
README.md
Comprehensive example usage documentation expansion           

README.md

  • Added two detailed use cases with step-by-step instructions
  • Included HTTP server exposure and profile management workflows
  • Enhanced existing example usage section with more comprehensive
    examples
  • Added minor formatting fix (newline at end of file)
+69/-1   

Summary by CodeRabbit

  • Documentation

    • Added two step-by-step example sections: (1) exposing a local stdio server over HTTP with add/run/URL/optional port guidance; (2) combining multiple servers into a profile with interactive create/edit, listing, and running via stdio or HTTP with optional host/port.
    • Included these examples in both the main README’s example area and the LLM guide.
  • Style

    • Minor formatting fix: added a trailing newline after the Star History image.

@coderabbitai
Copy link

coderabbitai bot commented Sep 4, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

The README.md was updated to include two detailed example usage sections for MCPM—one for exposing a local stdio server over HTTP and another for creating and running a multi-server profile. The examples appear in two locations within the README. A trailing newline was added at the end.

Changes

Cohort / File(s) Summary
Documentation examples
README.md
Added two “Example Usage” blocks: (1) exposing a local stdio server over HTTP with optional --port; (2) creating a profile combining stdio and remote HTTP/SSE servers, listing, and running profiles via stdio/HTTP with host/port options. Content duplicated under the llm.txt guide section. Added trailing newline to Star History line.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

I thump my paws with README delight,
Two fresh examples hop into sight—
Stdio to HTTP, profiles in tune,
Ports and hosts dancing under the moon.
A newline tail flicks—just right!
Now onward I bound, docs crisp and bright. 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 0402d77 and ebe2ef8.

📒 Files selected for processing (1)
  • README.md (2 hunks)
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch Jiarui/docs

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Sep 4, 2025

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

CLI Accuracy

Validate that the documented flags and commands (e.g., --http, --host, --port, profile subcommands, remote --url) precisely match current CLI behavior and defaults, including output format of printed URLs.

#### Use case 1: expose a local stdio server over HTTP

1) Add the server to MCPM
```bash
mcpm new [MY_SERVER_NAME] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..."

(Add --force arg to bypass the confirmation interaction)
Verify it appears in your installed servers:

mcpm ls

You should see [MY_SERVER_NAME] in the list.

  1. Serve it over HTTP
mcpm run [MY_SERVER_NAME] --http

MCPM prints the server URL, for example:

URL: http://127.0.0.1:6276/mcp/
  1. Expose it on your network (optional)
mcpm run [MY_SERVER_NAME] --http --host 0.0.0.0

Tip: add --port <PORT> to choose a different port.

Use case 2: combine multiple servers and serve them as one profile

  1. Add the servers to MCPM
# Stdio server
mcpm new [SERVER_A] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..." --force

# Remote HTTP/SSE server
mcpm new [SERVER_B] --type remote --url "http://SERVER_ADDR/mcp/" --force
  1. Create a profile and add the servers
    Interactive:
mcpm profile create [PROFILE_NAME]
mcpm profile edit [PROFILE_NAME]

MCPM would list out all installed servers, you can use arrows to navigate, space to select/deselect, type to search, and Enter to confirm.

Verify:

mcpm profile ls

You should see your profile with the selected servers.

  1. Run the profile
# Stdio
mcpm profile run [PROFILE_NAME]

# HTTP
mcpm profile run [PROFILE_NAME] --http

# Optional: host and port
mcpm profile run [PROFILE_NAME] --http --host 0.0.0.0 --port 8080

</details>

<details><summary><a href='https://github.com/pathintegral-institute/mcpm.sh/pull/254/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R177-R241'><strong>Consistency</strong></a>

Ensure placeholder notation and quoting style are consistent (e.g., [MY_SERVER_NAME] vs [SERVER_A], quoting of COMMAND/args, and http vs HTTP/SSE wording) to avoid user confusion.
</summary>

```markdown
#### Use case 1: expose a local stdio server over HTTP

1) Add the server to MCPM
```bash
mcpm new [MY_SERVER_NAME] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..."

(Add --force arg to bypass the confirmation interaction)
Verify it appears in your installed servers:

mcpm ls

You should see [MY_SERVER_NAME] in the list.

  1. Serve it over HTTP
mcpm run [MY_SERVER_NAME] --http

MCPM prints the server URL, for example:

URL: http://127.0.0.1:6276/mcp/
  1. Expose it on your network (optional)
mcpm run [MY_SERVER_NAME] --http --host 0.0.0.0

Tip: add --port <PORT> to choose a different port.

Use case 2: combine multiple servers and serve them as one profile

  1. Add the servers to MCPM
# Stdio server
mcpm new [SERVER_A] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..." --force

# Remote HTTP/SSE server
mcpm new [SERVER_B] --type remote --url "http://SERVER_ADDR/mcp/" --force
  1. Create a profile and add the servers
    Interactive:
mcpm profile create [PROFILE_NAME]
mcpm profile edit [PROFILE_NAME]

MCPM would list out all installed servers, you can use arrows to navigate, space to select/deselect, type to search, and Enter to confirm.

Verify:

mcpm profile ls

You should see your profile with the selected servers.

  1. Run the profile
# Stdio
mcpm profile run [PROFILE_NAME]

# HTTP
mcpm profile run [PROFILE_NAME] --http

# Optional: host and port
mcpm profile run [PROFILE_NAME] --http --host 0.0.0.0 --port 8080

</details>

</td></tr>
</table>

@GabrielDrapor GabrielDrapor merged commit c253edf into main Sep 4, 2025
8 of 9 checks passed
@GabrielDrapor GabrielDrapor deleted the Jiarui/docs branch September 4, 2025 10:29
@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Sep 4, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Security
Warn about public binding risks

Add a clear security caution when binding to 0.0.0.0, as it exposes the service
to your entire network. Recommend keeping the default loopback host for local
use or ensuring proper firewall rules when exposing publicly.

README.md [200-203]

 ```bash
 mcpm run [MY_SERVER_NAME] --http --host 0.0.0.0

+Caution: Binding to 0.0.0.0 exposes the server on your network. Ensure a firewall restricts access or use --host 127.0.0.1 for local-only access.
Tip: add --port <PORT> to choose a different port.



- [ ] **Apply / Chat** <!-- /improve --apply_suggestion=0 -->


<details><summary>Suggestion importance[1-10]: 7</summary>

__

Why: The suggestion adds a crucial security warning about exposing a service to the network when using `--host 0.0.0.0`, which is an important consideration for users.


</details></details></td><td align=center>Medium

</td></tr><tr><td>



<details><summary>Prefer HTTPS for remote URLs</summary>

___

**Prefer HTTPS when configuring remote servers to prevent eavesdropping or token <br>leakage over plaintext HTTP. Update the example to use <code>https://</code> and clarify the <br>recommendation.**

[README.md [213-214]](https://github.com/pathintegral-institute/mcpm.sh/pull/254/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R213-R214)

```diff
-# Remote HTTP/SSE server
-mcpm new [SERVER_B] --type remote --url "http://SERVER_ADDR/mcp/" --force
+# Remote HTTPS/SSE server (prefer HTTPS)
+mcpm new [SERVER_B] --type remote --url "https://SERVER_ADDR/mcp/" --force
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly recommends using https instead of http in the example for remote servers, promoting a critical security best practice.

Medium
  • More

@mcpm-semantic-release
Copy link

🎉 This PR is included in version 2.7.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants