跳到主要内容

freight-reconciliation

❖ Communityv0.4.1

Payer-side freight reconciliation: import carrier bills and trip ledgers into a deterministic local core (SQLite, WAL, no cloud), re-calculate against contracted rates and produce evidence-linked difference lists for human review — 14 MCP tools over uvx stdio (engine pinned to the immutable commit e8cd259c, release v0.4.1), with 3 bilingual workflow skills bundled. Portable Agent Plugins v1 package (mcp.json + skills/); needs uv on PATH. Never approves payments, sends messages or writes back to ERP/TMS; final confirmations route through a local admin page the model cannot reach.

Open in Hermes Desktop
hermes plugins install freight-reconciliation

README

From the reviewed commit 160ed80 ↗; it updates when the author re-pins.

hermes-plugin-freight-reconciliation

Hermes Agent portable plugin (Portable Agent Plugins v1) for the 海纳·运费对账 / Haina Freight Reconciliation expert — payer-side, deterministic, local-first reconciliation of carrier bills against trip ledgers and contracted rates.

The product ships in two host forms that share one engine (src/freight_core + adapters/ in freight-reconciliation):

Form Package Host
WorkBuddy expert dist/host-plugin/freight-reconciliation/ (built by scripts/build_host_package.py) WorkBuddy / CodeBuddy
Hermes plugin this repository (plugin.json + mcp.json + skills/) Hermes Agent

What the plugin does

  • 14 MCP tools (server key fr): case creation, source registration, mapping / rate-rule preparation, deterministic re-calculation runs, paged issue lists, four-panel evidence, review/export preparation.
  • The arithmetic and all business facts live in the local Core (SQLite, WAL); the model only sees redacted projections. Amounts are integer minor units; unknown is null, never 0.
  • Never approves payments, sends messages, debits accounts or writes back to ERP/TMS. prepare_* tools only draft candidates; confirmation happens on a local admin page the model cannot reach.
  • A connector crash never strands a run: jobs left QUEUED/RUNNING are marked FAILED/RUN_INTERRUPTED on next startup with a recovery_action; inputs are frozen by digest so the re-run is deterministic.

Layout

plugin.json   manifest (license: MIT)
mcp.json      stdio MCP server, pinned to the immutable commit e8cd259c (release v0.4.1)
skills/       3 workflow skills, English SKILL.md authoritative + SKILL.zh-CN.md variants
LICENSE       MIT

The MCP server key is deliberately short (fr): Hermes tool line names (mcp__agent_plugin_<name>_<hash>__<key>__<tool>) have a 64-character budget, and the plugin name freight-reconciliation is long.

Data root

Case library lives at ${PLUGIN_DATA}/freight-reconciliation (injected via FREIGHT_RECON_ROOT). Keep it on a local disk — WAL-mode SQLite must not sit on a network share.

Local admin page (human confirmations)

read -s -p 'admin token: ' FREIGHT_ADMIN_TOKEN; echo; export FREIGHT_ADMIN_TOKEN
export FREIGHT_RECON_ROOT=<same root as the connector>
uvx --from git+https://github.com/harrylabsj/freight-reconciliation@e8cd259c43f3607250eda4074ce3e8ab0e6e1bf5 freight-admin
# open http://127.0.0.1:8765/

The page is English by default; a Chinese browser (Accept-Language) or FREIGHT_LANG=zh switches it, and every model- or file-supplied value is HTML-escaped. Confirmations only happen here — the model cannot reach the route.

Self-test before a catalog PR

hermes plugins validate <this-dir>
# MCP probe from a neutral directory (no cwd dependency):
printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  | uvx --from git+https://github.com/harrylabsj/freight-reconciliation@e8cd259c43f3607250eda4074ce3e8ab0e6e1bf5 freight-mcp
# expect: 14 tools

An anonymized synthetic bill/trips/rates sample set lives in the engine repo at examples/anonymized/ (with an engine-generated golden summary) and is covered by tests/integration/test_anonymized_samples.py; crash-recovery behavior by tests/integration/test_job_recovery.py.

eatwise❖ Community

Eatwise (外卖营养教练) — local-first Chinese dietary coach: deterministic meal nutrition reviews, personal daily energy/nutrient targets, and consented on-device profile and meal history through 9 MCP tools over a bundled open food database (TFND + USDA FNDDS). No network, no accounts, no payments; profile schema rejects name/phone/ID/medical fields by design. Engine pinned to an immutable git commit (cbc08f6) over npx stdio; Portable Agent Plugins v1 package (mcp.json + skills/), needs Node.js 22.5+ on PATH. Disclosure — the engine's MCP tool descriptions and error messages are Chinese-only while the skills are English-first.

Tools
good-student❖ Community

Wrong-question diagnosis and study-action loop for parents and students — deterministic local core (SQLite, no cloud), host-model recognition gated by parent confirmation. Portable Agent Plugins v1 package (mcp.json + skills/); good-student MCP server pinned to immutable commit 2469cbb over uvx, with the good-student workflow skill bundled. Needs Python 3.10+ via uv. No credentials required; all data stays on-device and nothing is uploaded.

Tools
healthcare❖ Community

Local-first personal health records: encrypted on-device Vault (AES-GCM) for vitals, medications, activities, emotions, sleep, encounters, diagnosis mentions, medication plans and reminders, served through a Keychain-paired local daemon with 24 scoped MCP tools. Zero-config first run: the plugin bootstraps Vault + daemon + agent pairing automatically under PLUGIN_DATA. Engine pinned to an immutable PyPI release (healthcare-mcp==0.2.1) over uvx stdio; Portable Agent Plugins v1 package (mcp.json + skills/), macOS only, Python 3.11+. Zero network by default; the optional LLM report-import endpoint stays off unless the user configures it. Approval-gated deletes, tamper-evident audit chain. Disclosure — personal health record-keeping, not medical advice (the skill forbids diagnoses and dosage changes); first run has uvx fetch healthcare-mcp==0.2.1 from PyPI; the optional report-import path posts report images to Alibaba DashScope (qwen-vl-max) unless HEALTHCARE_LLM_ENDPOINT points elsewhere, and only when HEALTHCARE_LLM_API_KEY is set.

Tools
kiwi❖ Community★ 0

Source suppliers and negotiate purchases through the Kiwi Buyer MCP server — an open-source A2A commerce runtime (pinned @harrylabsj/kiwi@0.11.0 over npx stdio), with the kiwi-buyer sourcing workflow skill bundled. Sourcing is dual-source: Kiwi Network results come from kiwi_search, and internet e-commerce listings are reported through the host's own web tools when the session has them (a host capability, not a plugin guarantee). Portable Agent Plugins v1 package (mcp.json + skills/); needs Node.js/npm on PATH. No credentials required; Kiwi never handles payments.

Tools
reading-buddy❖ Community

Local-first WeRead (微信读书) reading companion: syncs bookshelf, reading stats and notes to the local machine and turns them into private reading cards and weekly/monthly reviews through 8 MCP tools, with a built-in fictional demo mode for previews. Engine pinned to an immutable git commit (e5f6673) over npx stdio; Portable Agent Plugins v1 package (mcp.json + skills/), needs Node.js 20+ on PATH. All data stays in PLUGIN_DATA; never posts to WeRead — cards and reviews are local files saved only after user confirmation. Disclosure — live mode sends your WEREAD_API_KEY as a Bearer token plus book ids and paging cursors to i.weread.qq.com (Tencent's WeRead agent gateway) and nothing else; the engine's MCP tool descriptions and error messages are Chinese-only while the skills are English-first; the engine's npm dependencies resolve as caret ranges at first launch.

Tools
wechat-social-assistant❖ Community

Local-first WeChat relationship memory assistant for macOS: captures only what is visible in the WeChat window via system OCR/Accessibility, stores everything in a local SQLite database (0600/0700 permissions, no cloud), and serves contact briefs, follow-up planning, outreach drafts and weekly relationship reports through 32 MCP tools. Engine pinned to the immutable PyPI release wechat-social-assistant==1.5.1 over uvx stdio; Portable Agent Plugins v1 package (mcp.json + skills/), needs uv on PATH. All data confined to PLUGIN_DATA via WSA_ALLOWED_ROOT + path enforcement. Never reads WeChat databases, never injects into WeChat, never sends messages — outreach is drafts for human review only. Disclosure — reads WeChat only by screenshotting/OCR-ing and walking the macOS Accessibility tree of the frontmost window (not WeChat's databases or a bot API), compiles bundled Swift helpers with swiftc into ~/Library/Caches/wechat-social-assistant/bin on first use, and needs Screen Recording (optionally Accessibility) permission for the host terminal; no network egress, never sends messages.

Tools

← Back to the catalog · catalog built Sep 26, 2026