Skip to main content
Glama
defarm-repo

@defarm/mcp

by defarm-repo

@defarm/mcp

面向 DeFarm 的 MCP 服务器——让 AI 智能体仅凭描述即可密封、开启、验证和摄取可验证的农产品溯源数据,无需编写任何代码。它构建于 @defarm/sdk 之上:被密封的字段在客户端完成加密,DeFarm 服务器在结构上对其完全不可见。

与 SDK 开源的理由一样,本项目使用 MIT 协议开源:不要信任 DeFarm——请审计这个客户端。

安全状态(建议先读这一部分)

  • 凭据永远不会流经模型。 认证属于服务器配置(见下文的环境变量)。没有登录工具;也没有任何工具接受密码、API 密钥或密钥材料——测试套件强制保证这一点。

  • 私钥永远不会离开本地密钥库。 任何工具都不会返回密钥材料;智能体只能看到 id 和指纹。

  • 安全默认值继承自 SDK:除非显式指定收件人,否则密封默认是私有且面向自身的;密码学套件是固定的,绝不是可选项。

Related MCP server: Lemma Oracle MCP Server

环境配置

// e.g. Claude Desktop / Claude Code MCP config
{
  "mcpServers": {
    "defarm": {
      "command": "npx",
      "args": ["-y", "github:defarm-repo/defarm-mcp"],
      "env": {
        "DEFARM_GATEWAY": "<your test-environment gateway>",
        "DEFARM_EMAIL": "<workspace login>",
        "DEFARM_PASSWORD": "<workspace password>",
        "DEFARM_API_KEY": "<partner key, only if the agent should ingest>",
        "DEFARM_KEYSTORE": "~/.defarm/keys.json"
      }
    }
  }
}

请先将 DEFARM_GATEWAY 指向一个测试环境;使用生产环境是一个需要明确做出的决定。

工具

工具

作用

defarm_whoami

显示已配置凭据对应的用户与工作空间

defarm_ensure_keys

(本地)生成并注册工作空间密钥对——只返回 id 和指纹

defarm_export_recipient

导出该工作空间的公开接收者包,用于经线外分享

defarm_ingest

合作伙伴数据接入,支持 preview 预览(试运行)

defarm_seal

为指定收件人密封字段——DeFarm 依然不可见;绑定关系会被重新验证

defarm_open

在本地解密密封字段;并在本地重新验证作者身份

defarm_verify

公开验证(时间戳、RFC3161、密封承诺)——匿名操作

defarm_get_item / defarm_get_item_public

需要成员权限 / 公开读取(统一返回 404)

defarm_resolve_identifier

根据 SISBOV/耳标/… 解析

等待后端支持的操作(grant、grantLink、revoke——engines#584/#574)不会暴露为工具:智能体不应看到注定失败的工具。

开发

依赖:@defarm/sdk,按 semver(^0.2.0)来自 npm——SHA 固定提交时代(及其“pin 跟随最新 SDK squash”的规则)约定已故。在 0.2.0 发布之时已按承诺正式结束。

npm install
npm test        # tool-table contract tests (no network, fake gateway)
npm run build && DEFARM_GATEWAY=... node dist/index.js   # stdio server

许可证

MIT

Related MCP Connectors

Related MCP Servers