Grounded, not generative
Every component it names is backed by a tool call and cited with a canonical ID like CustomField:Account.Industry__c. No invented fields.
Salesforce metadata · read-only · MCP server
An offline knowledge base for a single Salesforce org that runs on your machine. One retrieve, then every answer is grounded in your org's real Salesforce metadata — not a guess.
Runs in Claude Code, Claude Desktop, or any MCP client. Needs Node 20+ & the Salesforce CLI.
# vault loaded · offline_snapshot · 148 tools ready
where's the emale field?
◆ 3 matches for “email” — which did you mean? Email__c on Account Email__c on Contact Alternate_Email__c on Lead
the contact one — what breaks if I delete it?
▸ 3 components reference CustomField:Contact.Email__c: ValidationRule · Flow · ApexClass
the problem
Ask a general model “what breaks if I delete this field?” and it answers from generic Salesforce training data — confidently, and often wrong for your org. sf-intelligence answers only from the metadata you actually retrieved. When it isn't sure, it says so and shows you the candidates.
Every component it names is backed by a tool call and cited with a canonical ID like CustomField:Account.Industry__c. No invented fields.
A typo-tolerant resolver turns messy phrasing into the right component. When several match, it hands you a clarifying question — it never silently picks one.
The vault lives on your machine. Answering makes no network calls. Live org reads are opt-in, read-only, capped — and never backfill stale claims.
$ sfi.capabilities
You never type a tool name. A deterministic router maps each question to the right tools and the plane that answers it.
Locate an object, field, class or Flow from a half-remembered name.
Explain a field, a Flow, an Apex method, a formula, or a save.
See what depends on something before you change or delete it.
Answer who-can-see-what, and why, across the visibility cascade.
Trace what runs and when — order of execution, call graphs, dead code.
Map how the org talks to the outside world.
Generate an org tour, a data dictionary, an architecture overview.
Check freshness, inventory PII, score technical debt.
how it works
No cloud service, no account. The whole index is files on your machine.
Run sfi refresh. It shells out to sf project retrieve against your org — read-only — and pulls the metadata down once.
It builds a local Markdown vault and a DuckDB dependency graph of objects, fields, Flows, Apex and permissions, connected by typed, confidence-tagged edges.
Question your org in plain language from any MCP client. Answers are served locally, stamped with provenance and freshness.
trust & provenance
Findings carry where they came from, how they were derived, and how complete the underlying coverage was.
› how it's tested — ~3,100 tests, full CI gate & the trust model
no fine print
Most tools hide their limits. This one states them, and tells you plainly when it hits one rather than papering over the gap with general Salesforce knowledge.
There is no write path. Every tool is read-only.
Vault tools never call Salesforce mid-conversation. Live reads are opt-in, capped, and clearly labelled.
The vault stores schema and source, not rows. “How many Opportunities closed?” is a live-org question.
Dynamic SOQL and reflective Apex are invisible — “no references” means “no static evidence”, not “unused”.
install
Distributed on npm as sf-intelligence — an MCP server plus the sfi CLI.
claude mcp add --transport stdio --scope project sf-intelligence -- npx -y sf-intelligence mcp
{
"mcpServers": {
"sf-intelligence": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sf-intelligence", "mcp"]
}
}
}
# 1. create the local vault and pick your org alias sfi init # 2. retrieve metadata and build the index (read-only) sfi refresh --target-org my-org-alias # 3. confirm freshness and component counts any time sfi status
Free and open source under Apache-2.0. One retrieve, and every answer after that is grounded in your real metadata.