# Spring Ai Mcp Server Client

> Spring AI MCP Server and Client

- **Type:** MCP server
- **Install:** `agentstack add mcp-stylepatrick-spring-ai-mcp-server-client`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [stylepatrick](https://agentstack.voostack.com/s/stylepatrick)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [stylepatrick](https://github.com/stylepatrick)
- **Source:** https://github.com/stylepatrick/spring-ai-mcp-server-client

## Install

```sh
agentstack add mcp-stylepatrick-spring-ai-mcp-server-client
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Spring AI MCP Server and Client

A demonstration project showcasing the integration of Spring AI's Model Completion Provider (MCP) protocol for building AI-powered applications. This project consists of a server component that provides AI model completion services with function-calling capabilities, and a client component that consumes these services.

## Overview

This project demonstrates how to use Spring AI's MCP protocol to create a server that exposes AI model completion services and a client that consumes these services. The server component provides mathematical tools (sum and multiply) that can be called by AI models, while the client component exposes a REST endpoint for users to submit questions.

## Features

- **MCP Server**: Provides AI model completion services with function-calling capabilities
- **MCP Client**: Consumes AI model completion services from the server
- **Tool Integration**: Demonstrates how to expose Java methods as callable tools for AI models
- **REST API**: Exposes a REST endpoint for users to submit questions
- **Server-Sent Events (SSE)**: Uses SSE for communication between server and client

## Prerequisites

- Java 17 or higher
- Maven 3.6 or higher
- OpenAI API key (for the client component)

## Installation and Setup

1. Clone the repository:
   ```bash
   git clone https://github.com/stylepatrick/spring-ai-mcp-server-client.git
   cd spring-ai-mcp-server-client
   ```

2. Build the server component:
   ```bash
   cd mcp-server
   mvn clean install
   ```

3. Build the client component:
   ```bash
   cd ../mcp-client
   mvn clean install
   ```

4. Update the OpenAI API key in `mcp-client/src/main/resources/application.yml` with your own API key.

## Usage

1. Start the server component:
   ```bash
   cd mcp-server
   mvn spring-boot:run
   ```

2. Start the client component:
   ```bash
   cd mcp-client
   mvn spring-boot:run
   ```

3. Send a question to the client component:
   ```bash
   curl -X POST "http://localhost:8081/question?question=What%20is%202%20plus%203?"
   ```

## Configuration

### Server Configuration

The server component is configured in `mcp-server/src/main/resources/application.yaml`:

```yaml
spring:
  application:
    name: mcp-server
  ai:
    mcp:
      server:
        sse-endpoint: /api/v1/sse
        sse-message-endpoint: /api/v1/mcp
        type: sync

logging:
  level:
    io.modelcontextprotocol: TRACE
    org.springframework.ai.mcp: TRACE
```

### Client Configuration

The client component is configured in `mcp-client/src/main/resources/application.yml`:

```yaml
spring:
  application:
    name: mcp-client
  ai:
    openai:
      api-key: your-api-key
    mcp:
      client:
        toolcallback:
          enabled: true
        sse:
          connections:
            server1:
              url: http://localhost:8080
              sse-endpoint: /api/v1/sse

server:
  port: 8081
```

## Project Structure

- **mcp-server**: Server component that provides AI model completion services
  - `McpServerApplication.java`: Main application class
  - `tools/MathTools.java`: Mathematical tools that can be called by AI models
  - `tools/ToolConfig.java`: Configuration for tool callback provider

- **mcp-client**: Client component that consumes AI model completion services
  - `McpClientApplication.java`: Main application class
  - `resource/MyController.java`: REST controller for handling user questions
  - `service/MyService.java`: Service for processing questions using ChatClient

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

```
Copyright (c) 2025 stylepatrick
```

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [stylepatrick](https://github.com/stylepatrick)
- **Source:** [stylepatrick/spring-ai-mcp-server-client](https://github.com/stylepatrick/spring-ai-mcp-server-client)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-stylepatrick-spring-ai-mcp-server-client
- Seller: https://agentstack.voostack.com/s/stylepatrick
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
