
Foodblock Mcp
io.github.FoodXDevelopment由 GitHub 帳號 FoodXDevelopment 發布v0.5.1更新於 Oct 27, 2026
Food data tools for any AI agent. Describe food in English, get structured data back.
概覽
FoodBlock 的 MCP 伺服器,讓助理寫入與讀取經簽章、雜湊鏈式關聯的食品資料區塊(報價、移轉、授權、觀察)。
- 可以做什麼
- 由助理寫入與讀取已簽章的 FoodBlock 區塊,涵蓋七種區塊類型(actor、thing、observe、transform、transfer、promise、grant)及其連結動詞。
- 用自然語言描述食品,取得結構化的區塊資料。
- 可獨立運作,也可連上 FoodBlock 節點,由節點在同伴之間提供簽章的拉取與推送。
- 產生身分與裝置金鑰,並在金鑰鏈中檢查、校驗與驗證區塊。
- 適用情境
- 適合想讓 AI 助理以可簽章、可驗證的格式記錄或交換結構化食品資料(報價、貨物移轉、權限授予、觀察紀錄)的情境,可本機使用或連上 FoodBlock 節點。
- 執行需求
- 以 npm 套件形式透過 stdio 在本機執行。選用的 FOODBLOCK_URL 指向 FoodBlock 伺服器,留空則為獨立模式。未宣告任何身分驗證。執行節點需要 Postgres 與節點金鑰檔,但這與 MCP 伺服器本身分開。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Foodblock Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
FoodBlock
[OpenSSF Best Practices] [IETF Internet-Draft] [DOI] [OpenSSF Scorecard]
The smallest language strangers in food need to agree on, with no boss. Everything else is data.
A block is three fields, signed by its author on their own device:
This is an offer: it is signed by its from side. Its id is the hash of its canonical form (one exact way of writing
it as text: RFC 8785). The author signs the same bytes with Ed25519 (the suite std; p256 and sm are two more). Nobody's clock decides who has authority. The
other side can check that authority. Without the author's key no one can make a block that counts as theirs, or change one without
changing its id, and a key that signs two versions of its history leaves the proof. What the protocol cannot do (keep a lost key safe,
stop a custodian who holds your key, see inside a sealed block it was not sent) is in the threat model (a draft).
- The spec:
spec/protocol.md, FoodBlock 1.7 (2026-10-27; it adds to 1.6, except the few deletions the CHANGELOG lists). It is normative: where anything else here disagrees, it governs. Beside it:protocol.json(every list, for code to load), the canonical form, transport (email is the envelope, FoodBlock the letter) and the conformance vectors. There is no earlier version in the protocol: 1.6 is year zero. Old data enters once, through a converter that is not part of the protocol.NECESSITY.mdshows, for every field, term, verb, closed type, reference key and invariant, which vectors fail without it;EXPERIMENTS.mdrecords the compressions tried. - The paper: the FoodBlock whitepaper v1.6 (PDF) (DOI 10.5281/zenodo.23457910): why the protocol exists. Where it and the spec differ, the spec is current.
The language
Seven types, in three moods:
Seven verbs, the refs that link blocks: updates, answers (the only way to consent), confirms, defeats,
for, derives_from, same_as. prev and after say what came before.
Strict. Only four types carry authority and are closed (actor, promise, transfer, grant); any other word
is an open type that a node stores and passes on. A node writes and reads only the current version's shapes: no nulls, no floats
(money is { minor, currency }, an amount { value, unit } with a decimal string), exact UTC times, sets written
sorted, every block in its key's chain (state.seq, refs.prev). It never repairs a block: it refuses it, and the
author signs a new one.
Three sizes of peer
Every peer speaks the protocol itself: a phone, a robot kitchen, a van, a sensor. Machines are peers like people. There are three sizes (protocol.json peers, and spec/protocol.md): micro (a device that measures and signs), edge (the local operator, works offline) and node (the lasting level, serves pull and push to anyone). Only people and machines hold nodes. A business, a household or a community is a circle of them, never a node of its own.
What is here
Each SDK's README says which profile it covers.
For autonomous systems
FoodBlock is built for people, autonomous systems and machines to use together. An autonomous system can read and write it directly:
- MCP server:
mcp/, for Claude, Cursor, Windsurf, Gemini CLI and any MCP-compatible autonomous system - The spec in one file:
spec/protocol.md, with every list machine-readable inspec/protocol.json - LLM quick reference: https://foodx.network/llms.txt
- About FoodX: https://foodx.network
Quick start
From a terminal:
Between nodes
Anyone can leave a node with everything they signed. Peers swap blocks with two messages, pull and push, and every answer is signed by a key of the node's holder (spec/modules/nodes.md). .well-known/foodblock says who the node is, what it holds and its admission rule.
Run one with docker compose -f server/docker-compose.yml up, or cd server && npm install && npm start with a
Postgres at DATABASE_URL and a key file from fb key at NODE_KEY.
Tests
Licence
Public domain (CC0 1.0; decided 2026-10-29, replacing MIT). FOODX WORLD LIMITED (England and Wales, company 16406719), which wrote it and runs this repository, waived its copyright: the protocol needs no one's permission to implement, copy or change.
How a change is proposed and how versions work: GOVERNANCE.md. How we treat each other, and what content is not allowed: CODE_OF_CONDUCT.md. Reporting a
weakness: SECURITY.md.
To cite FoodBlock, see CITATION.cff.
來源:README.md,提交 cd2dac8
工具
0版本歷史
1- v0.5.1最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。