Skip to content

Improve all readmes - #188

Merged
olaservo merged 2 commits into
modelcontextprotocol:mainfrom
a-akimov:docs/readme
Aug 28, 2026
Merged

Improve all readmes#188
olaservo merged 2 commits into
modelcontextprotocol:mainfrom
a-akimov:docs/readme

Conversation

@a-akimov

Copy link
Copy Markdown
Contributor

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

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

I wrote this content partially myself, partially with Claude Code, which also assited me in reviewing these updates.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread weather-server-go/README.md
Comment thread mcp-client-go/README.md

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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::new and does not choose an interpreter. The repository's Python and Ruby server scripts therefore need uv ..., python3 ..., or ruby ... 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 `--`:

@a-akimov

Copy link
Copy Markdown
Contributor Author

@olaservo would be fantastic if you review this PR

@olaservo olaservo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 are edition = "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.

@olaservo
olaservo merged commit 9395583 into modelcontextprotocol:main Aug 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants