PLS-MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_LOG_LEVEL | No | Log level: info or debug | |
| PLS_MYSQL_HOST | Yes | MySQL server address | |
| PLS_MYSQL_PORT | No | MySQL port, default 3306 | 3306 |
| PLS_MYSQL_USER | Yes | MySQL username | |
| PLS_API_BASE_URL | Yes | PLS Java application URL | |
| PLS_MYSQL_DATABASE | Yes | Database name | |
| PLS_MYSQL_PASSWORD | Yes | MySQL password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tagsA | 【📊 查询】获取定位标签列表,可按地图或类型筛选。 参数:
返回: 带分页的标签列表,包含编码、类型、状态、电量、绑定状态 提示: 使用 tagType 和 mapId 缩小范围。适合巡检和批量查看。 |
| get_tag_locationA | 【📊 查询】按标签编码查询实时位置。 参数:
返回: 实时位置信息,含坐标(x/y)、地图编码/名称、时间戳、电量、绑定人员、所在区域 提示: 标签不在线或无位置数据时会返回清晰错误。 |
| list_personnelA | 【📊 查询】获取人员列表,可按部门或关键词筛选。 参数:
返回: 带分页的人员列表,含姓名、部门、电话、绑定标签 提示: 用 keyword 模糊搜索人名。 |
| get_personnel_locationA | 【📊 查询】按人员姓名或ID查询实时位置。 参数:
返回: 人员实时位置信息,含姓名、坐标、地图、区域 提示: 内部使用 Promise.all 并行查询多人位置。 |
| get_tag_bindingsA | 【📊 查询】查询标签与人员/车辆/货物的绑定关系。 参数:
返回: 绑定关系列表,含tagCode、bindName、bindType、bindId 提示: 不传 tagCode 返回全部绑定。 |
| list_areasA | 【📊 查询】获取区域列表,可按地图筛选。 参数:
返回: 区域列表,含名称、类型、地图ID 提示: 最多返回 2000 条。 |
| get_area_personnelA | 【📊 查询】查询某区域内当前的人员。 参数:
返回: 区域内人员列表,含标签编码、绑定名称、坐标、进入时间 提示: 数据来自 Java 实时 API。 |
| list_alarmsA | 【📊 查询】查询告警记录,可按标签、告警类型、时间范围、已读状态筛选。 参数:
返回: 告警记录列表,含类型、时间、区域、内容、已读状态 提示: 处理告警时设 isUnread=true 只看未读。 |
| get_system_statsA | 【🔍 诊断】获取系统统计概览。 参数: 无需参数。 返回: 标签总数/在线/离线、人员总数/在场/外出、区域数、基站在线/离线、今日告警数 提示: 适合快速了解系统整体状态。调用 Java API,有重试保护。 |
| get_in_and_out_recordsA | 【📊 查询】查询进出区域记录,可按区域或时间范围筛选。 参数:
返回: 进出记录列表,含tagCode、区域、进入/离开时间、状态(在场/已离开) 提示: 用 timeRange 查某天进出情况。 |
| list_anchorsA | 【📊 查询】获取基站列表,可按状态或地图筛选。 参数:
返回: 基站列表,含编码、坐标、状态、安装位置 提示: 最多返回 2000 条。 |
| list_mapsA | 【📊 查询】获取地图列表。 参数: 无需参数。 返回: 地图列表,含编码、名称、所属楼栋。 提示: 最多返回 2000 条。 |
| list_realtime_mapA | 【📊 查询】获取指定地图上所有标签的实时位置快照。 参数:
返回: 地图上所有标签的实时位置,含坐标、绑定名称、电量 提示: mapCode 会传至 Java API 端过滤,仅返回该地图数据。bindings 有 30 秒缓存。 |
| get_trajectoryA | 【📊 查询】查询标签的历史位置轨迹(基于 location_data 表)。 参数:
返回: totalCount(匹配总数) + pointCount(实际返回) + 轨迹点列表 提示: 先 COUNT 再 LIMIT。若 totalCount > limit,说明有数据未返回,请缩小时间范围或调大 limit。 |
| list_carsA | 【📊 查询】获取车辆列表,可按类型、关键词、绑定状态筛选。 参数:
返回: 车辆列表,含类型、品牌、型号、车牌号、绑定标签 提示: 用 keyword 模糊搜索车牌或品牌。 |
| list_goodsA | 【📊 查询】获取物品/货物列表,可按名称或绑定状态筛选。 参数:
返回: 物品列表,含编号、名称、绑定标签 提示: 用 keyword 模糊搜索物品名。 |
| list_alarm_rulesA | 【📊 查询】获取告警规则列表,可按告警类型或名称筛选。 参数:
返回: 告警规则列表,含名称、类型、阈值、受控时段 提示: 最多返回 2000 条。 |
| list_area_rulesA | 【📊 查询】获取区域规则(算法规则)列表,可按名称或拟合方式筛选。 参数:
返回: 区域规则列表,含名称、进出基准点数、拟合方式 提示: 最多返回 2000 条。 |
| list_departmentsA | 【📊 查询】获取部门树状组织结构。 参数:
返回: 部门树结构,含名称、编码、负责人、电话、子部门 提示: 最多返回 2000 条。返回为嵌套树结构。 |
| pls_send_sos_alarmA | 【🔧 管理】发送 SOS 紧急告警。触发指定标签的紧急告警通知。 参数:
返回: 操作是否成功 提示: 会触发真实告警通知,请谨慎使用!仅紧急情况调用。最多 100 个标签。 |
| pls_batch_update_anchorsA | 【🔧 管理】批量更新基站信息,包括状态、IP、型号等。 参数:
返回: 成功更新的基站数量 提示: 只更新提供的字段,未提供的字段保持不变。最多支持 500 条。 |
| pls_batch_update_tagsA | 【🔧 管理】批量更新标签信息,包括电量和状态。 参数:
返回: 成功更新的标签数量 提示: 只更新提供的字段,未提供的字段保持不变。最多支持 500 条。 |
| pls_bind_tag_to_personA | 【🔧 管理】将标签绑定到人员。 参数:
返回: 操作结果 提示: 确认绑定关系后再执行 注意: 必须传 confirm: "确认" 才能执行 |
| pls_unbind_tag_from_personA | 【🔧 管理】解除人员与标签的绑定。 参数:
返回: 操作结果 提示: 解绑后人员失去定位能力 注意: 必须传 confirm: "确认" 才能执行 |
| pls_bind_tag_to_carB | 【🔧 管理】将标签绑定到车辆。 参数:
返回: 操作结果 提示: 确认绑定关系后再执行 注意: 必须传 confirm: "确认" 才能执行 |
| pls_unbind_tag_from_carA | 【🔧 管理】解除车辆与标签的绑定。 参数:
返回: 操作结果 提示: 解绑后车辆失去定位能力 注意: 必须传 confirm: "确认" 才能执行 |
| pls_bind_tag_to_goodsA | 【🔧 管理】将标签绑定到物品/货物。 参数:
返回: 操作结果 提示: 确认绑定关系后再执行 注意: 必须传 confirm: "确认" 才能执行 |
| pls_unbind_tag_from_goodsA | 【🔧 管理】解除物品/货物与标签的绑定。 参数:
返回: 操作结果 提示: 解绑后物品失去定位能力 注意: 必须传 confirm: "确认" 才能执行 |
| pls_create_tagB | 【🔧 管理】创建标签实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_tagB | 【🔧 管理】更新标签实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_tagA | 【🔧 管理】删除标签实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_personA | 【🔧 管理】创建人员实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_personB | 【🔧 管理】更新人员实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_personB | 【🔧 管理】删除人员实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_carA | 【🔧 管理】创建车辆实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_carA | 【🔧 管理】更新车辆实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_carA | 【🔧 管理】删除车辆实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_goodsA | 【🔧 管理】创建物品实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_goodsA | 【🔧 管理】更新物品实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_goodsB | 【🔧 管理】删除物品实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_areaB | 【🔧 管理】创建区域实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_areaA | 【🔧 管理】更新区域实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_areaA | 【🔧 管理】删除区域实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_anchorB | 【🔧 管理】创建基站实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_anchorA | 【🔧 管理】更新基站实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_anchorA | 【🔧 管理】删除基站实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_alarm_ruleB | 【🔧 管理】创建告警规则实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_alarm_ruleA | 【🔧 管理】更新告警规则实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_alarm_ruleB | 【🔧 管理】删除告警规则实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_buildingB | 【🔧 管理】创建楼栋实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_buildingA | 【🔧 管理】更新楼栋实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_buildingB | 【🔧 管理】删除楼栋实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_mapB | 【🔧 管理】创建地图实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_mapA | 【🔧 管理】更新地图实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_mapA | 【🔧 管理】删除地图实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_create_area_ruleC | 【🔧 管理】创建区域规则实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传必填字段 |
| pls_update_area_ruleA | 【🔧 管理】更新区域规则实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 确认+只传需改字段 |
| pls_delete_area_ruleA | 【🔧 管理】删除区域规则实体。 参数:
返回: {success: true/false, entity: 实体名称, action: 操作类型} 提示: 删除不可撤销! |
| pls_health_checkA | 【🔍 诊断】服务健康检查。检测 MySQL 连接、Java API 连通性、工具注册状态。 参数: 无需参数。 返回: 各组件状态(healthy/unhealthy/unknown)+ 服务信息 + 运行时长 提示: 排查问题时首先调用此工具确认各组件是否正常。 |
| get_batch_tag_locationsA | 【⚡ 批量】批量查询多个标签的实时位置。一次请求返回所有标签的位置信息。 参数:
返回: 批量位置结果,含坐标、绑定名称、电量、在线状态统计 提示: 比逐个查询快 5-10 倍。内部按 20 个一批并行查询。 |
| get_low_power_tagsA | 【📊 查询】筛选低电量标签,按电量阈值过滤。 参数:
返回: 低电量标签列表,含编码、电量百分比、绑定名称、坐标 提示: threshold 范围 1-99。结合 mapCode 可定位特定区域低电设备。 |
| search_personnelA | 【📊 查询】按姓名、工号或部门搜索人员。 参数:
返回: 人员列表,含姓名、工号、部门、电话、绑定标签、实时位置 提示: 传入纯数字时优先按工号精确匹配。结果包含实时位置信息(bindings 有 30 秒缓存)。 |
| get_alarm_trendA | 【📊 查询】告警趋势统计,按时间段查看告警数量和类型分布。 参数:
返回: 按日/按类型聚合的告警趋势数据 提示: days 范围 1-90。适合用于周报/月报分析。 |
| get_personnel_distributionA | 【🔍 诊断】人员区域分布分析,查看各区域在场人数。 参数:
返回: 区域列表,含名称、在场人数、人员列表 提示: 基于进出记录+实时位置判断在场状态。 |
| export_alarm_csvA | 【⚡ 批量】导出告警记录为 CSV 文本,可直接复制粘贴到 Excel。 参数:
返回: CSV 格式文本(含表头) 提示: 复制返回的文本粘贴到 .csv 文件即可在 Excel 打开。 |
| get_unread_alarmsA | 【📊 查询】查询未读告警列表(isRead=0)。 参数:
返回: 未读告警列表,含标签编码、告警类型、时间、描述 提示: 适合安全监控场景,快速定位未处理告警。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| pls_analyze_alarm | 分析告警事件,结合实时位置和绑定关系给出告警上下文和处置建议 |
| pls_personnel_report | 生成人员在场/离岗报告,结合进出记录和实时位置 |
| pls_area_safety | 评估区域安全状况,结合告警记录、人员进出和区域规则 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| pls_schema | PLS 定位系统数据库表结构说明,包含所有核心表的字段信息 |
| pls_alarm_rules | 告警规则配置列表,包含所有告警类型和阈值设置 |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sweet-dog-cyber/pls-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server