mcpField
F
figuard-mcp

figuard-mcp

本地服务
figuard.io金融数据219 周前更新

关于 figuard-mcp

figuard-mcp 将 FiGuard 支出控制接入 AI 助手,适用于希望授权 Agent 支出但不编写 SDK 代码的团队。其工具涵盖预算设置、付款前授权、结算和委托令牌管理。

主要功能

  1. 01创建和管理支出预算
  2. 02授权支出并返回原因
  3. 03确认、失败处理或作废预留
  4. 04查看预算与筛选账本
  5. 05管理有范围限制的委托令牌

适用场景

  1. 01为 Agent 的差旅支出创建预算
  2. 02付款前检查拟议采购
  3. 03核对实际扣款或释放失败预留
  4. 04用委托令牌设置每个 Agent 的支出上限

MCP 相关

figuard-mcp 向 MCP 客户端提供 14 个 FiGuard 工具,涵盖预算、授权、账本和委托操作。它通过配置的 API 密钥和基础 URL 连接正在运行的 FiGuard 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"figuard-figuard": {
"command": "npx",
"args": [
"-y",
"figuard-mcp"
],
"env": {
"FIGUARD_API_KEY": "<FIGUARD_API_KEY>",
"FIGUARD_BASE_URL": "<FIGUARD_BASE_URL>",
"FIGUARD_DATABASE": "<FIGUARD_DATABASE>",
"FIGUARD_MODE": "<FIGUARD_MODE>"
}
}
}
}
启动命令npx -y figuard-mcp
需要配置的环境变量
FIGUARD_API_KEY密钥FiGuard API key — set this (with FIGUARD_BASE_URL) to use a self-hosted FiGuard server. Leave unset to run embedded: in-process enforcement against a local SQLite file, no account or server needed.
FIGUARD_BASE_URLSelf-hosted FiGuard server URL. Leave unset to run embedded against a local SQLite file.
FIGUARD_DATABASEPath to the embedded SQLite file (default ~/.figuard/figuard.db). Embedded is the default backend — no server required.
FIGUARD_MODEBackend mode: embedded | server | sandbox. Defaults to embedded when nothing else is configured.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfiguard-mcp1.2.0

工具

16

收录的工具列表 · 更新于 2 周前

参数类型必填说明
unitstring否资源单位标签(例如 'tokens'、'api_calls')。资源预算必填。货币预算请省略。
user_idstring是此预算所属用户或 Agent 会话的标识符。
currencystring否ISO 4217 货币代码(例如 'USD'、'EUR')。金钱预算必填。资源预算请省略。
expires_instring否预算有效时长。接受 '24h'、'7d'、'30m' 或秒数。默认值为 '24h'。
allocationsarray否可选的类别级别上限。每项 allocation 都是独立的最高限额——机票上限为 $300 时,无论其他类别支出多少,机票支出都不能超过 $300。Allocation 限额不得超过 total_limit,但无需加总等于该值——剩余部分为共享额度。例如:total_limit=1000,allocations=[{flights: 500}, {hotels: 200}]——有效,剩余 $300 为未分配额度。
total_limitnumber是Agent 获准支出的最高总金额。对于 USD 预算,此金额以美元计,而非美分。
intent_contextstring否此预算用途的人类可读描述(可选)(例如,'Book travel to NYC for user_123')。
external_referencestring否此预算的稳定标识符(可选)(例如,'run-abc-123'、'order-456')。提供此值后,使用相同 external_reference 重新调用 figuard_create_budget 会返回现有的有效预算,而不会创建重复预算,因此可安全用于编排器重启。
velocity_max_per_daynumber否滚动 24 小时窗口内的授权尝试次数上限。
auto_pause_on_anomalyboolean否控制异常响应模式。为 true(默认值)时,异常请求会暂停预算,直到人工恢复前不允许继续支出。为 false(建议模式)时,异常请求仍会被拒绝并触发 ANOMALY_DETECTED webhook,但预算会保持 ACTIVE。适用于高吞吐量 Agent,避免单次激增导致整个集群停摆。
velocity_max_per_minutenumber否滚动 1 分钟窗口内的授权尝试次数上限。超出时将以 VELOCITY_LIMIT_EXCEEDED 拒绝。
anomaly_detection_enabledboolean否为 true 时,FiGuard 会监控支出请求中的统计异常。建议在生产环境中启用。
velocity_max_amount_per_hournumber否滚动 1 小时窗口内 requestedQuantity 总量的上限。

详细介绍

figuard-mcp

FiGuard MCP 服务 — 无需编写任何 SDK 代码,即可直接在 Claude Code、Cursor 或 Claude Desktop 中使用 FiGuard。

功能

为你的 AI 助手添加 14 个 FiGuard 工具。无需编写 SDK 代码,只需与 Claude 对话:

“创建一个 $500 的旅行预算,其中 $300 用于机票,$200 用于酒店” → Claude 调用 figuard_create_budget

“从此预算中授权一张 $149 的经济舱机票” → Claude 调用 figuard_authorize → 返回 AUTHORIZED 或 DENIED

“机票最终花了 $147 — 确认实际金额” → Claude 调用 figuard_confirm

要求

  • Node.js 18+
  • 正在运行的 FiGuard 服务(本地或沙盒)

设置

Claude Code
claude mcp add figuard-mcp \
  --env FIGUARD_API_KEY=fg_live_... \
  --env FIGUARD_BASE_URL=http://localhost:8080

或者手动添加到 ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "figuard": {
      "command": "npx",
      "args": ["figuard-mcp"],
      "env": {
        "FIGUARD_API_KEY": "fg_live_...",
        "FIGUARD_BASE_URL": "http://localhost:8080"
      }
    }
  }
}
Cursor

添加到项目中的 .cursor/mcp.json(或全局配置 ~/.cursor/mcp.json):

{
  "mcpServers": {
    "figuard": {
      "command": "npx",
      "args": ["figuard-mcp"],
      "env": {
        "FIGUARD_API_KEY": "fg_live_...",
        "FIGUARD_BASE_URL": "http://localhost:8080"
      }
    }
  }
}
Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):

{
  "mcpServers": {
    "figuard": {
      "command": "npx",
      "args": ["figuard-mcp"],
      "env": {
        "FIGUARD_API_KEY": "fg_live_...",
        "FIGUARD_BASE_URL": "http://localhost:8080"
      }
    }
  }
}

使用沙盒(无需 Docker)

将 FIGUARD_BASE_URL 指向托管的沙盒,即可在不运行本地服务的情况下试用 FiGuard:

{
  "FIGUARD_API_KEY": "sb_live_demo",
  "FIGUARD_BASE_URL": "https://figuard-sandbox-g1ha.onrender.com"
}

可用工具

工具功能
figuard_create_budget创建支出预算;返回 session_token
figuard_authorize预先检查 — 返回 AUTHORIZED 或 DENIED 及原因
figuard_confirm成功后,按实际金额结算预留款项
figuard_fail操作失败时释放预留款项
figuard_void取消未使用的预留款项
figuard_get_budget查看预算状态、已支出、已预留和可用金额
figuard_get_ledger列出所有支出事件,并支持筛选
figuard_resume_budget恢复被异常检测暂停的预算
figuard_extend_budget延长预算的到期时间
figuard_cancel_batch一次调用取消最多 100 个预算
figuard_fund_budget调整预算总限额(CREDIT / DEBIT / RESET / RESET_SPENT)
figuard_create_delegation_token为各 Agent 创建针对舰队预算的限定范围令牌
figuard_revoke_delegation_token撤销委托令牌(幂等)
figuard_get_delegation_token查看委托令牌状态和额度使用情况

安全说明

FIGUARD_API_KEY 配置为环境变量,而不是工具参数。工具参数会出现在大模型上下文窗口中 — 绝不能将 API 密钥作为工具参数传递。

figuard_create_budget 返回的会话令牌有效期较短(会随预算到期),可在会话内安全地用作工具参数。

在本地运行 FiGuard

git clone https://github.com/figuard/figuard-core
cd figuard-core
docker compose up -d

FiGuard 将在 http://localhost:8080 上提供服务。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。