Skip to main content
ClaudeWave

Salesforce AgentForce as a traversable knowledge graph — 40 nodes, /resolution billing path, MCP-native

MCP ServersOfficial Registry0 stars0 forksPythonNOASSERTIONUpdated today
Install in Claude Code / Claude Desktop
Method: UVX (Python) · ckg-agentforce
Claude Code CLI
claude mcp add ckg-agentforce -- uvx ckg-agentforce
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "ckg-agentforce": {
      "command": "uvx",
      "args": ["ckg-agentforce"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Use cases

MCP Servers overview

<!-- mcp-name: io.github.Yarmoluk/ckg-agentforce -->
# ckg-agentforce

ckg-agentforce — AgentForce as a traversable knowledge graph

[![PyPI version](https://img.shields.io/pypi/v/ckg-agentforce)](https://pypi.org/project/ckg-agentforce/)
[![Python](https://img.shields.io/badge/python-3.10+-blue)](https://pypi.org/project/ckg-agentforce/)
[![Data: ELv2](https://img.shields.io/badge/Data-ELv2-green)](LICENSE)
[![Code: MIT](https://img.shields.io/badge/Code-MIT-blue)](LICENSE-CODE)
[![ckg-agentforce MCP server](https://glama.ai/mcp/servers/Yarmoluk/ckg-agentforce/badges/score.svg)](https://glama.ai/mcp/servers/Yarmoluk/ckg-agentforce)
[![F1: 0.471 · 4× RAG](https://img.shields.io/badge/F1-0.471_%C2%B7_4%C3%97_RAG-brightgreen)](https://github.com/Yarmoluk/ckg-benchmark/blob/main/paper/main.pdf)

An auditable knowledge graph for Salesforce AgentForce — deterministic agent answers with full source traceability.

AgentForce charges **$2 per autonomous resolution**. Every failed resolution is a retry, a CSAT hit, and $2 with no outcome. Wrong inference is expensive here. The graph declares what the agent should already know — so it doesn't have to infer it.

Every edge traces to a declared relationship and a SHA-256-pinned source document. Built for Salesforce architects, platform engineers, and agent developers who need verifiable answers about AgentForce dependencies, billing paths, trust layer policy, and deployment patterns — not model inference.

Not a general-purpose semantic search layer. If it's not a declared edge, the graph doesn't return it.

```bash
pip install ckg-agentforce
# or: uvx ckg-agentforce
```

[PyPI](https://pypi.org/project/ckg-agentforce/) · [GitHub](https://github.com/Yarmoluk/ckg-agentforce) · [Benchmark paper](https://github.com/Yarmoluk/ckg-benchmark/blob/main/paper/main.pdf) · [graphifymd.com](https://graphifymd.com)

---

## What it is

40 nodes · 52 edges · the full AgentForce stack as a typed dependency graph. Pre-structured, traversable, deterministic. Served over MCP. No inference at query time.

```
get_prerequisites("Autonomous Resolution")

→ Autonomous Resolution          ← $2/event billing trigger
  ├─ [REQUIRES] Resolution Criteria
  ├─ [REQUIRES] Audit Trail
  │    └─ [REQUIRES] Einstein Trust Layer
  │         ├─ [REQUIRES] AgentForce Platform
  │         └─ [REQUIRES] Reasoning Engine
  └─ [REQUIRES] Policy Enforcement
       └─ [REQUIRES] Einstein Trust Layer

  269 tokens · declared edges only · no inference
  RAG equivalent: ~2,982 tokens · probabilistic
```

```
query_ckg("Einstein Trust Layer")

→ Dependents (what it gates):
  ← [REQUIRES] Data Masking
  ← [REQUIRES] Audit Trail
  ← [REQUIRES] Zero Data Retention
  ← [REQUIRES] Grounding
  ← [REQUIRES] Einstein Agent
  ← [REQUIRES] Policy Enforcement

Six capabilities gate on this one node. RAG returns six separate docs.
The graph knows — it's a declared edge.
```

---

## Source provenance — verifiable to the byte

Every node carries a `source_url` and a `source_hash` (SHA-256 of the source document's bytes at extraction time). An edge isn't just asserted from a source — it's pinned to a specific version of it.

```bash
# Verify any node's source hasn't changed since extraction
curl -s https://help.salesforce.com/s/articleView?id=sf.einstein_ai_trust_layer.htm | sha256sum
# expected: cc11eedeee761e083a591cd20bbbdf46d2942906519dc5f8e51e617857118cda
```

The full audit chain:
```
edge answer
  → graph commit hash       (git log -- agentforce.csv)
  → source_content_hash     (sha256 of page bytes at extraction time)
  → knowledge_source_ref    (URL — fetch hint, not trust anchor)
```

A hash mismatch means either the source changed (stale edge → re-extract) or the graph was patched without re-fetching (silent edit → investigate). No judgment required. Run `scripts/refresh_hashes.py` to recompute.

Via MCP — `verify_source("Einstein Trust Layer")`:
```
source_url:  https://help.salesforce.com/s/articleView?id=sf.einstein_ai_trust_layer.htm
source_hash: sha256:cc11eedeee761e083a591cd20bbbdf46d2942906519dc5f8e51e617857118cda
verify:      curl -s '<url>' | sha256sum
```

Reference implementation of `knowledge_source_ref` + `source_content_hash` from [GuardrailDecisionV1](https://github.com/Yarmoluk/ckg-nvidia-ai/blob/main/docs/guardrail-decision-v1.md).

---

## What developers are actually hitting

Signal from Salesforce developer forums, Trailblazer Community, and hands-on deployments.

**01 — The $2 retry problem.**
An agent misidentifies the resolution path. It attempts resolution, fails criteria, retries — $4 spent, zero outcome. The billing trigger lives four hops from Einstein Agent. Agents that don't traverse the full chain get it wrong.

**02 — "Which policy tier is blocking my agent?"**
Einstein Trust Layer gates six downstream capabilities. Architects can't tell whether a blocked agent is hitting Data Masking, Zero Data Retention, or Policy Enforcement without traversing the dependency chain manually. The graph makes it a one-hop query.

**03 — The Grounding Source Gap.**
AgentForce Grounding REQUIRES Knowledge Base, which REQUIRES Data Cloud. Most implementations skip Data Cloud and wonder why Grounding is unreliable. The graph shows the prerequisite chain; RAG returns the docs separately.

**04 — NVIDIA NIM integration path.**
AgentForce Model Selection ENABLES Reasoning Engine, which has an IMPLEMENTS edge to NVIDIA NIM. Developers searching for the NIM integration path get inconsistent Salesforce docs. The declared edge makes it deterministic.

---

## Declared relationships, not confidence scores

Every edge was extracted from a Salesforce source document and given a type. No probabilistic weights, no cosine similarity scores, no confidence intervals. An edge either exists — declared, typed, sourced — or it doesn't. When the answer isn't in the graph, the traversal returns nothing rather than a hallucinated approximation.

**Edge types:**

| Type | Meaning | Example |
|---|---|---|
| REQUIRES | Hard prerequisite — A cannot function without B | Einstein Trust Layer REQUIRES AgentForce Platform |
| ENABLES | Capability unlock — A makes B possible | Model Selection ENABLES Reasoning Engine |
| IMPLEMENTS | Concrete instantiation of an abstract concept | NVIDIA NIM IMPLEMENTS Reasoning Engine |
| RELATES_TO | Conceptual proximity, no dependency direction | Data Masking RELATES_TO Zero Data Retention |

Why no confidence levels? The edge type is the confidence signal. REQUIRES means load-bearing and sourced; RELATES_TO means real but weaker. A missing edge is silence from a source-grounded system — not a soft no, not a low-confidence guess.

```
✗ RAG:  "Einstein Trust Layer probably governs data access... (similarity: 0.79)"
        Score is on the chunk, not the claim. The claim itself is unverified.

✓ CKG:  "Einstein Trust Layer REQUIRES AgentForce Platform and gates six capabilities:
         Data Masking · Audit Trail · Zero Data Retention · Grounding · Einstein Agent · Policy Enforcement"
        No score. Declared edge. Traces to trust layer source doc.
```

---

## A/B — AgentForce domain, local models, no GPU

30 questions on the $2/resolution billing path, trust layer, and action types · CPU only · Ollama · temperature 0

| Category | Bare model | + CKG | Lift |
|---|---|---|---|
| Billing path F1 | 0.091 | 0.201 | +121% |
| Trust layer F1 | 0.063 | 0.134 | +113% |
| Prereq-chain F1 | 0.058 | 0.142 | +145% |
| Key-fact accuracy | 8.1% | 19.4% | +11pp |

Example — P01 (billing prereq chain):
```
Q: What must resolve before AgentForce charges the $2 resolution fee?
✗ Bare: "The agent completes the customer's request successfully..." [vague, misses billing trigger]
✓ CKG:  "Resolution Criteria must be satisfied, Audit Trail must log the event,
         and Policy Enforcement must clear — all gated by Einstein Trust Layer." [exact chain]
```

Example — L03 (action type lookup):
```
Q: What are the four AgentForce action types?
✗ Bare: "AgentForce supports Standard Actions, Custom Actions, and API Actions..." [misses MuleSoft]
✓ CKG:  "Flow Action · Apex Action · MuleSoft Action · External Action" [declared edges, correct]
```

---

## Install

**Add to claude.ai (no install required):**
```
https://ckg-agentforce.onrender.com/mcp
```
Settings → Connectors → Add connector → paste URL.

**Local — Claude Desktop / Claude Code:**
```bash
pip install ckg-agentforce
# or
uvx ckg-agentforce
```

```json
{
  "mcpServers": {
    "agentforce": {
      "command": "uvx",
      "args": ["ckg-agentforce"]
    }
  }
}
```

---

## Tools

- **list_concepts** — List all 40 AgentForce concepts grouped by type
- **search_concepts** — Fuzzy search across all concepts by keyword
- **query_ckg** — Typed subgraph around any concept (1–5 hops)
- **get_prerequisites** — Full upstream prerequisite chain for any concept
- **resolution_path** — The exact $2/resolution billing traversal — every hop declared
- **verify_source** — Source URL + SHA-256 hash for any concept (GuardrailDecisionV1)

| Tool | Args | Description |
|---|---|---|
| `list_concepts()` | — | All 40 AgentForce concepts grouped by type |
| `search_concepts(query)` | query: str | Fuzzy search across all concepts |
| `query_ckg(concept, depth)` | concept: str, depth: int 1–5 | Typed subgraph around any concept |
| `get_prerequisites(concept)` | concept: str | Full upstream prerequisite chain |
| `resolution_path()` | — | The $2/resolution billing traversal — every hop declared |
| `verify_source(concept)` | concept: str | Source URL + SHA-256 hash · full audit chain |

---

## What's in the graph

40 nodes · 52 edges · 4 edge types: REQUIRES · ENABLES · IMPLEMENTS · RELATES_TO

| Layer | Concepts |
|---|---|
| Agents | Einstein Agent · Service Agent · Sales Agent · Marketing Agent |
| Actions | Flow Action · Apex Action · MuleSoft Action · External Action · Standard Action · Custom Action |
| Platform | AgentForce Platform · Data Cloud · Salesforce CRM · Knowledge Bas

What people ask about ckg-agentforce

What is Yarmoluk/ckg-agentforce?

+

Yarmoluk/ckg-agentforce is mcp servers for the Claude AI ecosystem. Salesforce AgentForce as a traversable knowledge graph — 40 nodes, /resolution billing path, MCP-native It has 0 GitHub stars and was last updated today.

How do I install ckg-agentforce?

+

You can install ckg-agentforce by cloning the repository (https://github.com/Yarmoluk/ckg-agentforce) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is Yarmoluk/ckg-agentforce safe to use?

+

Yarmoluk/ckg-agentforce has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains Yarmoluk/ckg-agentforce?

+

Yarmoluk/ckg-agentforce is maintained by Yarmoluk. The last recorded GitHub activity is from today, with 3 open issues.

Are there alternatives to ckg-agentforce?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy ckg-agentforce to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: Yarmoluk/ckg-agentforce
[![Featured on ClaudeWave](https://claudewave.com/api/badge/yarmoluk-ckg-agentforce)](https://claudewave.com/repo/yarmoluk-ckg-agentforce)
<a href="https://claudewave.com/repo/yarmoluk-ckg-agentforce"><img src="https://claudewave.com/api/badge/yarmoluk-ckg-agentforce" alt="Featured on ClaudeWave: Yarmoluk/ckg-agentforce" width="320" height="64" /></a>

More MCP Servers

ckg-agentforce alternatives