Metadata-Version: 2.4
Name: water-alarm-mcp
Version: 1.0.1
Summary: 水工告警MCP服务，提供船舶围栏检测、船舶查询、许可船判断等功能
Author-email: zsh <zsh@example.com>
License-Expression: MIT
Keywords: mcp,model-context-protocol,server,water-alarm,vessel,fence
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcp>=1.4.1
Dynamic: license-file

# water-alarm-mcp

水工告警MCP服务，提供船舶围栏检测、船舶查询、许可船判断等功能。

## 功能

- **is_point_in_polygon**: 判断船舶是否在电子围栏内部
- **get_fence_list**: 返回电子围栏列表
- **search_vessels_by_name**: 根据船舶名称模糊查询船舶列表
- **search_vessel_by_mmsi**: 根据MMSI精确查询船舶信息
- **is_permitted_vessel**: 根据MMSI查询船舶是否是许可船

## 安装

```bash
pip install water-alarm-mcp
```

## 使用

### 在 AI 客户端中使用

**Claude Desktop / Cursor**:

在你的 `mcp.json` 文件中添加以下配置：

```json
{
  "mcpServers": {
    "water-alarm-mcp": {
      "command": "uvx",
      "args": ["water-alarm-mcp"]
    }
  }
}
```

### 命令行运行

```bash
water-alarm-mcp
```

## 工具

### is_point_in_polygon

判断船舶是否在电子围栏内部。

**参数**:
- `lng`: 船舶经度
- `lat`: 船舶纬度
- `polygon_wkt`: 电子围栏的多边形区域（WKT格式），可选，默认为TJ03标段桥梁警戒区

**返回**:
- 是否在围栏内（boolean）

### get_fence_list

返回电子围栏列表。

**参数**: 无

**返回**:
- 电子围栏列表

### search_vessels_by_name

根据船舶名称模糊查询船舶列表。

**参数**:
- `vessel_name`: 船舶名称（模糊匹配）

**返回**:
- 船舶列表，包含mmsi、current_time、speed、lng、lat、vessel_name、project_id

### search_vessel_by_mmsi

根据MMSI精确查询船舶信息。

**参数**:
- `mmsi`: 船舶MMSI编码

**返回**:
- 船舶信息或None

### is_permitted_vessel

根据MMSI查询船舶是否是许可船。

**参数**:
- `mmsi`: 船舶MMSI编码

**返回**:
- 是否是许可船（boolean）

## 许可证

MIT
