[Proposal] Tool Bill of Materials (TBOM) - Looking for feedback on supply chain provenance for MCP #2189
jlov7
started this conversation in
Ideas - Security
Replies: 1 comment 2 replies
-
|
Interesting! Different problem, but you might also be interested in #1913 And potentially also server cards #2152 I think there's a few angles where we should look at verification, provenance, trust and capability declaration and I might be forming an interest group or working group to address this shortly. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The problem I'm trying to solve
The MCP specification warns that tool descriptions "should be considered untrusted, unless obtained from a trusted server." But the ecosystem doesn't define what "trusted" means or how to verify it.
With 10,000+ MCP servers now published, I keep running into the same questions:
I couldn't find existing work that addresses this gap directly. ETDI covers runtime authorization well, but static provenance at publish/install time seems underspecified.
What I'm proposing
TBOM (Tool Bill of Materials): a signed manifest that binds an MCP server release to:
The core idea: extend SBOM thinking to the semantic layer that agents consume, not just the code layer.
Design decisions I'm uncertain about
Server-scoped vs. tool-scoped - I chose server-level manifests because that's how packages are distributed. But maybe individual tool attestations would be more useful?
Canonicalization - Using RFC 8785 (JCS) for deterministic hashing. Is this the right choice, or does the community prefer something else?
Signing model - I propose supplier/registry/enterprise signature roles. Is this overcomplicated for the current ecosystem maturity?
Registry integration - The spec suggests mechanisms, but I don't know enough about how the MCP Registry preview works to know if these are realistic.
What TBOM explicitly doesn't solve
I want to be upfront about limitations (Section 12 of the RFC covers this in detail):
This is a transparency and integrity control, not a safety guarantee.
What I'm sharing
What I'm looking for
Genuinely: feedback. I've been working on this mostly in isolation and I'm sure there are gaps I can't see.
Specific questions:
Happy to iterate based on input. Would rather get it right than get it published.
Beta Was this translation helpful? Give feedback.
All reactions