Local agent tool catalog and gateway for BeeCount accounting application. Provides tools for querying transactions, budgets, recurring transactions, and recording new transactions via AI agent interface.
BeeCount provides well-structured tool definitions with comprehensive schemas and detailed descriptions in Chinese. All 7 tools have explicit input schemas with proper JSON Schema types and constraints. Descriptions are detailed (100-300+ chars) and explain WHEN to use each tool. However, tool naming lacks English verb prefixes (query_transactions vs get_transactions), and output schemas are not documented in the provided source. Error handling and recovery guidance are absent. Security annotations (readOnlyHint/destructiveHint) are missing despite clear risk classifications.
删除用户明确指定的本地记忆,只影响当前应用中的本地记录,属于写操作,需要通过权限策略。只有用户明确要求忘记且提供目标记忆 ID 时才可调用。结果返回 forgotten,不泄露其他账本信息。
读取当前账本的预算快照,只读,不会修改数据,不需要参数。结果含 currency、daysRemaining、dailyAvailable、total 预算使用情况及 categoryBudgets 分类预算使用情况;每项包含已用、预算、剩余、使用率和状态。
读取当前账本启用中的周期记账,只读,不会修改数据,不需要参数。结果是 items 列表,包含金额、币种、收入/支出类型、分类、账户、重复频率和间隔、起止日期、最近生成日期及备注。
在数据库内直接聚合当前账本的交易,不受明细查询条数限制。只读,不会修改数据。start 包含、end 不包含;缺少时间范围时使用最近 30 天。types 不传表示收入、支出和转账全部统计;groupBy 不传表示只返回总额,也可按分类、标签、账户或日/周/月/年分组。可用 ID 或名称筛选分类、标签和账户;金额均为账本本位币。返回 currency、periodStart、periodEnd、types、totals、groups、truncated;按标签分组时交易可能出现在多个标签组,按账户分组时转账会分别提供 transferOut 和 transferIn。聚合问题优先使用本工具,不要用明细列表自行汇总。
查询当前账本在时间范围内的交易明细,只读,不会修改数据。start 包含、end 不包含;缺少时间范围时使用最近 30 天。最多返回 20 条,适合用户明确要求查看明细或最近几笔交易,不适合计算总额或趋势。每条结果含交易原币金额、账本本位币金额、分类、转出/转入账户、标签、时间、备注及统计/预算排除状态。
将当前用户明确提供的原始交易文本记录到当前账本,会创建本地交易数据,属于写操作,需要通过权限策略。sourceText 必须逐字等于当前用户消息;同一条消息只允许成功记账一次。成功结果返回最终落库的交易 ID、完整交易明细、关联分类、账户、标签和未转换币种;不要把保存前的推测当成结果。
Output schemas not documented. Tool descriptions state what is returned (e.g., 'returns currency, periodStart, periodEnd, types, totals, groups, truncated') but formal JSON Schema output definitions are not visible in source code. LLMs cannot plan downstream tool calls without knowing response structure.
Tool annotations missing. Tools are marked with Risk classifications (READ_ONLY, WRITE, REVERSIBLE) in metadata but lack MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot determine safety/idempotency from tool definitions alone.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
保存用户明确要求长期记住的信息,仅写入本地记忆,属于写操作,需要通过权限策略。只有用户明确说"记住/保存/以后记得"等意图时才可调用。成功结果返回 saved 和 memoryId,供后续精确遗忘。
Error handling and recovery guidance absent. No tool description explains what to do if a query fails, a permission check blocks a write, or a resource is not found. Agents have no recovery path on errors.
Naming inconsistency: query_transactions uses 'query' prefix while other tools use 'get'. Inconsistent verb prefixes (query vs get) reduce clarity. Baseline: 90% of A+ tools use consistent action verbs (get, list, create, search, update).
Permission-gated write tools lack confirmation/dry-run pattern. record_transaction_from_text and memory tools are write operations but offer no confirmation step or dry-run mode. Agents cannot preview changes before committing irreversible operations.