purchase-app-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PURCHASE_APP_BASE_URL | No | App address. Default is https://121212121.top; after changing the address, you need to run login again. | https://121212121.top |
| PURCHASE_APP_MCP_HOME | No | Credential/audit directory. Default is ~/.config/purchase-app-mcp (or $XDG_CONFIG_HOME/purchase-app-mcp). | ~/.config/purchase-app-mcp |
| PURCHASE_APP_PASSWORD | No | Only used for one-time login in browserless environments; it is not saved. | |
| PURCHASE_APP_USERNAME | No | Login username. Default is admin. | admin |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| purchase.listB | 列出采购记录(按状态/分类/项目/关键词/日期区间筛选)。日期为毫秒时间戳;limit 取最近 N 条。 |
| purchase.getC | 按 ID 获取单条采购记录。 |
| purchase.createB | 新增采购记录。quick=true 直接记为已到;status 不传则默认待审批(quick 时为已到)。 |
| purchase.updateB | 更新采购字段或推进状态(状态推进时服务端会联动生成/完成待办、生成分期待办)。 |
| purchase.deleteA | 删除采购记录,并清理其联动待办。 |
| expense.listB | 列出记账(收支)记录,可按类型/分类/项目/关键词/日期区间筛选。 |
| expense.createC | 新增收支记录。金额 0~999999;type 默认支出。 |
| expense.updateD | 更新记账记录字段。 |
| expense.deleteC | 删除记账记录。 |
| todo.listB | 列出待办,可按状态/分类/优先级/项目/关键词筛选。 |
| todo.createC | 新增待办。repeat 为每天/每周/每月时,完成后服务端自动生成下一条。 |
| todo.updateC | 更新待办字段;status=已完成 且 repeat 非无 时自动续期下一条。 |
| todo.deleteA | 默认软删(状态置已删除);purge=true 彻底删除。 |
| project.listA | 列出项目。默认返回摘要(含阶段状态与花费合计);detail=true 返回完整阶段/交付物/流水。 |
| project.getA | 按 ID 获取项目完整信息(阶段、交付物、花费与流水)。 |
| project.createC | 新增项目,服务端自动创建 P0~P5 六个阶段。 |
| project.updateC | 更新项目基本信息或当前阶段指针。 |
| project.deleteA | 删除项目并级联删除阶段/交付物;关联的采购/记账/待办解除关联(不删数据)。 |
| phase.listA | 列出项目阶段(不传 projectId 则返回全部项目的阶段)。 |
| phase.status.setB | 设置阶段状态(todo/doing/done/skipped)。P5 为最终阶段,不能 skipped;P5 done 时项目自动通关。 |
| budget.getA | 读取预算文档(键为 YYYY-MM,值为该月预算总额)。 |
| budget.saveA | 保存预算。传 data 整体替换;或传 month + total 设置单月预算(会自动与现有数据合并)。 |
| recurring.listC | 读取重复收支/固定项文档。 |
| recurring.updateB | 保存重复项。data 整体替换;patch 与现有文档浅合并(如 {items: [...]})。 |
| cats.listC | 读取自定义分类文档。 |
| cats.updateA | 保存分类。data 整体替换;patch 与现有文档浅合并(如 {list: [...]})。 |
| analytics.summaryA | 按月汇总:采购/记账/收入/净支出/分期应还/预算使用率/分类 TOP/状态计数,并与上月比较。month 不传则取当前月(东八区)。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools are cleanly scoped by resource and action (purchase.*, expense.*, todo.*, project.*), so an agent can distinguish them. Minor ambiguity exists between document-level tools like recurring.update and cats.update, and between project.update (phase pointer) and phase.status.set.
The dominant pattern is resource.action in dot notation (purchase.create, todo.update, budget.get), which is consistent and readable. Deviations like phase.status.set and the list/get/create/update/delete/save verb mix are minor.
27 tools is on the heavy side, but they are spread across nine coherent domains (purchase, expense, todo, project, phase, budget, analytics, recurring, categories). Each tool mostly earns its place, though the surface is near the upper bound of comfortable tool counts.
Core lifecycles are well covered: full CRUD for purchase, expense, todo, and project, plus phase status control, budgets, analytics, and recurring/category documents. Small gaps remain, such as explicit create/delete operations for recurring items and categories (handled indirectly via update), but these are workable.