Skip to content

sample: Add a sample using a group of MCP clients.#486

Closed
amirh wants to merge 1 commit into
modelcontextprotocol:mainfrom
amirh:session_group_1_sample
Closed

sample: Add a sample using a group of MCP clients.#486
amirh wants to merge 1 commit into
modelcontextprotocol:mainfrom
amirh:session_group_1_sample

Conversation

@amirh
Copy link
Copy Markdown

@amirh amirh commented May 13, 2025

Motivation and Context

This stack of changes makes it easier to work with multiple MCP servers from a single client.
This has also been requested in #6

To make the review easier with smaller focused PRs I'm sending a stack or PRs with incremental implementation steps.

This first PR is not adding any functionality but is just adding a sample application that is using tools from multiple MCP servers.

The purpose of starting with this app is to demonstrate the problem (== the inconvenience).

As we build this new feature we should see the sample app's code getting simpler.

PR Stack

Note that since I'm sending the PRs from a fork, only the PR at the bottom of the stack is sent to modelcontextprotocol/typescript-sdk. As PRs land I'll update the target repository for the new base PR.

How Has This Been Tested?

I ran: npm run build && node dist/esm/examples/client/clientGroupSample.js

Breaking Changes

No breaking changes.

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
  • Example addition

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

This is introduced as the first step of adding dedicated functionality for managing client groups.

It demonstrate what the UX is like right now, and will evolve and hopefully get simpler as we introduce dedicated client group functionality.
@felixweinberger
Copy link
Copy Markdown
Contributor

Hi @amirh thanks for putting this together. Closing for inactivity. The Host/ClientGroup abstraction is still tracked in #6 and we've linked this PR there as a good demonstration of the pain point. Feel free to reopen or send a fresh PR against the v2 structure if you want to pick this back up.

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