问题:新工具部署后必须先手工绑 scope_tool,否则调用方 PERMISSION_DENIED。 2026-10-21 新增的 hardware.statistics.query 与用纸类工具因此一直不可用。 改动: - ScopeToolSyncService:启动时按 mcp.scope-tool-bindings 幂等写入 scope_tool · 格式 sync=toolA,toolB(多条用 ; 分隔) · 只新增不删除;作用域/工具缺失记 WARN 跳过,不阻断启动 · @Order(2) 保证在工具注册(ToolSyncService)之后执行 - application-prod.yml:默认绑定 sync 作用域到 CRM 画像所需的 4 个工具 (district.paper.statistics / device_average / trace.list / hardware.statistics), 可通过 MCP_SCOPE_TOOL_BINDINGS 覆盖 - 设计文档 doc/scope-tool-binding-sync-design.md - 单测 3 例(解析/幂等/容错) 部署后启动日志会打印 scope-tool binding 新增记录,可直接核对。
58 lines
2.4 KiB
YAML
58 lines
2.4 KiB
YAML
# prd 环境:阿里云 RDS / Redis(拓扑沿用 xiaoqu-franchisee pom.xml prd profile)
|
||
# 敏感值一律走环境变量,不写明文、不入库;
|
||
# 服务器上由 /data/xiaoqu-agent-service/app.env 注入(deploy.sh 启动前 source)
|
||
# MCP 作用域-工具绑定:启动时幂等写入 scope_tool(只新增不删除)。
|
||
# 2026-10-21 用户授权:CRM 客户画像需要"用量(换纸/用纸)"与"设备统计"工具,
|
||
# 我们的同步 token 使用 sync 作用域,故绑定到 sync。
|
||
# 多条用 ; 分隔,同一绑定的多个工具用 , 分隔。
|
||
mcp:
|
||
scope-tool-bindings: ${MCP_SCOPE_TOOL_BINDINGS:sync=district.paper.statistics.query,district.paper.device_average.query,district.paper.trace.list.query,hardware.statistics.query}
|
||
|
||
app:
|
||
open:
|
||
api-key: ${OPEN_API_KEY}
|
||
# ak 明文 AES-GCM 加密密钥,prd 必须与 dev 不同值
|
||
token-cipher-key: ${TOKEN_CIPHER_KEY}
|
||
datasource:
|
||
m0: # 权限库 xiaoqu_complex(user/agent/authority 等)
|
||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||
jdbc-url: ${SVC_DB_M0_URL}
|
||
username: ${SVC_DB_M0_USER}
|
||
password: ${SVC_DB_M0_PASSWORD}
|
||
m1: # 商城库 xiaoqu_mall(按需启用)
|
||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||
jdbc-url: ${SVC_DB_M1_URL}
|
||
username: ${SVC_DB_M1_USER}
|
||
password: ${SVC_DB_M1_PASSWORD}
|
||
m2: # 业务库 xiaoqu_franchisee
|
||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||
jdbc-url: ${SVC_DB_M2_URL}
|
||
username: ${SVC_DB_M2_USER}
|
||
password: ${SVC_DB_M2_PASSWORD}
|
||
svc: # 自有库 xiaoqu_agent_svc(token/scope/tool/audit,读写,Flyway 自动建表)
|
||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||
jdbc-url: ${SVC_DB_SVC_URL}
|
||
username: ${SVC_DB_SVC_USER}
|
||
password: ${SVC_DB_SVC_PASSWORD}
|
||
# ES 双集群:cloud=云集群、local=本地化集群(hosts 支持逗号多节点)
|
||
es:
|
||
cloud:
|
||
hosts: ${SVC_ES_CLOUD_HOSTS}
|
||
port: ${SVC_ES_CLOUD_PORT:9200}
|
||
username: ${SVC_ES_CLOUD_USERNAME:}
|
||
password: ${SVC_ES_CLOUD_PASSWORD:}
|
||
local:
|
||
hosts: ${SVC_ES_LOCAL_HOSTS}
|
||
port: ${SVC_ES_LOCAL_PORT:9200}
|
||
username: ${SVC_ES_LOCAL_USERNAME:}
|
||
password: ${SVC_ES_LOCAL_PASSWORD:}
|
||
|
||
spring:
|
||
data:
|
||
redis:
|
||
host: ${SVC_REDIS_HOST}
|
||
port: ${SVC_REDIS_PORT:6379}
|
||
password: ${SVC_REDIS_PASSWORD}
|
||
database: ${SVC_REDIS_DB:5}
|
||
timeout: 5s
|