Improve all readmes - #188
Conversation
There was a problem hiding this comment.
Pull request overview
Expands repository documentation to improve setup and usage guidance across all MCP examples.
Changes:
- Adds prerequisites and run instructions for every server and client.
- Documents repository structure, testing, contribution, and security guidance.
- Clarifies credential-free client behavior.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
README.md |
Expands repository-wide guidance. |
weather-server-typescript/README.md |
Adds TypeScript server setup. |
weather-server-rust/README.md |
Adds Rust server setup. |
weather-server-ruby/README.md |
Adds Ruby server setup. |
weather-server-python/README.md |
Adds Python server setup. |
weather-server-go/README.md |
Adds Go server setup. |
mcp-client-typescript/README.md |
Adds TypeScript client usage. |
mcp-client-rust/README.md |
Adds Rust client usage. |
mcp-client-ruby/README.md |
Adds Ruby client usage. |
mcp-client-python/README.md |
Adds Python client usage. |
mcp-client-go/README.md |
Adds Go client usage. |
Suppressed comments (1)
README.md:36
- Both Go modules declare
go 1.25.1, which is an enforced minimum toolchain version; Go 1.25.0 therefore does not satisfy the repository-wide prerequisite as written. Document the patch-level minimum to prevent setup failures.
- **Go** 1.25+
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated no new comments.
Suppressed comments (2)
Previously missed (2) — in code that hasn't changed since the last review.
README.md:6
- “Any stdio server” overstates these clients' compatibility. The TypeScript and Python clients reject anything except
.js/.py, and the Ruby client only adds.rb, so those clients cannot launch this repository's Go or Rust server binaries. Narrow the summary to supported servers; the launch-form caveat below can then provide the details.
- [Build an MCP client](https://modelcontextprotocol.io/docs/develop/build-client) – an LLM-powered chatbot MCP client that connects to any stdio server and lets Claude call its tools
mcp-client-rust/README.md:22
- A script path is not generally launchable here: the client passes the first argument directly to
Command::newand does not choose an interpreter. The repository's Python and Ruby server scripts therefore needuv ...,python3 ..., orruby ...rather than just their path. Describe the accepted command form so cross-language examples do not fail to spawn.
Pass the command that starts the server — a binary or a script — after `--`:
|
@olaservo would be fantastic if you review this PR |
olaservo
left a comment
There was a problem hiding this comment.
Checked the concrete claims against the code on main and they hold up: the no-API-key path (connect, list tools, exit) is real in all five clients, cp .env.example .env appears only in the four client dirs that actually have a .env.example, the hyphen/underscore split in the TypeScript tool names is stated correctly, and the version floors match CI and the manifests.
A few nits, none blocking — happy to take them as a follow-up:
- The Rust READMEs say "Rust (stable)"; both
Cargo.tomls areedition = "2024", so the floor is 1.85+. - "Ruby 3.4+ (3.3 also satisfies the gems)" — neither Gemfile constrains the Ruby version, so nothing in the repo backs the parenthetical. CI runs 3.4.
- The new Contributing section paraphrases the org-level CONTRIBUTING.md rather than linking it. Fine to keep, but the wording should track the source.
- Root README says "All clients accept a path to a server to launch" — the Go and Rust clients take a command plus args. The individual client READMEs get this right.
Thanks for doing this, the per-example prerequisites and the cross-language table are a real improvement.
Motivation and Context
Current readmes were lacking a lot of valuable details. This PR aims to improve that and provide better developer experience for anyone who is trying these examples.
How Has This Been Tested?
Locally
Breaking Changes
No
Types of changes
Checklist
Additional context
I wrote this content partially myself, partially with Claude Code, which also assited me in reviewing these updates.