# 市民请集合智能助手 Java MCP 服务 这是给 `smqjh-agent` 使用的本机 Java MCP 服务,目录固定在: `D:\Program Files\IdeaProjects\smqjh-agent\smqjh-mcp-server` ## 运行 本机未配置系统 Maven,使用 IDEA 内置 Maven: ```powershell .\build.ps1 .\run.ps1 ``` 默认 MCP 地址: ```text http://127.0.0.1:8765/mcp ``` 健康检查: ```powershell Invoke-RestMethod http://127.0.0.1:8765/mcp ``` 列出工具: ```powershell 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` 中配置: ```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`。 - 设置只读事务和查询超时。