Sheep d9ad813490 feat: add langgraph web agent runtime 2 days ago
..
config a7a32f30d1 初始化市民请集合智能助手项目 3 weeks ago
src d9ad813490 feat: add langgraph web agent runtime 2 days ago
.gitignore a7a32f30d1 初始化市民请集合智能助手项目 3 weeks ago
README.md a7a32f30d1 初始化市民请集合智能助手项目 3 weeks ago
build.ps1 a7a32f30d1 初始化市民请集合智能助手项目 3 weeks ago
pom.xml a7a32f30d1 初始化市民请集合智能助手项目 3 weeks ago
run.ps1 a7a32f30d1 初始化市民请集合智能助手项目 3 weeks ago

README.md

市民请集合智能助手 Java MCP 服务

这是给 smqjh-agent 使用的本机 Java MCP 服务,目录固定在:

D:\Program Files\IdeaProjects\smqjh-agent\smqjh-mcp-server

运行

本机未配置系统 Maven,使用 IDEA 内置 Maven:

.\build.ps1
.\run.ps1

默认 MCP 地址:

http://127.0.0.1:8765/mcp

健康检查:

Invoke-RestMethod http://127.0.0.1:8765/mcp

列出工具:

Invoke-RestMethod http://127.0.0.1:8765/mcp -Method Post -ContentType 'application/json' -Body '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

配置

启动时会按顺序加载:

  1. 默认测试环境配置
  2. 桌面端配置:%APPDATA%\smqjh-admin-agent\config.json
  3. MCP 本地覆盖:config/local.json
  4. 环境变量覆盖

config/local.example.json 是模板。不要把真实数据库密码或 DeepSeek Key 写进仓库;本机默认会读取桌面端已保存配置。

常用环境变量:

  • SMQJH_BASE_URL
  • SMQJH_TENANT_CODE
  • SMQJH_MCP_PORT
  • SMQJH_MCP_TOKEN
  • SMQJH_DB_HOST
  • SMQJH_DB_NAME
  • SMQJH_DB_USER
  • SMQJH_DB_PASSWORD
  • DEEPSEEK_API_KEY

DeepSeek 已迁移到 MCP 侧托管。桌面端只连接 MCP,不再需要保存或展示 DeepSeek API Key;如需覆盖模型和 Key,可在 config/local.json 中配置:

{
  "deepSeek": {
    "enabled": true,
    "baseURL": "https://api.deepseek.com",
    "apiKey": "sk-...",
    "model": "deepseek-v4-pro",
    "reasoningEffort": "high"
  }
}

已提供工具

  • smqjh.config.get:读取本机运行配置,敏感字段脱敏。
  • smqjh.cloud.health:调用验证码接口检查网关。
  • smqjh.database.readonly.query:执行白名单内只读 SELECT。
  • smqjh.order.count.query:订单数量和金额统计。
  • smqjh.product.lookup.summary:商品资料查询。
  • smqjh.settlement.monthly.plan:企业月结计划、接口参数和核对规则。
  • smqjh.ai.tool.plan:MCP 侧 DeepSeek 工具规划。
  • smqjh.ai.tool.summarize:MCP 侧 DeepSeek 工具结果总结。
  • smqjh.ai.chat:MCP 侧 DeepSeek 普通对话。

租户规则

顶级 admin 账号不需要 tenantCode。非 admin 用户仍需要租户编码或租户上下文。

安全边界

数据库工具只允许 SELECT,并做了以下限制:

  • 拒绝多语句、SQL 注释、写入/结构变更关键字。
  • 拒绝访问系统库。
  • 仅允许 smqjh 业务白名单表。
  • LIMIT 时自动补 LIMIT 100
  • 设置只读事务和查询超时。