mcpField
M
ModelContextProtocolClient

ModelContextProtocolClient

Local
github.com/InnoBridgeDeveloper Tools2Updated 87w ago

About ModelContextProtocolClient

A Spring Boot client application for MCP development, demonstrating communication with MCP servers over WebFlux SSE and stdio. It also exposes endpoints for calculator, weather, and Brave Search operations.

Key features

  1. 01WebFlux SSE server connection
  2. 02Stdio server connection
  3. 03HTTP endpoints for calculator and weather
  4. 04Brave Search API access

Use cases

  1. 01Compare SSE and stdio transport approaches
  2. 02Call calculator and weather tools through endpoints
  3. 03Run Brave Search through the application

MCP support

Acts as an MCP client and demonstrates connecting to servers through WebFlux SSE and stdio. Its endpoints expose operations provided through those transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ModelContextProtocolClient": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
Run commanddocker run -i --rm compose

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocicompose

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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
  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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.