insurance-predict-mcp


Nameinsurance-predict-mcp JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryLightGBM Insurance Premium Prediction MCP Server
upload_time2025-10-11 13:23:25
maintainerNone
docs_urlNone
authorInsurance Team
requires_python>=3.10
licenseNone
keywords mcp fastmcp lightgbm insurance prediction
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Insurance Premium Prediction - FastMCP Server

LightGBM 기반 보험료 예측 모델을 [FastMCP](https://gofastmcp.com) 프레임워크를 통해 MCP (Model Context Protocol) 서버로 제공합니다.

## 🚀 FastMCP란?

FastMCP는 MCP 서버와 클라이언트를 빠르고 간단하게 구축할 수 있는 Python 프레임워크입니다. MCP는 "AI를 위한 USB-C 포트"로 불리며, LLM이 데이터와 기능에 표준화된 방식으로 접근할 수 있게 해줍니다.

## 📦 설치

```bash
# 가상환경 생성
uv venv

# 의존성 설치
uv pip install -r requirements.txt
uv pip install fastmcp
```

## 🏥 MCP 서버

### 제공하는 도구 (Tools)

#### 1. `predict_insurance_premium`
보험료를 예측합니다.

**입력 파라미터:**
- `age`: 나이 (세)
- `annual_income`: 연간 소득 (달러)
- `number_of_dependents`: 부양 가족 수
- `health_score`: 건강 점수
- `previous_claims`: 이전 청구 건수
- `vehicle_age`: 차량 연식 (년)
- `credit_score`: 신용 점수
- `insurance_duration`: 보험 기간 (년)

**출력:**
```json
{
  "predicted_premium": 5.64,
  "input_data": { ... },
  "message": "예측된 보험료는 $5.64 입니다."
}
```

#### 2. `get_model_info`
모델의 정보를 반환합니다.

**출력:**
- 모델 특성 개수 (69개)
- 특성 이름 목록
- 모델 타입 (LGBMRegressor)
- 필수 입력 특성 (8개)

## 🧪 테스트 방법

### 1. 간단한 테스트 (Python 스크립트)

```bash
python test_mcp_simple.py
```

이 테스트는 MCP 서버의 함수를 직접 호출하여:
- 모델 정보 조회
- 기본 보험료 예측
- 다양한 시나리오 테스트

### 2. MCP CLI를 사용한 테스트

```bash
# MCP 서버를 stdio 모드로 실행
python serve_mcp.py

# 또는 FastMCP CLI 사용
fastmcp dev serve_mcp.py
```

## 📊 테스트 결과 예시

```
🏥 Insurance Premium Predictor 🏥

📋 등록된 도구:
  1. predict_insurance_premium - 보험료 예측
  2. get_model_info - 모델 정보 조회

💰 테스트 케이스:
  • 나이: 35세
  • 연소득: $42,000
  • 부양가족: 2명
  • 건강 점수: 25.5
  • 이전 청구: 1건
  • 차량 연식: 5년
  • 신용 점수: 700
  • 보험 기간: 3년

📊 예측 결과:
  ✅ 예측된 보험료: $5.64
```

## 🔧 모델 특성

- **모델 타입**: LightGBM Regressor
- **총 특성 수**: 69개
- **필수 입력 특성**: 8개
- **자동 특성 생성**: 나머지 61개 특성은 0으로 자동 초기화

## 📚 참고 자료

- [FastMCP 공식 문서](https://gofastmcp.com)
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io)
- [LightGBM](https://lightgbm.readthedocs.io/)

## ✅ 테스트 완료 내용

- ✅ 모델 로드 및 정보 조회
- ✅ 보험료 예측 기능
- ✅ 다양한 시나리오 테스트 (저위험, 중위험, 고위험)
- ✅ FastMCP 프레임워크 통합
- ✅ MCP 도구 등록 및 실행

## 🎯 활용 방안

이 MCP 서버는 다음과 같은 AI 어시스턴트와 통합할 수 있습니다:
- Claude Desktop
- ChatGPT
- 기타 MCP 호환 LLM 애플리케이션

AI 어시스턴트가 이 서버에 연결하면, 자연어로 보험료 예측을 요청하고 결과를 받을 수 있습니다.



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "insurance-predict-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "mcp, fastmcp, lightgbm, insurance, prediction",
    "author": "Insurance Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/21/c7/0a5bcfd39beac04c62dd9b42a60631c549256291671e0e9ad19c3ca90f0c/insurance_predict_mcp-1.1.0.tar.gz",
    "platform": null,
    "description": "# Insurance Premium Prediction - FastMCP Server\n\nLightGBM \uae30\ubc18 \ubcf4\ud5d8\ub8cc \uc608\uce21 \ubaa8\ub378\uc744 [FastMCP](https://gofastmcp.com) \ud504\ub808\uc784\uc6cc\ud06c\ub97c \ud1b5\ud574 MCP (Model Context Protocol) \uc11c\ubc84\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\n## \ud83d\ude80 FastMCP\ub780?\n\nFastMCP\ub294 MCP \uc11c\ubc84\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \ube60\ub974\uace0 \uac04\ub2e8\ud558\uac8c \uad6c\ucd95\ud560 \uc218 \uc788\ub294 Python \ud504\ub808\uc784\uc6cc\ud06c\uc785\ub2c8\ub2e4. MCP\ub294 \"AI\ub97c \uc704\ud55c USB-C \ud3ec\ud2b8\"\ub85c \ubd88\ub9ac\uba70, LLM\uc774 \ub370\uc774\ud130\uc640 \uae30\ub2a5\uc5d0 \ud45c\uc900\ud654\ub41c \ubc29\uc2dd\uc73c\ub85c \uc811\uadfc\ud560 \uc218 \uc788\uac8c \ud574\uc90d\ub2c8\ub2e4.\n\n## \ud83d\udce6 \uc124\uce58\n\n```bash\n# \uac00\uc0c1\ud658\uacbd \uc0dd\uc131\nuv venv\n\n# \uc758\uc874\uc131 \uc124\uce58\nuv pip install -r requirements.txt\nuv pip install fastmcp\n```\n\n## \ud83c\udfe5 MCP \uc11c\ubc84\n\n### \uc81c\uacf5\ud558\ub294 \ub3c4\uad6c (Tools)\n\n#### 1. `predict_insurance_premium`\n\ubcf4\ud5d8\ub8cc\ub97c \uc608\uce21\ud569\ub2c8\ub2e4.\n\n**\uc785\ub825 \ud30c\ub77c\ubbf8\ud130:**\n- `age`: \ub098\uc774 (\uc138)\n- `annual_income`: \uc5f0\uac04 \uc18c\ub4dd (\ub2ec\ub7ec)\n- `number_of_dependents`: \ubd80\uc591 \uac00\uc871 \uc218\n- `health_score`: \uac74\uac15 \uc810\uc218\n- `previous_claims`: \uc774\uc804 \uccad\uad6c \uac74\uc218\n- `vehicle_age`: \ucc28\ub7c9 \uc5f0\uc2dd (\ub144)\n- `credit_score`: \uc2e0\uc6a9 \uc810\uc218\n- `insurance_duration`: \ubcf4\ud5d8 \uae30\uac04 (\ub144)\n\n**\ucd9c\ub825:**\n```json\n{\n  \"predicted_premium\": 5.64,\n  \"input_data\": { ... },\n  \"message\": \"\uc608\uce21\ub41c \ubcf4\ud5d8\ub8cc\ub294 $5.64 \uc785\ub2c8\ub2e4.\"\n}\n```\n\n#### 2. `get_model_info`\n\ubaa8\ub378\uc758 \uc815\ubcf4\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\n**\ucd9c\ub825:**\n- \ubaa8\ub378 \ud2b9\uc131 \uac1c\uc218 (69\uac1c)\n- \ud2b9\uc131 \uc774\ub984 \ubaa9\ub85d\n- \ubaa8\ub378 \ud0c0\uc785 (LGBMRegressor)\n- \ud544\uc218 \uc785\ub825 \ud2b9\uc131 (8\uac1c)\n\n## \ud83e\uddea \ud14c\uc2a4\ud2b8 \ubc29\ubc95\n\n### 1. \uac04\ub2e8\ud55c \ud14c\uc2a4\ud2b8 (Python \uc2a4\ud06c\ub9bd\ud2b8)\n\n```bash\npython test_mcp_simple.py\n```\n\n\uc774 \ud14c\uc2a4\ud2b8\ub294 MCP \uc11c\ubc84\uc758 \ud568\uc218\ub97c \uc9c1\uc811 \ud638\ucd9c\ud558\uc5ec:\n- \ubaa8\ub378 \uc815\ubcf4 \uc870\ud68c\n- \uae30\ubcf8 \ubcf4\ud5d8\ub8cc \uc608\uce21\n- \ub2e4\uc591\ud55c \uc2dc\ub098\ub9ac\uc624 \ud14c\uc2a4\ud2b8\n\n### 2. MCP CLI\ub97c \uc0ac\uc6a9\ud55c \ud14c\uc2a4\ud2b8\n\n```bash\n# MCP \uc11c\ubc84\ub97c stdio \ubaa8\ub4dc\ub85c \uc2e4\ud589\npython serve_mcp.py\n\n# \ub610\ub294 FastMCP CLI \uc0ac\uc6a9\nfastmcp dev serve_mcp.py\n```\n\n## \ud83d\udcca \ud14c\uc2a4\ud2b8 \uacb0\uacfc \uc608\uc2dc\n\n```\n\ud83c\udfe5 Insurance Premium Predictor \ud83c\udfe5\n\n\ud83d\udccb \ub4f1\ub85d\ub41c \ub3c4\uad6c:\n  1. predict_insurance_premium - \ubcf4\ud5d8\ub8cc \uc608\uce21\n  2. get_model_info - \ubaa8\ub378 \uc815\ubcf4 \uc870\ud68c\n\n\ud83d\udcb0 \ud14c\uc2a4\ud2b8 \ucf00\uc774\uc2a4:\n  \u2022 \ub098\uc774: 35\uc138\n  \u2022 \uc5f0\uc18c\ub4dd: $42,000\n  \u2022 \ubd80\uc591\uac00\uc871: 2\uba85\n  \u2022 \uac74\uac15 \uc810\uc218: 25.5\n  \u2022 \uc774\uc804 \uccad\uad6c: 1\uac74\n  \u2022 \ucc28\ub7c9 \uc5f0\uc2dd: 5\ub144\n  \u2022 \uc2e0\uc6a9 \uc810\uc218: 700\n  \u2022 \ubcf4\ud5d8 \uae30\uac04: 3\ub144\n\n\ud83d\udcca \uc608\uce21 \uacb0\uacfc:\n  \u2705 \uc608\uce21\ub41c \ubcf4\ud5d8\ub8cc: $5.64\n```\n\n## \ud83d\udd27 \ubaa8\ub378 \ud2b9\uc131\n\n- **\ubaa8\ub378 \ud0c0\uc785**: LightGBM Regressor\n- **\ucd1d \ud2b9\uc131 \uc218**: 69\uac1c\n- **\ud544\uc218 \uc785\ub825 \ud2b9\uc131**: 8\uac1c\n- **\uc790\ub3d9 \ud2b9\uc131 \uc0dd\uc131**: \ub098\uba38\uc9c0 61\uac1c \ud2b9\uc131\uc740 0\uc73c\ub85c \uc790\ub3d9 \ucd08\uae30\ud654\n\n## \ud83d\udcda \ucc38\uace0 \uc790\ub8cc\n\n- [FastMCP \uacf5\uc2dd \ubb38\uc11c](https://gofastmcp.com)\n- [Model Context Protocol (MCP)](https://modelcontextprotocol.io)\n- [LightGBM](https://lightgbm.readthedocs.io/)\n\n## \u2705 \ud14c\uc2a4\ud2b8 \uc644\ub8cc \ub0b4\uc6a9\n\n- \u2705 \ubaa8\ub378 \ub85c\ub4dc \ubc0f \uc815\ubcf4 \uc870\ud68c\n- \u2705 \ubcf4\ud5d8\ub8cc \uc608\uce21 \uae30\ub2a5\n- \u2705 \ub2e4\uc591\ud55c \uc2dc\ub098\ub9ac\uc624 \ud14c\uc2a4\ud2b8 (\uc800\uc704\ud5d8, \uc911\uc704\ud5d8, \uace0\uc704\ud5d8)\n- \u2705 FastMCP \ud504\ub808\uc784\uc6cc\ud06c \ud1b5\ud569\n- \u2705 MCP \ub3c4\uad6c \ub4f1\ub85d \ubc0f \uc2e4\ud589\n\n## \ud83c\udfaf \ud65c\uc6a9 \ubc29\uc548\n\n\uc774 MCP \uc11c\ubc84\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 AI \uc5b4\uc2dc\uc2a4\ud134\ud2b8\uc640 \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:\n- Claude Desktop\n- ChatGPT\n- \uae30\ud0c0 MCP \ud638\ud658 LLM \uc560\ud50c\ub9ac\ucf00\uc774\uc158\n\nAI \uc5b4\uc2dc\uc2a4\ud134\ud2b8\uac00 \uc774 \uc11c\ubc84\uc5d0 \uc5f0\uacb0\ud558\uba74, \uc790\uc5f0\uc5b4\ub85c \ubcf4\ud5d8\ub8cc \uc608\uce21\uc744 \uc694\uccad\ud558\uace0 \uacb0\uacfc\ub97c \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "LightGBM Insurance Premium Prediction MCP Server",
    "version": "1.1.0",
    "project_urls": null,
    "split_keywords": [
        "mcp",
        " fastmcp",
        " lightgbm",
        " insurance",
        " prediction"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14e6568792b807cc897b4478d3229fe8b23d679daa6f06a37a07351d5775dcb1",
                "md5": "a3a1b884feb5d2280578f42fd170b488",
                "sha256": "9a96f50a572b90054989d94c6e3951f2546bbbd17cb1636a007f1257c4f6f4fa"
            },
            "downloads": -1,
            "filename": "insurance_predict_mcp-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a3a1b884feb5d2280578f42fd170b488",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 2111232,
            "upload_time": "2025-10-11T13:23:23",
            "upload_time_iso_8601": "2025-10-11T13:23:23.460792Z",
            "url": "https://files.pythonhosted.org/packages/14/e6/568792b807cc897b4478d3229fe8b23d679daa6f06a37a07351d5775dcb1/insurance_predict_mcp-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "21c70a5bcfd39beac04c62dd9b42a60631c549256291671e0e9ad19c3ca90f0c",
                "md5": "c46cbd108a2aca4868d4add1870024e6",
                "sha256": "016a43d0b154068e90127d0e0ba602d3815903f562d74aea9ea5363f1bcfedcb"
            },
            "downloads": -1,
            "filename": "insurance_predict_mcp-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c46cbd108a2aca4868d4add1870024e6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 2105514,
            "upload_time": "2025-10-11T13:23:25",
            "upload_time_iso_8601": "2025-10-11T13:23:25.309876Z",
            "url": "https://files.pythonhosted.org/packages/21/c7/0a5bcfd39beac04c62dd9b42a60631c549256291671e0e9ad19c3ca90f0c/insurance_predict_mcp-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-11 13:23:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "insurance-predict-mcp"
}
        
Elapsed time: 1.25009s