J

ModelContextProtocolClient

...
Created 2/25/2025byInnoBridge

Language:

Java

Stars:

1

Forks:

2

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
Last updated: 2/28/2025

Publisher info

InnoBridge's avatar

InnoBridge

0
followers
0
following
19
repos

More MCP servers built with Java

MCP Orlen Wholesale Price

Model Context Protocol Servers for Orlen Wholesale Price.

By drnow4u
ExotelMCP

Exotel’s MCP Server empowers Agentic AI to make calls, send messages, and automate customer outreach without telephony complexity.

By exotel
keycloak-mcp-server

Keycloak identity and access management

By sshaaf