MCP ExplorerExplorer

Modelcontextprotocolclient

@InnoBridgeon a year ago
2 MIT
FreeCommunity
AI Systems
Host with MCP client to call MCP servers for MCP development

Overview

What is Modelcontextprotocolclient

ModelContextProtocolClient is a Spring Boot client application designed to interact with MCP servers for MCP development, showcasing various transport methods such as WebFlux SSE and Stdio.

Use cases

Use cases include performing calculations via a calculator tool, retrieving weather information for specific locations, and executing web searches using the BraveSearch API.

How to use

To use ModelContextProtocolClient, set up a .env file with your API keys, clone the ModelContextProtocolServer repository, configure Docker settings in docker-compose.yml, and then start the Docker containers to run both the MCP server and client applications.

Key features

Key features include support for multiple transport methods (WebFlux SSE, Stdio, and BraveSearch), easy API integration for weather and search functionalities, and a straightforward setup process using Docker.

Where to use

ModelContextProtocolClient can be used in various fields such as web application development, data retrieval from APIs, and real-time communication systems that require interaction with MCP servers.

Content

ModelContextProtocolClient

A Spring Boot client application that demonstrates different transport methods (WebFlux SSE, Stdio) for communicating with the MCP server.

Setup

  1. Create a .env file in the root directory with your API keys:
BRAVE_SEARCH_API_KEY=your_brave_search_api_key_here
WEATHER_API_KEY=your_weather_api_key_here
  1. Clone https://github.com/InnoBridge/ModelContextProtocolServer

  2. Docker Setup

    1. Update volume mappings in docker-compose.yml:
     modelcontextprotocolclient_application
     ...
    volumes:
      - .:/app
      - /var/run/docker.sock:/var/run/docker.sock
      - ./local/root:/root
      - ../{path to ModelContextProtocolServer repo}:/ModelContextProtocolServer
    
    1. Start the Docker containers:
    sudo docker compose up
    
    1. Build and run the mcp server:
    # In a new terminal
    sudo docker exec -it modelcontextprotocolserver-application sh
    cd /app
    ./mvnw clean install
    ./mvnw spring-boot:run
    
    1. Build and run the client:
    # In another new terminal
    docker exec -it modelcontextprotocolclient-application sh
    ./mvnw spring-boot:run
    

Available Endpoints

WebFlux Transport

  • GET /webflux/tools - List all available tools
  • POST /webflux/calculate - Calculate using the calculator tool
    curl -X POST "http://localhost:8080/webflux/calculate?operation=add&a=5&b=3"
    
  • POST /webflux/weather - Get weather information
    curl -X POST "http://localhost:8080/webflux/weather?location=San%20Francisco&format=celsius"
    

Stdio Transport

  • GET /stdio/tools - List all available tools
  • POST /stdio/calculate - Calculate using the calculator tool
    curl -X POST "http://localhost:8080/stdio/calculate?operation=add&a=5&b=3"
    
  • POST /stdio/weather - Get weather information
    curl -X POST "http://localhost:8080/stdio/weather?location=San%20Francisco&format=celsius"
    

BraveSearch Transport

  • GET /tools/bravesearch - List available tools
  • POST /bravesearch - Perform a web search
    curl -X POST "http://localhost:8080/bravesearch?query=spring%20boot"
    

Configuration

The application supports multiple transport configurations:

  1. WebFlux SSE Transport (default)

    • Communicates with the server using Server-Sent Events
    • Server must be running in WebFlux mode
  2. Stdio Transport

    • Communicates with the server using standard input/output
    • Automatically launches the server jar in stdio mode
  3. BraveSearch Transport

    • Communicates with the BraveSearch API
    • Requires BRAVE_SEARCH_API_KEY in .env file
    • Get your API key from Brave Search API
  4. Weather API

    • Used by both WebFlux and Stdio transports for weather information
    • Requires WEATHER_API_KEY in .env file
    • Get your API key from WeatherAPI

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers