anthropic-mcp-client

This project is a chatbot service that provides ferry information and booking assistance for the Scottish Inner Hebrides region. Built using Spring Boot, it includes configurations for integrating AI functionalities. Knowledge of Java and Maven or Gradle is required.

GitHub Stars

0

User Rating

Not Rated

Favorites

0

Views

33

Forks

0

Issues

0

README
Scottish Inner Hebrides Ferries Chatbot

A Spring Boot-based chatbot service that provides ferry information and booking assistance for the Scottish Inner Hebrides region.

Prerequisites
Required Software
  • Java Development Kit (JDK) 24 or later
  • Maven 3.9+ or Gradle 8.5+
  • Spring Boot 3.2+
  • Spring AI dependencies
  • An IDE (IntelliJ IDEA recommended)
Environment Setup
  1. Java Installation

    • Download and install JDK 24 from Oracle or use OpenJDK
    • Set JAVA_HOME environment variable
    • Add Java to your system PATH
  2. Build Tool

    • Install Maven or Gradle
    • Add to system PATH
    • Verify installation:
      mvn -version
      # or
      gradle -version
      
  3. IDE Setup

    • Install IntelliJ IDEA (Community or Ultimate Edition)
    • Install the following plugins:
      • Spring Boot
      • Java
      • Maven/Gradle
  4. Spring AI Configuration

    • Ensure you have the necessary Spring AI dependencies in your pom.xml or build.gradle
    • Configure your AI provider credentials in application.properties or application.yml
  5. Storage Requirements

    • Create a directory called bookings in the root of this folder
    • Ensure write permissions for the bookings directory (for storing booking information)
API Keys
  1. ANTHROPIC_API_KEY - https://docs.anthropic.com/en/api/admin-api/apikeys/get-api-key
  2. BRAVE_API_KEY - https://brave.com/search/api/

Pass the api keys as environment variables into the application

Overview

This service implements a customer support chatbot specifically designed to assist users with:

  • Ferry route information in the Scottish Inner Hebrides
  • Weather updates for destinations
  • Local activities and destination information
  • Ferry booking assistance
Features
  • Real-time chat support
  • Destination information
  • Weather updates
  • Ferry booking system with validation for:
    • Passenger capacity
    • Vehicle restrictions
    • Route availability
    • Booking information collection
Technical Stack
  • Java
  • Spring Boot
  • Spring AI ChatClient
  • RESTful API
Booking Requirements

To make a booking, the following information is required:

  • First name
  • Last name
  • Email
  • Phone number
  • Number of passengers
  • Number of cars (if applicable)
  • Travel date
  • Origin port
  • Destination port
Service Limitations

The chatbot is specifically designed to handle:

  • Scottish Inner Hebrides ferry-related queries only
  • Ferry transport information
  • Destination information within the Scottish Inner Hebrides
  • Current weather information for supported destinations

Queries outside these scope will receive a standardized response indicating the service limitations.

Error Handling

The service includes validation for common booking scenarios:

  • Invalid routes
  • Car restrictions on specific routes
  • Passenger capacity limits
  • Vehicle capacity limits
Getting Started
  1. Clone the repository:

    git clone [repository-url]
    
  2. Navigate to the project directory:

    cd scottish-inner-hebrides-ferries
    
  3. Configure application properties:

    • Create application.properties or application.yml in src/main/resources
    • Add necessary configurations for Spring AI and other services
  4. Build the project:

    mvn clean install
    # or
    gradle build
    
  5. Run the application:

    mvn spring-boot:run
    # or
    gradle bootRun