<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SHIVAM KUMAR ROYY</title>
    <description>The latest articles on DEV Community by SHIVAM KUMAR ROYY (@shivam_kumarroyy_70dedb7).</description>
    <link>https://dev.to/shivam_kumarroyy_70dedb7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3313011%2Fa76d7761-4f60-45ca-bccd-69a705e578e5.jpg</url>
      <title>DEV Community: SHIVAM KUMAR ROYY</title>
      <link>https://dev.to/shivam_kumarroyy_70dedb7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivam_kumarroyy_70dedb7"/>
    <language>en</language>
    <item>
      <title>🚀 Building a Multi-MCP Client with Claude &amp; Anthropic SDK</title>
      <dc:creator>SHIVAM KUMAR ROYY</dc:creator>
      <pubDate>Tue, 01 Jul 2025 17:17:26 +0000</pubDate>
      <link>https://dev.to/shivam_kumarroyy_70dedb7/building-a-multi-mcp-client-with-claude-anthropic-sdk-2di2</link>
      <guid>https://dev.to/shivam_kumarroyy_70dedb7/building-a-multi-mcp-client-with-claude-anthropic-sdk-2di2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff80ambi0h41jptsjqvls.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff80ambi0h41jptsjqvls.png" alt="Image description" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi devs! 👋&lt;/p&gt;

&lt;p&gt;I’m excited to share my latest project: a Multi-MCP (Model Context Protocol) Client that connects to multiple MCP servers and leverages Anthropic’s Claude via the official SDK. This project demonstrates how to orchestrate tool use across several AI backends, all from a single, modern React interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Overview 📝&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is the Multi-MCP Client?&lt;/strong&gt;&lt;br&gt;
The Multi-MCP Client is a React-based frontend that allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect to multiple MCP servers (add, remove, and manage them dynamically)&lt;/li&gt;
&lt;li&gt;Discover and use tools from all connected servers&lt;/li&gt;
&lt;li&gt;Send prompts to Claude (via Anthropic SDK or direct API)&lt;/li&gt;
&lt;li&gt;Let Claude decide which tool (from which server) to use for each user query&lt;/li&gt;
&lt;li&gt;View results and tool usage in a chat-like interface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How Does It Work?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server Management: You can add any number of MCP servers. The client
auto-connects and fetches available tools from each.&lt;/li&gt;
&lt;li&gt;Unified Tool List: All tools from all servers are merged and presented 
to Claude as available functions.&lt;/li&gt;
&lt;li&gt;Claude Integration: User prompts and chat history are sent to Claude, 
along with the full tool list. Claude can call any tool, and the 
client routes the call to the correct server.&lt;/li&gt;
&lt;li&gt;Result Handling: Tool results are returned to Claude, and the final 
response is displayed in the chat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech Stack&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, Vite, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP SDK:&lt;/strong&gt; @modelcontextprotocol/sdk&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM:&lt;/strong&gt;Anthropic Claude (via SDK or direct API)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Dynamic server management, tool discovery, multi-
            server orchestration, chat UI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setup ⚙️
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🧑‍💻 Clone the repository:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://github.com/shivamkr09/multi-mcp-client-claude.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;📦 Install dependencies:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;code&gt;src/components/MCPClient.tsx&lt;/code&gt; and change the intial MCP Server url ,id and name of your choice.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigate to:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:5173/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Enter the Claude API Key from anthropic console&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next,its all done.Enjoy.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please hit a reaction 💖, if this helped you or you learned something from this and share with others.&lt;br&gt;
Thank you 😊!&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>typescript</category>
      <category>react</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
