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

Apache Druid MCP Server

A enterprise grade java implementation for the time series database Apache Druid

By iunera GmbH and Co. KG
MCP Orlen Wholesale Price

Model Context Protocol Servers for Orlen Wholesale Price.

By drnow4u
mcp-server-jina-java

对接jina reader api的mcp服务器

By GARCHENG4