J

ModelContextProtocolClient

Created Oct 19, 2025 by InnoBridge

Language:

Java

Stars:

1

Forks:

2

README

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
  2. Clone https://github.com/InnoBridge/ModelContextProtocolServer

  3. 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
    2. 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
    3. 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
Last updated: Oct 19, 2025

Publisher info

InnoBridge's avatar

InnoBridge

0
followers
0
following
19
repos

More MCP servers built with Java

Apache Kafka

Mirror of Apache Kafka

By apache 31.8K
Apache Flink

Apache Flink

By apache 25.7K
RocketMQ

Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.

By apache 22.3K