Skip to main content
Glama
Yarmoluk

ckg-agentforce

by Yarmoluk

ckg-agentforce

ckg-agentforce — AgentForce as a traversable knowledge graph

PyPI version Python Data: ELv2 Code: MIT ckg-agentforce MCP server F1: 0.471 · 4× RAG

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.

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

PyPI · GitHub · Benchmark paper · 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.

Related MCP server: RAG Knowledge Graph MCP

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.

# 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.


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:

pip install ckg-agentforce
# or
uvx ckg-agentforce
{
  "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

route_query(question)

question: str

CKG Router — optimal model tier + reasoning approach from graph depth

route_query(question) — CKG Router

The graph depth IS the routing signal. AgentForce dependency chains (Einstein Trust Layer → Data Cloud → NVIDIA NIM → Resolution Criteria) signal reasoning complexity deterministically. No heuristic: the graph decides.

Hop depth

Model

Reasoning

1

haiku

direct

2

sonnet

generic_cot

3+

opus

sparql_cot

A/B — before vs after routing:

# Baseline (no routing)
query_ckg("Einstein Trust Layer", depth=3)
→ subgraph returned, caller guesses model...
→ calls GPT-4o on everything, $0.072/query

# Treatment (route_query)
route_query("Einstein Trust Layer")
→ model_tier: sonnet
→ reasoning_approach: generic_cot
→ why: 2-hop chain, 3 parallel branches — moderate complexity
→ ~480 tokens, $0.0014/query

Same answer. 98% cheaper. Graph depth made the decision.

Works with any LLM — Claude, GPT-4o, Gemini, Llama. Model-agnostic by design.


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 Base

Reasoning

Reasoning Engine · Model Selection · NVIDIA NIM · Token Budget · Context Window

Trust

Einstein Trust Layer · Data Masking · Zero Data Retention · Policy Enforcement · Compliance Rules

Workflow

Agent Topic · Agent Instruction · Resolution Criteria · Conversation State · Grounding

Billing

Autonomous Resolution ($2/event) · Audit Trail · Agent Metrics · Handoff to Human

Routing

Omni-Channel Routing · Multi-Agent Orchestration · Prompt Template

Every node traces to an authoritative Salesforce source document. Every source is SHA-256 pinned.


Pro access — all 97 domains

Get Pro — $99/mo

Remote MCP connector · no install · paste one URL into claude.ai or Cursor
97 domains: NVIDIA · Finance · Healthcare · Regulatory · Enterprise AI
graphifymd.com/pro/


Sources

Every node and edge traces to one of these. No probabilistic inference — declared relationships only.

Type

Source

Coverage

Official

developer.salesforce.com/docs/einstein/genai/guide/agentforce-overview.html

Platform, agents, actions, grounding

Official

Salesforce Einstein Trust Layer docs

Trust, Data Masking, ZDR, Policy Enforcement

Official

AgentForce billing and resolution docs

Autonomous Resolution, $2/event trigger, Audit Trail

Official

Data Cloud integration guide

Data Cloud, Knowledge Base, Grounding chain

Official

Model selection and NIM integration

Reasoning Engine, NVIDIA NIM, Model Selection

Dataset

huggingface.co/datasets/danyarm/ckg-benchmark

KRB v0.6.2 — 7,928 queries

Benchmark

github.com/Yarmoluk/ckg-benchmark/paper/main.pdf

Full methodology, F1 0.471


Benchmark (KRB v0.6.2 locked)

System

Macro F1

Mean tokens

Cost / 1k queries

CKG

0.471

269

$7.81

RAG

0.123

2,982

$76.23

GraphRAG

0.120

~3,000

~$76

7,928 queries · 5-hop F1: 0.772 (CKG) vs 0.170 (RAG) · dataset · full paper


Licensing

Layer

License

Plain English

Server code — server.py, graph.py, serve.py, scripts/

MIT

Do anything. Fork it, embed it, sell products built on it.

Graph data — domains/agentforce.csv + source hashes

Elastic License 2.0

Free for all internal and commercial use. Cannot offer this graph as a competing hosted service.

Extraction pipeline + benchmark harness

Proprietary — Graphify.md

Not in this repo. How 97 domains get built and maintained.

Can I build an agent or product using this CKG? Yes. No restrictions.
Can I run this inside my company's infrastructure? Yes. ELv2 allows all internal commercial use.
Can I offer "AgentForce CKG as a Service" commercially? No. That's the one thing ELv2 blocks.


EVAL

benchmark: ckg-benchmark v0.6.2
dataset: huggingface.co/datasets/danyarm/ckg-benchmark
benchmarked: false
rag_baseline_f1: 0.123
graphrag_baseline_f1: 0.120
mean_tokens: 269
paper: github.com/Yarmoluk/ckg-benchmark/blob/main/paper/main.pdf

Want this for your domain?

Graphify.md builds CKGs for enterprise domains — AgentForce, NVIDIA, finance, healthcare, and custom stacks. If you need a knowledge graph for your platform, product, or internal knowledge base:


Built by Graphify.md · 97 domains · PyPI · patent pending

Community-built. Not affiliated with, endorsed by, or sponsored by Salesforce, Inc. AgentForce and Einstein are trademarks of Salesforce, Inc. All referenced trademarks belong to their respective owners.

Available Tools

9 tools
evaluate_trust_chainAInspect

Return a machine-readable JSON trust chain + ROI analysis + payment recommendation.

Designed for autonomous agent consumption. The agent reads the JSON, evaluates the ROI gate, selects the cheapest positive-ROI payment option, and purchases autonomously if budget is pre-authorized.

Trust chain closes the audit gap that RAG cannot: source_hashes → SHA-256 of source docs (what was known at extraction time) graph_hash → SHA-256 of the installed graph file (what is declared now) signer_key_id → Ed25519 public key fingerprint (who is attesting) benchmark_receipt → BoundaryAttest-signed F1 claim (cryptographic performance proof) scitt_status → SCITT ledger submission status (public audit anchor)

ROI gate: if total_value_per_call_usd > payment_option.price_per_call_usd → autonomous_pay = true.

Returns: JSON string (schema: ckg-trust-chain-v1).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully describes the tool's behavior: it returns a JSON with specific fields (source_hashes, graph_hash, etc.) and explains the ROI gate logic. It does not disclose side effects or state changes, but the tool appears to be read-only. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with bullet points for trust chain components, front-loading the purpose. It is moderately long but each sentence adds value. Could be slightly more concise but overall appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of trust chain evaluation and ROI analysis, and the presence of an output schema (ckg-trust-chain-v1), the description covers the key aspects: return format, decision rule, and trust chain fields. It is complete enough for an autonomous agent, though the output schema details are not elaborated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is 100%. Per the rubric, 0 parameters gives a baseline of 4. No additional parameter information is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a machine-readable JSON trust chain with ROI analysis and payment recommendation, specifying it's for autonomous agent consumption. It distinguishes itself by listing unique trust chain components that close the audit gap, differentiating from sibling tools like list_concepts or search_concepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: for autonomous agents to evaluate trust, compare ROI, and autonomously purchase. It explains the decision rule (ROI gate) and mentions budget pre-authorization. However, it does not explicitly state when not to use it or compare to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_benchmark_receiptAInspect

Generate a signed BoundaryAttest receipt for the agentforce CKG benchmark result.

Produces a ckg.benchmark_result.exported claim signed with this server's Ed25519 session key. Any party holding the public key can verify the signature over the canonical JSON claim. Implements GuardrailDecisionV1 · experimental-interop-v0.1.

Result: F1 0.471 over 30 queries · ckg-benchmark v0.6.2 · 4× over RAG baseline (0.123).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the burden of behavioral disclosure. It explains that the tool generates a signed claim using an Ed25519 session key, that the signature is verifiable, and includes implementation references (GuardrailDecisionV1). It does not mention destructive behavior, rate limits, or idempotency, but the described action is inherently non-destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences: the first clearly states the tool's purpose, the second adds technical detail about the signature mechanism, and the third provides a concrete example. Every sentence earns its place, with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an expected output, the description fully covers what the agent needs to know: the nature of the receipt, the signing key, verifiability, and a sample output. The presence of an output schema (true) reduces the need to describe return values, but the description still provides valuable context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description does not need to elaborate on parameter meanings. It adds context by explaining what the tool produces and including an example result, which is sufficient beyond baseline for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Generate') and resource ('signed BoundaryAttest receipt') clearly indicating the tool's output. It explicitly names the benchmark context ('agentforce CKG benchmark result'), distinguishing it from sibling tools like list_concepts or query_ckg.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool vs. alternatives or when not to use it. However, the context of exporting a signed receipt is narrow enough that the usage scenario is implicitly clear. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_prerequisitesAInspect

Return the full ordered prerequisite chain for an AgentForce concept.

Shows everything the concept depends on — the complete upstream path.

Args: concept: Target concept — e.g. 'Autonomous Resolution', 'Multi-LoRA Serving', 'Custom Actions', 'Semantic Retrieval'.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It clearly states the tool returns an ordered prerequisite chain, implying a read-only, non-destructive operation. It does not mention any side effects or special requirements, but the behavior is transparent enough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences and an Args section. Every sentence adds value, and the structure is clean with front-loaded purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter input and the presence of an output schema, the description is complete. It does not need to explain return values since the output schema covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaning by specifying 'Target concept' and providing examples like 'Autonomous Resolution'. This compensates for the lack of schema property descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Return the full ordered prerequisite chain for an AgentForce concept. Shows everything the concept depends on — the complete upstream path.' This distinguishes it from siblings like list_concepts and search_concepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates usage by showing concept examples, but it does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives like resolution_path or evaluate_trust_chain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_conceptsBInspect

List all 40 AgentForce concepts in this knowledge graph.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behaviors. It only states it lists concepts, but does not mention read-only nature, performance characteristics, or result format. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and an output schema, the description is largely complete. It could mention if pagination or rate limits exist, but given the simplicity, it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to add parameter info. Since schema coverage is 100% (vacuously), and the description adds no parameter details, baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('List') and the resource ('all 40 AgentForce concepts'), making it distinct from sibling tools like search_concepts which implies filtering. However, it does not explicitly differentiate itself in the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., search_concepts for filtered queries). The description lacks context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_ckgAInspect

Traverse the AgentForce knowledge graph from any concept.

Returns prerequisites (what this concept needs) and dependents (what it enables). Every relationship traces to an authoritative Salesforce doc URL.

Args: concept: Concept name — e.g. 'Autonomous Resolution', 'Einstein Trust Layer', 'Service Agent', 'Grounding', 'NVIDIA NIM'. depth: Traversal depth 1–5 (default 3).

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
conceptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, but description discloses query-only behavior, output structure (prerequisites, dependents, doc URLs), and depth limits. Adequate for a read-only graph traversal tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four concise sentences plus a clear Args block. Front-loaded purpose, no redundancy, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values may be documented there. Description covers relationship types and source URLs. Very good but could mention if traversal is bidirectional or depth scope more precisely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description thoroughly explains both parameters: concept with explicit examples, depth with range and default. Adds significant meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Traverse' with specific resource 'AgentForce knowledge graph' and result 'prerequisites and dependents'. Distinguishes from siblings like list_concepts and search_concepts by emphasizing relationship traversal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage via example concepts and explicit depth parameter, but no comparison to siblings like get_prerequisites or resolution_path. Lacks when-to-use vs alternatives context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolution_pathAInspect

Trace the exact path that determines an AgentForce autonomous resolution event.

This is the $2/resolution billing path — what the agent must traverse correctly to resolve autonomously without human handoff.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description provides some behavioral context by noting it is a billing path and that the agent must traverse it correctly. However, it lacks details on whether it is read-only, what happens if the path does not exist, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no redundancy. The first sentence states the core function, the second adds meaningful billing context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and an existing output schema, the description sufficiently explains what the tool does and its significance. It could be more complete by mentioning typical use cases or output format, but that is partially covered by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4 per instructions. The description does not need to add parameter details, and the schema coverage is trivially 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear verb ('trace') and a unique resource ('exact path that determines an AgentForce autonomous resolution event'). It distinguishes from siblings (e.g., search_concepts, query_ckg) by focusing on a billing-specific resolution path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus siblings or prerequisites. The description implies it is for tracing the resolution path but does not specify contexts that would make it the correct choice (e.g., after a resolution event).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

route_queryAInspect

Route an AgentForce question to the optimal model and reasoning approach via graph depth.

The CKG graph IS the router. AgentForce dependency chains (e.g. Einstein Trust Layer → Data Cloud → NVIDIA NIM → Resolution Criteria) have typed hops that signal reasoning complexity deterministically. No heuristic: the graph decides.

Routing table: hop_depth 1 → haiku · direct (simple concept lookup) hop_depth 2 → sonnet · generic_cot (moderate chain) hop_depth 3+ → opus · sparql_cot (deep dependency, structured reasoning)

Args: question: Concept name or natural language question about Salesforce AgentForce.

Returns: model_tier + reasoning_approach + why + context subgraph to inject before LLM call.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes the tool as deterministic based on graph depth, and lists return fields (model_tier, reasoning_approach, why, context subgraph). No annotations are provided, so the description carries the full burden. It is fairly transparent, though it does not mention error handling or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose, mechanism, routing table, args, returns. It is detailed but not excessively long. Some sentences are slightly verbose but add clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, the description sufficiently covers input type and return fields. It lacks details on error scenarios or performance, but overall is complete enough for an AI agent to use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains that the 'question' parameter can be a 'Concept name or natural language question about Salesforce AgentForce,' adding meaningful context beyond the schema's title 'Question.' With schema description coverage at 0%, this compensates well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Route') and the target ('AgentForce question to optimal model and reasoning approach'). It distinguishes itself from sibling tools like list_concepts, search_concepts, and query_ckg by focusing on routing to models rather than querying or listing concepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit routing logic with a table mapping hop depths to models and reasoning approaches. It explains that the CKG graph decides deterministically. However, it does not explicitly state when to avoid this tool or compare it with alternatives like query_ckg.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_conceptsAInspect

Find AgentForce concepts by keyword.

Args: query: Search term — e.g. 'resolution', 'trust', 'grounding', 'action', 'NIM'.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states basic functionality (find by keyword) without disclosing behaviors such as case sensitivity, pagination, result limits, or whether it's read-only. The output schema exists but the description does not hint at what is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with a main sentence and a single parameter explanation. It is front-loaded with the core action. A slightly more structured format with explicit sections could improve scannability, but it remains efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one required parameter and an output schema, the description is minimal but sufficient for basic understanding. However, it lacks details on output format, maximum results, or any constraints, which would enhance completeness for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds critical meaning to the sole parameter 'query' by providing examples ('resolution', 'trust', 'grounding', 'action', 'NIM') and clarifying it is a free-text search term. This significantly aids correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Find', the resource 'AgentForce concepts', and the method 'by keyword'. It distinguishes itself from the sibling 'list_concepts' which likely lists all concepts. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an example of query terms but does not explicitly state when to use this tool versus alternatives like 'list_concepts' or 'query_ckg'. There is no guidance on when not to use it or prerequisites, leaving the context implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_sourceAInspect

Return the source URL and content hash for an AgentForce concept node.

Audit chain: edge answer → graph commit → source_hash → source_url (fetch hint)

Verification: curl -s | sha256sum # compare output to source_hash

Args: concept: Concept label (partial match supported). receipt: If True, also return a signed BoundaryAttest receipt envelope (experimental-interop-v0.1) binding concept_label + source_url + source_hash + timestamp to this server's ed25519 session key.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYes
receiptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses behavior: returns URL and hash, optional receipt, and hints at network call (curl). Good transparency for a read-like operation, though could mention if side effects exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections (audit chain, verification, args), but the code block and step-by-step instructions could be more concise. Still effective and not overly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (as per context signals), the description sufficiently covers what the tool does, what inputs are needed, and what behavior to expect. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description fully compensates. 'concept' is explained as label with partial match support. 'receipt' is explained as experimental interop envelope with details. Adds significant meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns source URL and content hash for a concept node, with specific actions like audit chain and verification. It is distinct from sibling tools like search_concepts or list_concepts, which do not perform verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for verifying source integrity via audit chain and curl/sha256sum, but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have distinct purposes, but 'get_prerequisites' overlaps with the prerequisite functionality of 'query_ckg', which could cause confusion. Overall, boundaries are mostly clear.

Naming Consistency4/5

Most tools follow a verb_noun pattern, but 'resolution_path' is a noun_noun, breaking the consistency. Otherwise, naming is predictable.

Tool Count5/5

With 9 tools, the set is well-scoped for a knowledge graph server, covering query, exploration, and trust verification without being excessive or thin.

Completeness4/5

The tool set covers core exploration, verification, and trust operations. However, a dedicated tool to retrieve full concept details is missing, creating a minor gap.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A Compact Knowledge Graph MCP server providing pre-structured domain knowledge as a routing layer for agent stacks, enabling efficient structural queries (e.g., prerequisites, dependency chains) without hallucinations.
    4
    4
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    A local, privacy-first knowledge graph for Salesforce orgs. It live-syncs your org to a SQLite + vector index on your machine and exposes 26 MCP tools to Cursor, Claude Code/Desktop, and VS Code, so the AI you already use can reason about Apex, LWC, Flow, Vlocity, OmniStudio, security, and integrations without your code or schema ever leaving your laptop.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yarmoluk/ckg-agentforce'

If you have feedback or need assistance with the MCP directory API, please join our Discord server