Built using Spring Boot framework to provide MCP server implementation with WebSocket support and REST API endpoints for insurance campaign management
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Insurance Campaign MCP Serverrecommend audience targeting for young professionals interested in auto insurance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Campaign Server
A Spring Boot MCP (Model Context Protocol) server that provides insurance marketing campaign management capabilities for Claude AI integration.
Features
Audience Targeting: AI-powered recommendations for insurance marketing audience segmentation
Campaign Content: Personalized content recommendations for different insurance products and channels
Claude Inspector Integration: Support for Claude Inspector tool queries
MCP Protocol: Full MCP server implementation with WebSocket support
REST API: Additional HTTP endpoints for direct integration
Quick Start
Prerequisites
Java 17 or higher
Maven 3.6 or higher
Installation
Clone the repository:
git clone <repository-url>
cd Mcp_CampaignBuild the project:
# If you have corporate Maven repository issues, use the startup script
./start.sh
# Or manually with custom settings
mvn clean compile --settings temp-settings.xmlRun the application:
mvn spring-boot:runThe server will start on port 8080 with WebSocket endpoint at ws://localhost:8080/api/mcp
Corporate Repository Issues
If you encounter corporate Maven repository connectivity issues, create a temporary settings file:
# Create temp-settings.xml with Maven Central only
cat > temp-settings.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>central</id>
<name>Maven Central</name>
<url>https://repo1.maven.org/maven2</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
</settings>
EOF
# Then build with custom settings
mvn clean compile --settings temp-settings.xmlMCP Tools
The server provides the following MCP tools for Claude integration:
1. audience_targeting
Provides audience targeting criteria recommendations based on user requirements.
Input Parameters:
requirements(required): User requirements for audience targetinginsurance_type(optional): Type of insurance (life, health, auto, property, etc.)campaign_objective(optional): Campaign objective (acquisition, retention, upselling, etc.)
Example Usage:
{
"name": "audience_targeting",
"arguments": {
"requirements": "Target young professionals aged 25-35 who are interested in life insurance",
"insurance_type": "life_insurance",
"campaign_objective": "acquisition"
}
}2. campaign_content_recommendation
Recommends personalized campaign content for insurance marketing.
Input Parameters:
audience_criteria(required): Target audience criteria objectinsurance_type(required): Type of insurance productchannel(optional): Marketing channel (email, sms, social_media, etc.)campaign_goal(optional): Campaign goal (awareness, conversion, retention, etc.)
Example Usage:
{
"name": "campaign_content_recommendation",
"arguments": {
"audience_criteria": {
"minAge": 25,
"maxAge": 35,
"incomeRange": ["middle_income", "high_income"]
},
"insurance_type": "life_insurance",
"channel": "email",
"campaign_goal": "conversion"
}
}3. inspector_query
Executes queries for Claude Inspector tool integration.
Input Parameters:
query(required): Query for Claude Inspector tool
Example Usage:
{
"name": "inspector_query",
"arguments": {
"query": "Analyze the effectiveness of recent insurance marketing campaigns"
}
}REST API Endpoints
Health Check
GET /api/campaigns/healthList Available Tools
GET /api/campaigns/toolsAudience Recommendation
POST /api/campaigns/audience/recommend
Content-Type: application/json
{
"requirements": "Target young professionals for life insurance",
"insurance_type": "life_insurance",
"campaign_objective": "acquisition"
}Content Recommendation
POST /api/campaigns/content/recommend
Content-Type: application/json
{
"audience_criteria": {
"minAge": 25,
"maxAge": 35,
"incomeRange": ["middle_income"]
},
"insurance_type": "life_insurance",
"channel": "email",
"campaign_goal": "conversion"
}AI Integration
Cline (VS Code) Integration
快速设置:
./setup_cline.sh手动配置:
在
~/.cline/config.json中添加配置:
{
"mcpServers": {
"insurance-campaign": {
"command": "java",
"args": ["-jar", "/path/to/mcp-campaign-server-1.0.0.jar"],
"env": {"SERVER_PORT": "8080"}
}
}
}重启VS Code
在Cline中开始对话并使用工具
使用示例:
请帮我分析一下针对年轻专业人士的人寿保险营销活动的人群定位策略Claude Desktop Integration
Add the MCP server configuration to your Claude Desktop settings:
{
"mcpServers": {
"insurance-campaign": {
"command": "java",
"args": ["-jar", "path/to/mcp-campaign-server.jar"],
"env": {
"SERVER_PORT": "8080"
}
}
}
}WebSocket Connection
Connect to the MCP server via WebSocket at:
ws://localhost:8080/api/mcpConfiguration
The application can be configured via application.yml:
server:
port: 8080
mcp:
server:
name: "Insurance Campaign MCP Server"
version: "1.0.0"
protocol-version: "2024-11-05"
websocket:
path: "/mcp"
allowed-origins: "*"Development
Project Structure
src/main/java/com/insurance/mcp/
├── McpCampaignServerApplication.java # Main application class
├── config/
│ └── WebSocketConfig.java # WebSocket configuration
├── controller/
│ └── CampaignController.java # REST endpoints
├── handler/
│ └── McpWebSocketHandler.java # MCP WebSocket handler
├── model/
│ ├── McpRequest.java # MCP request model
│ ├── McpResponse.java # MCP response model
│ ├── McpTool.java # MCP tool model
│ └── campaign/
│ ├── AudienceCriteria.java # Audience targeting model
│ └── CampaignContent.java # Campaign content model
└── service/
├── McpToolService.java # MCP tool service
└── campaign/
├── AudienceTargetingService.java # Audience targeting logic
└── CampaignContentService.java # Content recommendation logicBuilding and Testing
# Run tests
mvn test
# Build JAR
mvn clean package
# Run with custom profile
mvn spring-boot:run -Dspring-boot.run.profiles=devInsurance Types Supported
Life Insurance
Health Insurance
Auto Insurance
Property Insurance
Travel Insurance
Marketing Channels Supported
Email
SMS
Social Media
Push Notifications
Direct Mail
License
This project is licensed under the MIT License.