Salesforce-Intelligence
Know what breaks before you change Salesforce. Ask your AI about your org: where a field is used, what runs on save, which Apex is dead, who can see what. Offline, read-only, cited. Open source (MIT).
Install / Use
claude mcp add PranavNagrecha -- npx -y github:PranavNagrecha/Salesforce-IntelligenceIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of Salesforce-Intelligence
Salesforce-Intelligence scores 83/100 on our quality scale, 662nd of 947 AI & Machine Learning skills we index.
Its MCP Server is 31 KB long, well organised into 37 sections with 11 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 11 days ago, so Salesforce-Intelligence is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-10-31. Automated pattern scan on 2026-10-31. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
Salesforce-Intelligence compared with similar skills
All 4 of these similar skills score higher than Salesforce-Intelligence; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Salesforce-Intelligence (this skill)by PranavNagrecha | 83 | 3 | 11d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 107.1k | 6d ago | CLAUDE.md |
| claude-memby thedotmack | 100 | 107.0k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 89.3k | 5d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.4k | today | CLAUDE.md |
Frequently asked questions
- How do I install Salesforce-Intelligence?
- Run
claude mcp add PranavNagrecha -- npx -y github:PranavNagrecha/Salesforce-Intelligence. The install tabs above show the steps for each supported agent. - Which AI agents does Salesforce-Intelligence work with?
- It is written for Claude Code, Claude Desktop and Cursor, as a MCP Server file. Other agents that read the same format can often use it too.
- Is Salesforce-Intelligence safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Salesforce-Intelligence still maintained?
- The repository was last updated 11 days ago, so Salesforce-Intelligence is actively maintained.
Skill content
View source on GitHubsf-intelligence
Know what breaks before you change Salesforce. Ask the AI assistant you already use about your org. sf-intelligence runs on your computer, never writes to your org, and every answer names the components it came from.
<p align="center"><img src="assets/demo.gif" alt="A question typed into an AI assistant: can I delete Project__c.Risk_Score__c? The answer: not safe, blocking; the Apex handler writes it, its test reads it, the Residential layout shows it; every line cites a component." width="820"></p>Website, demo and docs: sfi.auditforce.cloud · Works in Claude Code, Claude Desktop, Cursor, VS Code + Copilot and Codex.
What it answers
The questions below were checked by an outside reviewer against a real production org (about 4,700 components) by reading the raw metadata. The answers were right.
| Ask | What you get back | |---|---| | Where is this field used? | Every Apex class, flow, layout, validation rule, report and page that references it, each with how it was found (declared, parsed or heuristic) | | Can I delete this field? | A verdict (safe, risky, blocking, review) with the reasons and the components behind each one, plus what was not checked | | What happens when I save a record? | The save order for one object and one event: triggers, validation rules, flows, approvals, in the sequence they run | | Which Apex is dead? | Classes and triggers nothing calls, with the honest tier (definitely, likely, uncertain) and why | | Who can see or edit this? | Effective permissions from profile plus permission sets, and why a given user cannot see a record |
A real answer from the built-in demo org (a solar installer called Verdant), unedited:
Can I delete
Project__c.Risk_Score__c? Not safe to delete: blocking.ProjectTriggerHandlerwrites it andProjectTriggerHandlerTestreads it (parsed from the Apex); the Residential page layout shows it (declared). Checked: Apex, flows, workflow rules, validation rules, layouts. Not checked: assignment, auto-response and escalation rules, because they were not retrieved.
Try it in three commands
npm install -g sf-intelligence
claude mcp add --scope user sf-intelligence-demo -- npx -y sf-intelligence demo # a built-in demo org, no Salesforce login; then ask your assistant a question
cd your-sfdx-project && sfi init --target-org my-org-alias # then: connect your own org (read-only retrieve)
sfi demo on its own starts an MCP server and waits for a host; it is not a command to run in a terminal.
Then register the server in your AI host; the install guide has the exact block for each host. Or one click: Try the built-in demo org in Cursor in one click (no Salesforce login). AI agents installing this server: see llms-install.md.
By default your assistant sees 16 tools: the eight that answer the questions above and eight that help it find its way (sfi.resolve, sfi.search_components, sfi.get_component, sfi.health_check, sfi.list_analyses, sfi.describe_analysis, sfi.run_analysis, sfi.live_consent). Every other analysis sits behind one gateway tool, sfi.run_analysis, and is listed by sfi.list_analyses. The vault is a local folder, answers are served offline, and the optional live read-only plane is off until you turn it on. What your AI assistant does and does not see is in Privacy.
For engineers: how the vault, the dependency graph and your assistant fit together is in How it works; what is deliberately not modeled is in What it does NOT do.
Ask it like a person
You don't need to know the exact API name of anything. A typo-tolerant resolver turns messy phrasing into the right component, and when it isn't sure it asks you a clarifying question instead of guessing:
You: where's the emale field?
It: I found several matches for "email" — which did you mean? ·
Email__conAccount·Email__conContact·Alternate_Email__conLead
You: what about the paymnet object?
It:
Payment__c— one confident match.
You: is there a "warranty fee" field?
It: Nothing matched that confidently. Your vault was last refreshed on 2026-05-20 — want to pull fresh metadata from the org (
/sfi-refresh) in case it's new, or rephrase?
It never silently commits to a guess. When several components are plausible it asks which you meant; when nothing matches it offers to refresh from the org or stop. A high match score is string similarity, not proof.
How it works
One read-only refresh turns your org into a local vault: the raw metadata,
one Markdown page per component, and a dependency graph. From then on every
question is answered offline. Your AI assistant resolves the name you used,
calls one of the 16 default tools (or sfi.run_analysis for any other
analysis), and builds its answer only from what came back, citing each
component.
flowchart TB
subgraph REFRESH["Refresh — once, and whenever the org changes"]
direction LR
ORG[("Salesforce org")] -->|"sf project retrieve (read-only)"| SRC["source/ raw metadata"]
SRC -->|"extract + parse Apex / Flow / XML"| VAULT[("Local vault<br/>Markdown + DuckDB graph")]
end
subgraph ASK["Ask — every question, offline on your machine"]
direction TB
Q["Your question<br/>(plain language)"] --> HOST["Your AI assistant<br/>(Claude, Cursor, Copilot, Codex)"]
HOST -->|"1 · sfi.resolve"| RESOLVE["The component you meant<br/>(or a clarifying question)"]
RESOLVE --> HOST
HOST -->|"2 · a core tool, or<br/>sfi.run_analysis for the rest"| TOOLS["sfi.* analysis"]
TOOLS -->|"read"| VAULT
TOOLS -.->|"opt-in, read-only, capped"| LIVE[("Live org")]
TOOLS -->|"cited components + confidence<br/>+ what was not checked"| HOST
HOST --> ANS["Grounded answer"]
end
Every box on the Ask path runs on your machine; the dotted edge to the live org is the only one that can touch Salesforce, and only after you opt in.
How it stays honest
Every answer is built from tool output, never from general Salesforce
knowledge. Each relationship carries how it was found: declared (stated in
the metadata), parsed (from Apex, Flow or formula source) or heuristic
(pattern matching, so spot-check before acting). Each answer says which
metadata families were checked and which were not, so "nothing references
this" always means "no evidence in what was retrieved". A request to change
the org is refused and answered with the read-only check that fits instead.
For "what does this imply" questions, a deterministic, offline concept model
of general Salesforce truth (never your org's data) adds cited structural
claims, such as a master-detail cascade delete or two flows with an undefined
order. The details: routing and refusal,
architecture and the trust boundary,
asking questions,
ADR-001 confidence-tagged edges
and ADR-008 deterministic reasoning.
What you can ask
Every area answers in plain language; ask "what can you do?" for the live map.
| Area | Example questions | | --- | --- | | Find & identify | "where is the email field?" · "what's the payment object called?" | | Understand | "what does this validation rule do?" · "what happens when an Account is saved?" (automation on standard objects works even when the object itself was not retrieved; the answer says so) | | Impact & dependencies | "what breaks if I delete this field?" · "is it safe to deactivate this flow?" | | Permissions & sharing | "why can't this user see this record?" · "who can edit the Salary field?" · "who holds the Sales Manager permission set?" (live) · "what does user Jane hold?" (live) · "who's in the Support queue?" (live) · "which active users have zero permission-set assignments?" (live) | | Automation & code | "what runs on Case create?" · "which Apex methods have no real test coverage?" · "decode this Apex debug log / governor-limit exception to the class that ran" | | Decision-support (before you build/change) | "before I add automation to this object, what already runs there?" · "building Apex here — what should I watch out for?" · "before I change/require this field, what breaks?" | | Architect & developer | "are there circular Apex dependencies?" · "which classes have no test reference?" · "does the vault still match the live org?" | | Integrations | "what external systems does this org talk to?" · "list every outbound endpoint" | | Documentation | "give me a tour of this org" · "generate a data dictionary" · "which reports / objects / permission sets have no description?" | | Health & audit | "is my vault fresh?" · "where is PII stored?" · "how has the org changed across refreshes?" |
All of these are read-only briefings; none of them write to the org. Every
component an answer names is backed by a tool call and cited with its
canonical id (CustomObject:Account, CustomField:Account.Industry__c), and
every relationship with its confidence (declared, parsed or heuristic).
The full catalog with the live counts comes from sfi.capabilities (through
sfi.run_analysis) or the tools page;
the counts are pinned by eval/product-manifest.json, never typed by hand.
What it does NOT do
Boundaries are explicit, and the product tells you plainly when it hits one rather than papering over the gap with general Salesforce knowledge:
- Offline by default. Vault tools never call Salesforce mid-conversation.
Run
/sfi-refresh(orsfi refresh) to update metadata. The opt-in live tools (sfi.live_*) run read-only queries with strict caps and label their answerslive_org. They stay off until you grant consent once per org withsfi.live_consent { grant: true }(bound to the org and user, scoped, expiring, stored locally) or setSFI_LIVE_PLANE_ENABLED=1. A per-callliveEnabled: trueis intent only, not consent. Hybrid answers combine the vault and the live org and say so. The product never picks which org to query on its own. - No record-level data. The vault stores schema and source, not rows. "How many Opportunities closed last quarter" is a question for your org directly.
- Static analysis, not runtime. Dependency edges come from metadat
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
107.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
claude-mem
107.0kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
89.3kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
