@lemonbeijing/lemonclaw-mcp-service 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # LemonClaw MCP Service
2
2
 
3
- 面向柠檬云的本地 STDIO MCP 服务,支持 ACC 财务、SCM 进销存、ERP 业财和独立开票。可查询客户、供应商、商品、仓库等基础资料,以及采购、销售、库存、收付款、往来、凭证、账簿、发票和经营或财务报表;对于 Action 文档明确支持的写操作,会在用户确认后执行。
3
+ 面向柠檬云的本地 STDIO MCP 服务,支持 ACC 财务、SCM 进销存、ERP 业财和云发票。ACC、SCM、ERP Action 仅查询业务数据、生成报表或导出文件,不修改柠檬云业务数据;云发票正式开票和问题反馈只在用户明确确认并通过对应流程门禁后执行。
4
4
 
5
5
  MCP 包内嵌 Runtime 管理组件并直接启动 Runtime Python。要求 Node.js 20 或更高版本;首次相关 Tool 调用时自动安装 Runtime,之后按策略检查更新。Runtime、认证、账套上下文、文档、下载和开票文件统一保存在 `~/.lemonclaw-cli` 目录中。
6
6
 
@@ -43,7 +43,7 @@ node dist/lemonclaw-mcp.cjs
43
43
 
44
44
  - 账套上下文:`lemon_account_current`、`lemon_account_list`、`lemon_account_switch`、`lemon_account_select`、`lemon_account_clear`
45
45
  - ACC/SCM/ERP 业务:`lemon_action_search`、`lemon_action_show`、`lemon_action_read_doc`、`lemon_action_run`
46
- - 独立开票:`lemon_invoice_read_doc`、`lemon_invoice_api`、`lemon_invoice_run_helper`
46
+ - 云发票与独立开票:`lemon_invoice_read_doc`、`lemon_invoice_api`、`lemon_invoice_run_helper`
47
47
 
48
48
  `stdout` 仅用于 MCP JSON-RPC。CLI 和 Runtime 输出会被捕获并作为 MCP Tool 内容返回;服务诊断只使用 `stderr`。
49
49
 
@@ -3279,7 +3279,7 @@ var require_package = __commonJS({
3279
3279
  "package.json"(exports2, module2) {
3280
3280
  module2.exports = {
3281
3281
  name: "@lemonbeijing/lemonclaw-mcp-service",
3282
- version: "0.1.4",
3282
+ version: "0.1.5",
3283
3283
  description: "\u7528\u4E8E\u67E5\u8BE2\u548C\u64CD\u4F5C\u67E0\u6AAC\u4E91 Lemon Cloud \u4E1A\u52A1\u6570\u636E\u7684 MCP \u670D\u52A1\uFF0C\u8986\u76D6\u8D26\u5957\u3001\u8FDB\u9500\u5B58 SCM\u3001\u4E1A\u8D22 ERP\u3001\u8D22\u52A1 ACC \u548C\u72EC\u7ACB\u5F00\u7968\uFF1B\u652F\u6301\u5BA2\u6237\u3001\u4F9B\u5E94\u5546\u3001\u5546\u54C1\u3001\u4ED3\u5E93\u3001\u91C7\u8D2D\u3001\u9500\u552E\u3001\u5E93\u5B58\u3001\u6536\u4ED8\u6B3E\u3001\u5F80\u6765\u3001\u51ED\u8BC1\u3001\u8D26\u7C3F\u3001\u53D1\u7968\u53CA\u7ECF\u8425\u4E0E\u8D22\u52A1\u62A5\u8868\uFF0C\u5E76\u652F\u6301\u7ACB\u5373\u5F00\u7968\u3001\u6279\u91CF\u5F00\u7968\u548C\u95EE\u9898\u53CD\u9988\u3002",
3284
3284
  license: "UNLICENSED",
3285
3285
  type: "module",
@@ -5389,10 +5389,10 @@ async function runInvoiceApi(runtimeProvider, args) {
5389
5389
  const script = import_node_path2.default.join(runtime.invoiceRoot, "assets", "lemon_acc_api.py");
5390
5390
  await requireFile(script, "Installed Runtime invoice API script is missing.");
5391
5391
  const operation = String(args.operation || "");
5392
+ if (["SkillInvoiceIssue", "FeedbackSubmit"].includes(operation) && args.user_confirmed !== true) {
5393
+ throw new Error(`${operation} requires explicit user confirmation.`);
5394
+ }
5392
5395
  if (operation === "SkillInvoiceIssue") {
5393
- if (args.user_confirmed !== true) {
5394
- throw new Error("SkillInvoiceIssue requires explicit user confirmation.");
5395
- }
5396
5396
  for (const key of ["eiscid", "ai_tool", "model"]) {
5397
5397
  requireValue(args, key, operation);
5398
5398
  }
@@ -5403,6 +5403,11 @@ async function runInvoiceApi(runtimeProvider, args) {
5403
5403
  throw new Error("SkillInvoiceIssue requires payload or payload_path.");
5404
5404
  }
5405
5405
  }
5406
+ if (operation === "FeedbackSubmit") {
5407
+ for (const key of ["feedback_text", "upload_file_path"]) {
5408
+ requireValue(args, key, operation);
5409
+ }
5410
+ }
5406
5411
  return withPayloadPath(args, async (payloadPath) => {
5407
5412
  const command = [script, "--action", operation];
5408
5413
  appendApiArguments(command, args);
@@ -5707,6 +5712,12 @@ var readOnlyAnnotations = {
5707
5712
  idempotentHint: true,
5708
5713
  openWorldHint: true
5709
5714
  };
5715
+ var localMutationAnnotations = {
5716
+ readOnlyHint: false,
5717
+ destructiveHint: false,
5718
+ idempotentHint: false,
5719
+ openWorldHint: true
5720
+ };
5710
5721
  function commandTimeout(seconds) {
5711
5722
  return (Number(seconds || 120) + 15) * 1e3;
5712
5723
  }
@@ -5736,7 +5747,7 @@ function createLemonClawServer(options = {}) {
5736
5747
  const server = new import_server.McpServer(
5737
5748
  { name: "lemonclaw", version: import_runtime_core3.default.packageVersion },
5738
5749
  {
5739
- instructions: "LemonClaw \u7684 API Key \u4EC5\u7531 MCP \u670D\u52A1\u73AF\u5883\u53D8\u91CF\u63D0\u4F9B\uFF0C\u4E0D\u5F97\u5728\u5BF9\u8BDD\u6216 Tool \u53C2\u6570\u4E2D\u7D22\u53D6\u3001\u63A5\u6536\u3001\u5C55\u793A\u6216\u4F20\u9012\u3002\u7528\u6237\u660E\u786E\u63D0\u5230\u4E91\u53D1\u7968\u3001\u4E91\u53D1\u7968\u4EA7\u54C1\u3001\u72EC\u7ACB\u5F00\u7968\u3001\u7A0E\u7968\u5E73\u53F0\u3001\u7ACB\u5373\u5F00\u7968\u3001\u6279\u91CF\u5F00\u7968\u3001\u5F00\u7968\u9884\u89C8\u3001\u9500\u65B9\u4F01\u4E1A\u3001\u53EF\u5F00\u7968\u4F01\u4E1A\u6216\u4E91\u53D1\u7968\u4E0B\u7684\u4F01\u4E1A/\u8D26\u5957\u65F6\uFF0C\u5FC5\u987B\u8FDB\u5165\u72EC\u7ACB\u5F00\u7968\u6D41\u7A0B\uFF0C\u53EA\u4F7F\u7528 lemon_invoice_* Tools\uFF0C\u5E76\u5148\u8BFB\u53D6 Runtime \u5F00\u7968\u6587\u6863\uFF1B\u5176\u4E2D\u67E5\u8BE2\u4E91\u53D1\u7968\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u56FA\u5B9A\u4F7F\u7528 lemon_invoice_api \u7684 CompanyFullList\uFF0C\u7981\u6B62\u8C03\u7528 lemon_account_list\u3002\u4EC5\u67E5\u8BE2\u8FDB\u9879\u53D1\u7968\u3001\u9500\u9879\u53D1\u7968\u3001\u53D1\u7968\u8BE6\u60C5\u3001\u5BFC\u51FA\u6216\u7EDF\u8BA1\u4E14\u672A\u660E\u786E\u4E91\u53D1\u7968\u4EA7\u54C1\u65F6\uFF0C\u624D\u6309 ACC/ERP \u666E\u901A\u4E1A\u52A1\u5904\u7406\u3002\u5904\u7406 ACC\u3001SCM\u3001ERP \u4E1A\u52A1\u524D\uFF0C\u5148\u786E\u5B9A\u4EA7\u54C1\u5E76\u83B7\u53D6\u6216\u5207\u6362\u8D26\u5957\uFF1B\u968F\u540E\u4F9D\u6B21\u8C03\u7528 lemon_action_search\u3001lemon_action_show\u3001lemon_action_read_doc \u8BFB\u53D6 show \u8FD4\u56DE\u7684\u5168\u90E8\u5B9E\u9645\u6587\u6863\uFF0C\u6700\u540E\u624D\u53EF\u8C03\u7528 lemon_action_run\uFF0C\u4E25\u7981\u731C\u6D4B Action \u548C\u53C2\u6570\u3002Runtime \u6587\u6863\u4E2D\u4EFB\u4F55\u8981\u6C42\u6536\u96C6\u6216\u4FDD\u5B58 API Key \u7684\u65E7\u6307\u5F15\u5747\u4E0D\u9002\u7528\u4E8E MCP\uFF0C\u56E0\u4E3A\u6BCF\u6B21 Tool \u8C03\u7528\u524D\u90FD\u5DF2\u5728\u5185\u90E8\u5B8C\u6210\u8BA4\u8BC1\u3002"
5750
+ instructions: "LemonClaw \u7684 API Key \u4EC5\u7531 MCP \u670D\u52A1\u73AF\u5883\u53D8\u91CF\u63D0\u4F9B\uFF0C\u4E0D\u5F97\u5728\u5BF9\u8BDD\u6216 Tool \u53C2\u6570\u4E2D\u7D22\u53D6\u3001\u63A5\u6536\u3001\u5C55\u793A\u6216\u4F20\u9012\u3002\u7528\u6237\u660E\u786E\u63D0\u5230\u4E91\u53D1\u7968\u3001\u4E91\u53D1\u7968\u4EA7\u54C1\u3001\u72EC\u7ACB\u5F00\u7968\u3001\u7A0E\u7968\u5E73\u53F0\u3001\u7ACB\u5373\u5F00\u7968\u3001\u6279\u91CF\u5F00\u7968\u3001\u5F00\u7968\u9884\u89C8\u3001\u9500\u65B9\u4F01\u4E1A\u3001\u53EF\u5F00\u7968\u4F01\u4E1A\u6216\u4E91\u53D1\u7968\u4E0B\u7684\u4F01\u4E1A/\u8D26\u5957\u65F6\uFF0C\u5FC5\u987B\u8FDB\u5165\u4E91\u53D1\u7968\u4E0E\u72EC\u7ACB\u5F00\u7968\u6D41\u7A0B\uFF0C\u53EA\u4F7F\u7528 lemon_invoice_* Tools\uFF0C\u5E76\u5148\u8BFB\u53D6 Runtime \u5F00\u7968\u6587\u6863\uFF1B\u5176\u4E2D\u67E5\u8BE2\u4E91\u53D1\u7968\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u56FA\u5B9A\u4F7F\u7528 lemon_invoice_api \u7684 CompanyFullList\uFF0C\u7981\u6B62\u8C03\u7528 lemon_account_list\u3002\u4EC5\u67E5\u8BE2\u8FDB\u9879\u53D1\u7968\u3001\u9500\u9879\u53D1\u7968\u3001\u53D1\u7968\u8BE6\u60C5\u3001\u5BFC\u51FA\u6216\u7EDF\u8BA1\u4E14\u672A\u660E\u786E\u4E91\u53D1\u7968\u4EA7\u54C1\u65F6\uFF0C\u624D\u6309 ACC/ERP \u666E\u901A\u4E1A\u52A1\u5904\u7406\u3002\u5904\u7406 ACC\u3001SCM\u3001ERP \u4E1A\u52A1\u524D\uFF0C\u5148\u786E\u5B9A\u4EA7\u54C1\u5E76\u83B7\u53D6\u6216\u5207\u6362\u8D26\u5957\uFF1B\u968F\u540E\u4F9D\u6B21\u8C03\u7528 lemon_action_search\u3001lemon_action_show\u3001lemon_action_read_doc \u8BFB\u53D6 show \u8FD4\u56DE\u7684\u5168\u90E8\u5B9E\u9645\u6587\u6863\uFF0C\u6700\u540E\u624D\u53EF\u8C03\u7528 lemon_action_run\uFF0C\u4E25\u7981\u731C\u6D4B Action \u548C\u53C2\u6570\u3002ACC\u3001SCM\u3001ERP \u5F53\u524D\u66B4\u9732\u7684 Action \u5168\u90E8\u662F\u67E5\u8BE2\u3001\u62A5\u8868\u6216\u5BFC\u51FA\u7B49\u53EA\u8BFB\u80FD\u529B\uFF0C\u4E0D\u5F97\u63A8\u65AD\u65B0\u589E\u3001\u4FEE\u6539\u3001\u63D0\u4EA4\u3001\u5220\u9664\u6216\u72B6\u6001\u53D8\u66F4\u80FD\u529B\u3002Runtime \u6587\u6863\u4E2D\u4EFB\u4F55\u8981\u6C42\u6536\u96C6\u6216\u4FDD\u5B58 API Key \u7684\u65E7\u6307\u5F15\u5747\u4E0D\u9002\u7528\u4E8E MCP\uFF0C\u56E0\u4E3A\u6BCF\u6B21 Tool \u8C03\u7528\u524D\u90FD\u5DF2\u5728\u5185\u90E8\u5B8C\u6210\u8BA4\u8BC1\u3002"
5740
5751
  }
5741
5752
  );
5742
5753
  registerCliTool(
@@ -5765,7 +5776,7 @@ function createLemonClawServer(options = {}) {
5765
5776
  dry_run: z.boolean().default(false).describe("\u662F\u5426\u4EC5\u68C0\u67E5\u6D41\u7A0B\u800C\u4E0D\u5B9E\u9645\u66F4\u65B0\u672C\u5730\u5019\u9009\u7F13\u5B58\u3002"),
5766
5777
  timeout_seconds: timeoutSchema
5767
5778
  }),
5768
- annotations: readOnlyAnnotations
5779
+ annotations: localMutationAnnotations
5769
5780
  },
5770
5781
  (args) => {
5771
5782
  const command = ["account", "list", "--timeout", String(args.timeout_seconds)];
@@ -5949,8 +5960,8 @@ function createLemonClawServer(options = {}) {
5949
5960
  runCli,
5950
5961
  "lemon_action_run",
5951
5962
  {
5952
- title: "\u67E5\u8BE2\u6216\u6267\u884C\u67E0\u6AAC\u4E91\u4E1A\u52A1\u64CD\u4F5C",
5953
- description: "\u6267\u884C\u5DF2\u901A\u8FC7\u68C0\u7D22\u548C\u6587\u6863\u6838\u9A8C\u7684\u67E0\u6AAC\u4E91 ACC\u3001SCM \u6216 ERP \u4E1A\u52A1\u64CD\u4F5C\u3002\u652F\u6301\u67E5\u8BE2\u5BA2\u6237\u3001\u4F9B\u5E94\u5546\u3001\u5546\u54C1\u3001\u4ED3\u5E93\u7B49\u57FA\u7840\u8D44\u6599\uFF0C\u4EE5\u53CA\u91C7\u8D2D\u8BA2\u5355\u3001\u9500\u552E\u8BA2\u5355\u3001\u5E93\u5B58\u3001\u6536\u4ED8\u6B3E\u3001\u5F80\u6765\u3001\u51ED\u8BC1\u3001\u8D26\u7C3F\u3001\u53D1\u7968\u548C\u7ECF\u8425\u6216\u8D22\u52A1\u62A5\u8868\uFF1BERP \u8FD8\u652F\u6301\u9500\u552E\u62A5\u4EF7\u3001\u4EF7\u683C\u8D44\u6599\u3001\u8BA2\u5355\u6C47\u603B\u3001\u5E93\u5B58\u8D26\u9F84\u3001\u6682\u4F30\u8C03\u6574\u548C\u5E94\u6536\u5E94\u4ED8\u9884\u8B66\u3002\u5BF9\u4E8E Action \u6587\u6863\u660E\u786E\u652F\u6301\u7684\u65B0\u589E\u3001\u4FEE\u6539\u3001\u63D0\u4EA4\u7B49\u5199\u64CD\u4F5C\uFF0C\u4EC5\u5728\u7528\u6237\u660E\u786E\u786E\u8BA4\u540E\u6267\u884C\u3002\u8C03\u7528\u524D\u5FC5\u987B\u5B8C\u6210 search\u3001show \u548C\u5168\u90E8\u6587\u6863\u8BFB\u53D6\uFF0C\u4E0D\u5F97\u731C\u6D4B\u53C2\u6570\uFF1B\u672C\u5DE5\u5177\u4E0D\u7528\u4E8E\u72EC\u7ACB\u5F00\u7968\u3002",
5963
+ title: "\u67E5\u8BE2\u67E0\u6AAC\u4E91 ACC\u3001SCM \u6216 ERP \u4E1A\u52A1\u6570\u636E",
5964
+ description: "\u6267\u884C\u5DF2\u901A\u8FC7\u68C0\u7D22\u548C\u6587\u6863\u6838\u9A8C\u7684\u67E0\u6AAC\u4E91 ACC\u3001SCM \u6216 ERP \u53EA\u8BFB Action\u3002\u7528\u4E8E\u67E5\u8BE2\u5BA2\u6237\u3001\u4F9B\u5E94\u5546\u3001\u5546\u54C1\u3001\u4ED3\u5E93\u7B49\u57FA\u7840\u8D44\u6599\uFF0C\u4EE5\u53CA\u91C7\u8D2D\u8BA2\u5355\u3001\u9500\u552E\u8BA2\u5355\u3001\u5E93\u5B58\u3001\u6536\u4ED8\u6B3E\u3001\u5F80\u6765\u3001\u51ED\u8BC1\u3001\u8D26\u7C3F\u3001\u53D1\u7968\u548C\u7ECF\u8425\u6216\u8D22\u52A1\u62A5\u8868\uFF1BERP \u8FD8\u8986\u76D6\u9500\u552E\u62A5\u4EF7\u3001\u4EF7\u683C\u8D44\u6599\u3001\u8BA2\u5355\u6C47\u603B\u3001\u5E93\u5B58\u8D26\u9F84\u3001\u6682\u4F30\u8C03\u6574\u548C\u5E94\u6536\u5E94\u4ED8\u9884\u8B66\u3002\u5F53\u524D\u4E0D\u63D0\u4F9B\u65B0\u589E\u3001\u4FEE\u6539\u3001\u63D0\u4EA4\u3001\u5220\u9664\u6216\u72B6\u6001\u53D8\u66F4\u80FD\u529B\uFF1B\u90E8\u5206\u53EA\u8BFB\u67E5\u8BE2\u867D\u7136\u4F7F\u7528 HTTP POST\uFF0C\u4ECD\u4E0D\u5C5E\u4E8E\u4E1A\u52A1\u5199\u64CD\u4F5C\uFF0C\u5BFC\u51FA Action \u53EF\u80FD\u5728\u672C\u5730\u751F\u6210\u6587\u4EF6\u3002\u8C03\u7528\u524D\u5FC5\u987B\u5B8C\u6210 search\u3001show \u548C\u5168\u90E8\u6587\u6863\u8BFB\u53D6\uFF0C\u4E0D\u5F97\u731C\u6D4B\u53C2\u6570\uFF1B\u672C\u5DE5\u5177\u4E0D\u7528\u4E8E\u4E91\u53D1\u7968\u6216\u72EC\u7ACB\u5F00\u7968\u3002",
5954
5965
  inputSchema: z.object({
5955
5966
  product: productSchema,
5956
5967
  action: z.string().min(1).describe("\u5DF2\u901A\u8FC7 search\u3001show \u548C\u6587\u6863\u6838\u9A8C\u7684\u7CBE\u786E Action \u540D\u79F0\u3002"),
@@ -5960,16 +5971,10 @@ function createLemonClawServer(options = {}) {
5960
5971
  _outputMode: z.enum(["basic", "full"]).optional().describe("\u6587\u6863\u5141\u8BB8\u65F6\u9009\u62E9\u57FA\u7840\u7ED3\u679C basic \u6216\u5B8C\u6574\u7ED3\u679C full\u3002"),
5961
5972
  _extraDisplayFields: z.array(z.string().min(1)).min(1).optional().describe("\u7528\u6237\u660E\u786E\u8981\u6C42\u989D\u5916\u5C55\u793A\u4E14 Action \u6587\u6863\u652F\u6301\u7684\u5B57\u6BB5\u540D\u79F0\u3002")
5962
5973
  }).strict().describe("\u4E25\u683C\u6309\u7167 Action \u6587\u6863\u6784\u9020\u7684\u5D4C\u5957 query/body \u8BF7\u6C42\u5305\u3002"),
5963
- user_confirmed: z.boolean().default(false).describe("\u53EA\u6709\u7528\u6237\u660E\u786E\u786E\u8BA4\u8BE5 Action \u6587\u6863\u6807\u6CE8\u7684\u5199\u64CD\u4F5C\u65F6\u624D\u80FD\u8BBE\u4E3A true\u3002"),
5964
- dry_run: z.boolean().default(false).describe("\u662F\u5426\u4EC5\u6821\u9A8C\u5E76\u9884\u6F14\uFF0C\u800C\u4E0D\u5B9E\u9645\u6267\u884C\u4E1A\u52A1\u8BF7\u6C42\u3002"),
5974
+ dry_run: z.boolean().default(false).describe("\u662F\u5426\u4EC5\u6821\u9A8C\u5E76\u9884\u6F14\u67E5\u8BE2\u8BF7\u6C42\uFF0C\u800C\u4E0D\u5B9E\u9645\u83B7\u53D6\u4E1A\u52A1\u6570\u636E\u3002"),
5965
5975
  timeout_seconds: timeoutSchema
5966
5976
  }),
5967
- annotations: {
5968
- readOnlyHint: false,
5969
- destructiveHint: true,
5970
- idempotentHint: false,
5971
- openWorldHint: true
5972
- }
5977
+ annotations: localMutationAnnotations
5973
5978
  },
5974
5979
  (args) => {
5975
5980
  const command = [
@@ -5981,7 +5986,6 @@ function createLemonClawServer(options = {}) {
5981
5986
  "--timeout",
5982
5987
  String(args.timeout_seconds)
5983
5988
  ];
5984
- if (args.user_confirmed) command.push("--user-confirmed");
5985
5989
  if (args.dry_run) command.push("--dry-run");
5986
5990
  return {
5987
5991
  command,
@@ -6013,7 +6017,7 @@ function createLemonClawServer(options = {}) {
6013
6017
  "lemon_invoice_api",
6014
6018
  {
6015
6019
  title: "\u8C03\u7528\u67E0\u6AAC\u4E91\u72EC\u7ACB\u5F00\u7968\u63A5\u53E3",
6016
- description: "\u8C03\u7528\u4E91\u53D1\u7968\u4EA7\u54C1\uFF08\u72EC\u7ACB\u5F00\u7968/\u7A0E\u7968\u5E73\u53F0\uFF09\u7684\u56FA\u5B9A\u4E1A\u52A1\u63A5\u53E3\u3002\u7528\u6237\u8BE2\u95EE\u4E91\u53D1\u7968\u4E0B\u6709\u54EA\u4E9B\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u65F6\uFF0C\u8BFB\u53D6\u6587\u6863\u540E\u56FA\u5B9A\u4F7F\u7528 operation=CompanyFullList\uFF0C\u7981\u6B62\u8C03\u7528 lemon_account_list\u3002\u5176\u4ED6 operation \u7528\u4E8E\u516C\u53F8\u8BE6\u60C5\u3001\u8D2D\u65B9\u5BA2\u6237\u3001\u767B\u5F55\u72B6\u6001\u3001\u7A0E\u5C40\u8BA4\u8BC1\u3001\u5269\u4F59\u989D\u5EA6\u3001\u7A0E\u76EE\u89E3\u6790\u3001\u6B63\u5F0F\u5F00\u7968\u548C\u95EE\u9898\u53CD\u9988\u3002\u8C03\u7528\u524D\u5FC5\u987B\u8BFB\u53D6\u5BF9\u5E94\u6587\u6863\uFF1B\u6B63\u5F0F\u5F00\u7968\u5FC5\u987B\u83B7\u5F97\u7528\u6237\u660E\u786E\u786E\u8BA4\uFF1B\u4E0D\u5F97\u4F20\u9012 API Key\u3001Token \u6216\u5176\u4ED6\u8BA4\u8BC1\u51ED\u636E\u3002",
6020
+ description: "\u8C03\u7528\u4E91\u53D1\u7968\u4EA7\u54C1\uFF08\u72EC\u7ACB\u5F00\u7968/\u7A0E\u7968\u5E73\u53F0\uFF09\u7684\u56FA\u5B9A\u4E1A\u52A1\u63A5\u53E3\u3002\u7528\u6237\u8BE2\u95EE\u4E91\u53D1\u7968\u4E0B\u6709\u54EA\u4E9B\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u65F6\uFF0C\u8BFB\u53D6\u6587\u6863\u540E\u56FA\u5B9A\u4F7F\u7528 operation=CompanyFullList\uFF0C\u7981\u6B62\u8C03\u7528 lemon_account_list\u3002\u5176\u4ED6 operation \u7528\u4E8E\u516C\u53F8\u8BE6\u60C5\u3001\u8D2D\u65B9\u5BA2\u6237\u3001\u767B\u5F55\u72B6\u6001\u3001\u7A0E\u5C40\u8BA4\u8BC1\u3001\u5269\u4F59\u989D\u5EA6\u3001\u7A0E\u76EE\u89E3\u6790\u3001\u6B63\u5F0F\u5F00\u7968\u548C\u95EE\u9898\u53CD\u9988\u3002\u8C03\u7528\u524D\u5FC5\u987B\u8BFB\u53D6\u5BF9\u5E94\u6587\u6863\uFF1B\u6B63\u5F0F\u5F00\u7968\u548C\u53CD\u9988\u63D0\u4EA4\u90FD\u5FC5\u987B\u83B7\u5F97\u7528\u6237\u5BF9\u672C\u6B21\u64CD\u4F5C\u7684\u660E\u786E\u786E\u8BA4\uFF1B\u4E0D\u5F97\u4F20\u9012 API Key\u3001Token \u6216\u5176\u4ED6\u8BA4\u8BC1\u51ED\u636E\u3002",
6017
6021
  inputSchema: z.object({
6018
6022
  operation: z.enum([
6019
6023
  "CompanyFullList",
@@ -6048,7 +6052,7 @@ function createLemonClawServer(options = {}) {
6048
6052
  message_id: optionalText,
6049
6053
  context: optionalText,
6050
6054
  upload_file_path: optionalText,
6051
- user_confirmed: z.boolean().default(false).describe("\u4EC5\u5728\u7528\u6237\u660E\u786E\u786E\u8BA4\u6B63\u5F0F\u5F00\u7968\u6216\u6587\u6863\u6807\u6CE8\u7684\u5199\u64CD\u4F5C\u540E\u8BBE\u4E3A true\u3002"),
6055
+ user_confirmed: z.boolean().default(false).describe("\u4EC5\u5728\u7528\u6237\u660E\u786E\u786E\u8BA4\u672C\u6B21\u6B63\u5F0F\u5F00\u7968 SkillInvoiceIssue \u6216\u53CD\u9988\u63D0\u4EA4 FeedbackSubmit \u540E\u8BBE\u4E3A true\u3002"),
6052
6056
  timeout_seconds: timeoutSchema
6053
6057
  }),
6054
6058
  annotations: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemonbeijing/lemonclaw-mcp-service",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "用于查询和操作柠檬云 Lemon Cloud 业务数据的 MCP 服务,覆盖账套、进销存 SCM、业财 ERP、财务 ACC 和独立开票;支持客户、供应商、商品、仓库、采购、销售、库存、收付款、往来、凭证、账簿、发票及经营与财务报表,并支持立即开票、批量开票和问题反馈。",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",