Skip to main content
Glama
SquireX-dev

@squirex.dev/mcp-server

Official
by SquireX-dev

@squirex.dev/mcp-server

SquireX MCP Server — Agentforce Capability Scanner for AI Coding Agents

npm version License

Model Context Protocol server exposing the SquireX Agentforce Capability Scanner to AI-powered developer tools. Works with Claude Code, Gemini, GitHub Copilot, and any MCP-compatible IDE.


Why SquireX?

Salesforce Agentforce agents use LLMs to autonomously execute Apex, Flows, and external services. Without guardrails, this creates OWASP LLM Top 10 vulnerabilities:

  • šŸ”“ Excessive Agency — Agents that modify data without user confirmation

  • šŸ”“ Prompt Injection — User input that hijacks agent instructions

  • šŸ”“ Privilege Escalation — Actions running in system context without sharing

  • 🟠 Supply Chain — Stale API versions that silently skip metadata types

SquireX scans your Agentforce metadata with 61+ SAST rules across 27 categories and integrates directly into your AI coding workflow.


Related MCP server: frogeye-mcp

Quick Start

Add to your AI IDE configuration (Claude Code, Gemini, VS Code, JetBrains):

{
  "mcpServers": {
    "squirex": {
      "command": "npx",
      "args": ["-y", "@squirex.dev/mcp-server"],
      "env": {
        "SQUIREX_PROJECT_DIR": "/path/to/your/salesforce/project"
      }
    }
  }
}

That's it. Your AI agent now has access to the Agentforce Capability Scanner.


MCP Surface

Tools (16)

Core Scanning (Primary Value)

Tool

Description

scan_agentforce

Run all 61+ SAST rules against the project. Returns SARIF.

scan_agentforce_file

Scan a single metadata file (.genAiFunction-meta.xml, .agent, etc.)

scan_agentforce_rule

Run a specific rule (e.g., AGENTFORCE-1.1)

Rule Intelligence

Tool

Description

list_scan_rules

List all 61+ rules with ID, category, severity

get_rule_details

Deep dive: description + remediation guidance

explain_violation

Root-cause analysis for a specific violation

suggest_fix

Generate a code/metadata fix suggestion

Apex Testing & Schema

Tool

Description

run_tests

Execute Apex tests locally using the Go interpreter

get_coverage

Extract line-level code coverage data

analyze_schema

Aggregate inferred SObject schema from the codebase

predict_conflicts

Predict merge conflicts between branches

generate_sarif_report

Generate SARIF for CI/CD pipeline integration

Testing Center Bridge

Tool

Description

generate_dx_tests

Convert scan violations → Agentforce DX test YAML for Testing Center

validate_dx_tests

Validate DX test spec syntax and schema

push_to_testing_center

Push test spec to Salesforce via sf agent test run

get_testing_center_results

Get status/results of a Testing Center test run

Resources (6)

URI

Description

squirex://scan/rules

Complete 51+ rule catalog

squirex://scan/rules/{id}

Rule detail with remediation

squirex://scan/results/latest

Latest scan results (SARIF)

squirex://schema/objects

Inferred SObject schema

squirex://test-results/latest

Latest Apex test results

squirex://coverage/latest

Latest code coverage

Prompts (4)

Prompt

What It Does

review-agentforce-security

Full 51+ rule scan → prioritized remediation plan

fix-agentforce-violation

Diagnose + fix a specific violation

harden-agent-metadata

Proactive defense-in-depth review

generate-test-evaluation

Generate Agentforce DX test YAML specs for Testing Center


Agentforce Capability Scanner — 61+ Rules

#

Category

Rules

Severity

1

Action Configuration

Mandatory Confirmation, Schema Sync, Privilege Analysis

šŸ”“ Critical / 🟠 High

2

Agent Script Safety

Validation Guards, Transition Integrity, Prompt Injection Defense

šŸ”“ Critical / 🟠 High

3

Grounding Security

Hardcoded Secrets, FLS Masking Alignment

šŸ”“ Critical / 🟠 High

4

Structural Dependency

Planner Completeness, Deactivation Collision, Evaluation Governance

🟠 High / 🟔 Medium

5

Flow Security

Flow Context/Silent State/Injection, API Injection, PT Poisoning/Activation

šŸ”“ Critical / 🟠 High

6

Supply Chain Security

API Downgrade, Schema Desync, Managed Package Origin

🟠 High / 🟔 Medium

7

Agentic Architecture

Topic Bloat, Skill Semantics, Orphaned Bot Evaluation

🟠 High / 🟔 Medium

9

Instruction Integrity

Metadata Instruction Poisoning, Cross-Topic Boundary

šŸ”“ Critical / 🟠 High

10

Operational Reliability

Validation Conflict

🟔 Medium

11

Autonomous Scheduling

Unguarded Scheduled Action, Time-Window Privilege Drift

šŸ”“ Critical / 🟠 High

12

Copilot Studio Config

Memory Poisoning, API Version Drift

šŸ”“ Critical

13

Data Cloud Grounding

RAG Without Schema Classification

šŸ”“ Critical

14

Slack Integration

Slack Bot Without DLP Guard

🟠 High

15

External Service Security

Certificate Pinning, Dynamic Cloaking RAG

🟠 High

16

Custom Permission

Agent Action Without Permission Gate

🟠 High

17

Commerce

Idempotency Key, Amount Bounds Check

šŸ”“ Critical

18

Multi-Agent Orchestration

Compositional Fragment Trap, Sybil Identity

šŸ”“ Critical / 🟠 High

19

Platform Event / CDC

Sub-agent Spawning Loop, CDC Field Filter

šŸ”“ Critical / 🟠 High

20–24

OWASP LLM Top 10

Excessive Agency, Data Exfil, SSRF, DoS, MCP Auth

šŸ”“ Critical / 🟠 High

30–34

Enterprise Graph

PII Graph, Privilege Graph, Blast Radius, MCP Scope, XSS Graph

šŸ”“ Critical / 🟠 High


Supported Metadata Types

  • .genAiFunction-meta.xml

  • .genAiPlugin-meta.xml

  • .genAiPlannerBundle-meta.xml

  • .genAiPromptTemplate-meta.xml

  • .genAiPromptTemplateActv-meta.xml

  • .agent files

  • .cls (Apex classes)

  • .trigger (Apex triggers)

  • .namedCredential-meta.xml

  • .connectedApp-meta.xml

  • .field-meta.xml

  • .aiEvaluationDefinition-meta.xml

  • .flow-meta.xml

  • schema.json

  • sfdx-project.json

  • package.xml

  • LWC components (.js in lwc/ dirs)


How It Works

AI Coding Agent (Claude / Gemini / Copilot)
        │
        │ MCP Protocol (stdio)
        ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│ @squirex.dev/mcp-server │ ← This package
│  16 tools, 6 resources  │
│  4 prompts              │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
        │ spawn
        ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   squirex CLI            │
│   scan / generate-tests  │ ← Testing Center bridge
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
        │ JSON IPC
        ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”      ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   squireinterp           │      │   sf agent test run  │
│   Go Execution Engine    │      │   (Salesforce CLI)   │
│   61+ SAST Rules         │      │   → Testing Center   │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜      ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

The Testing Center bridge tools delegate to squirex generate-tests, which:

  1. Runs a capability scan (or reads existing SARIF)

  2. Converts violations to Agentforce DX test YAML (all 61+ rules, normalized AGENTFORCE-X.Y IDs)

  3. Optionally validates and pushes to the Salesforce Testing Center via sf agent test run


Requirements

  • Node.js ≄ 18

  • squirex CLI installed (or available via npx)

  • A Salesforce project with Agentforce metadata


GitHub App Integration

For automated PR scanning, install the SquireX GitHub App — one-click setup, 51+ rule scan on every pull request, SARIF in your Security tab.

Plan

Public Repos

Private Repos

Price

Free

Unlimited

—

$0

Pro

Unlimited

1

$49/repo/month

Enterprise

Unlimited

Unlimited

$299/org/month


License

Proprietary — See LICENSE.md

Copyright Ā© 2026 SquireX. All Rights Reserved.


⚔ Built by SquireX — Securing the AI Agent Pipeline

Available Tools

16 tools
analyze_schemaA

Aggregate and analyze the inferred schema from all Apex classes in the project. Returns SObject definitions, field usage heatmaps, and relationship graphs. Useful for understanding the data model without an org connection.

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryNoRoot directory containing Apex classes (default: ./force-app)
includeHeatmapNoInclude field usage heatmaps in output

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral disclosure. It conveys a read-only, local analysis behavior ('without an org connection') but lacks explicit details on side effects, performance, or error conditions. The mention of outputs adds some transparency, but not comprehensive.

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 sentences, front-loaded with the main function and followed by a use-case note. Every sentence contributes value, with no redundancy.

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 no output schema, the description lists the output types (SObject definitions, field usage heatmaps, relationship graphs), providing a useful overview. It could elaborate on output structure or limitations but is adequate for an agent to decide invocation.

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

Parameters3/5

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

Schema description covers both parameters (directory and includeHeatmap) with 100% coverage, meeting the baseline. The description adds no extra semantics beyond what schema provides.

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 aggregates and analyzes the inferred schema from Apex classes, with specific outputs (SObject definitions, field usage heatmaps, relationship graphs). This distinguishes it from sibling tools focused on scanning, testing, and rule management.

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?

It provides clear context: 'Useful for understanding the data model without an org connection,' indicating when to use. However, it doesn't explicitly mention alternatives or exclusions, so it stops short of full guidance.

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

explain_violationA

Given a SARIF violation from a scan, provide root-cause analysis and step-by-step remediation guidance. Pass the full violation object or just the ruleId and file path.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYesThe violated rule ID (e.g., "AGENTFORCE-1.1")
messageNoThe violation message from the SARIF report
filePathNoPath to the file where the violation was found
lineNumberNoLine number of the violation

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It states the tool 'provide[s] root-cause analysis and step-by-step remediation guidance,' which implies a read-only, non-destructive operation, but it does not explicitly disclose safety characteristics, permissions, or output format. For a simple explanation tool this is adequate but not thorough.

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 two sentences long, front-loaded with the primary purpose, and contains no filler. Every sentence contributes: the first states what it does, the second explains how to invoke it. This is an ideal size.

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?

The tool is relatively simple with all parameters documented and no output schema. The description gives enough context about when and how to use it, and the mention of 'root-cause analysis and step-by-step remediation guidance' implies the return content. It does not describe edge cases or required permissions, but these are not critical for this tool.

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 schema has 100% parameter coverage with descriptions, so the schema already documents each parameter. The description adds value by explaining the input flexibility: 'Pass the full violation object or just the ruleId and file path,' which clarifies that ruleId and filePath are sufficient and that the full object is optional—information not present in the schema itself.

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 function: 'Given a SARIF violation from a scan, provide root-cause analysis and step-by-step remediation guidance.' It uses a specific verb ('provide') and resource ('SARIF violation') and distinguishes itself from sibling tools like scan_agentforce or suggest_fix by focusing on analysis and remediation, not detection or fixing.

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 clear context for usage: it applies when a SARIF violation from a scan is available, and it explains the two input modes ('Pass the full violation object or just the ruleId and file path'). However, it does not explicitly mention when not to use it or name alternative tools, so it misses the full 'when-not' guidance.

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

generate_dx_testsA

Convert Agentforce scan violations into Agentforce DX test specifications (YAML format) compatible with sf agent test run and the Salesforce Testing Center. Delegates to the core SquireX CLI generate-tests command. If no SARIF file is provided, runs a fresh scan first.

ParametersJSON Schema
NameRequiredDescriptionDefault
rulesNoComma-separated rule IDs to generate tests for (e.g., "AGENTFORCE-1.1,AGENTFORCE-9.1")
sarifPathNoPath to a SARIF file from a previous scan. If omitted, a fresh scan is run.
suiteNameNoName for the test suite. Defaults to "squirex-security-validation".
outputPathNoPath to write the generated YAML file. Defaults to agentforce-tests.yaml.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, and the description does disclose useful behavioral traits: it delegates to a CLI command and can trigger a fresh scan. However, it omits details about return values, side effects beyond writing a YAML file (though implied by outputPath), and any permissions or conditions.

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 two concise sentences, front-loaded with the primary action and immediately followed by a note about the CLI delegation and fallback behavior. No filler or redundant phrasing.

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 generation tool with no output schema, the description adequately covers the core transformation, compatibility targets, and fallback scan behavior. It lacks explicit mention of the output file location (though the outputPath parameter covers this) and any preconditions, but overall it is sufficiently complete.

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

Parameters3/5

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

The input schema covers all four parameters with descriptions, and the description adds essentially no new parameter semantics—'If no SARIF file is provided, runs a fresh scan first' mirrors the schema's 'If omitted, a fresh scan is run.' Thus the description does not exceed the baseline provided by the 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 uses the specific verb 'Convert' and clearly identifies the resource: Agentforce scan violations to DX test specifications in YAML. This distinguishes it from sibling tool names like run_tests and validate_dx_tests, which operate on already-generated specs.

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 after a scan, mentioning that a fresh scan runs if no SARIF is provided, but it does not explicitly state when to choose this tool over alternatives like validate_dx_tests or push_to_testing_center. No exclusions or alternative guidance is given.

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

generate_sarif_reportA

Generate a SARIF (Static Analysis Results Interchange Format) report from the Agentforce Capability Scan. SARIF is the standard format for GitHub Security tab, Azure DevOps, and other CI/CD integrations.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputPathNoPath to write the SARIF file (defaults to stdout)

TDQS

A3.7/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 does not disclose behavioral traits such as writing to a file (though the schema mentions outputPath), whether prior scan results are required, or any potential side effects. The description focuses on the format rather than the tool's runtime behavior, leaving gaps.

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 two sentences, front-loaded with the primary action. The second sentence provides useful context about SARIF's adoption without redundant detail. Every word earns its place, making it highly concise and structured.

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?

For a simple tool with one param and no output schema, the description covers the 'what' and 'why' but misses some context: it does not explicitly state that a prior scan is required or that the output is written to a file (though schema implies it). Without annotations, an agent might not know if this is a read-only operation or requires existing scan data. Overall, it is adequate but has clear gaps.

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

Parameters3/5

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

The input schema provides 100% coverage for the single parameter outputPath, including its default behavior (stdout). The description adds no additional parameter semantics, so the baseline of 3 applies. There is no extra context about how the parameter interacts with the tool's logic.

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 a specific action: 'Generate a SARIF report' from a specific source ('Agentforce Capability Scan'). This is a verb+resource structure that distinguishes it from sibling tools like scan_agentforce or run_tests. It also provides context on what SARIF is, reinforcing the purpose.

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 explains when to use this tool by mentioning SARIF as the standard for GitHub Security tab, Azure DevOps, and CI/CD integrations. This implies usage for exporting scan results to those platforms. It doesn't explicitly exclude alternatives or mention prerequisites, but the context is clear enough for an agent to select it appropriately.

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

get_coverageA

Extract code coverage data from the most recent test run. Shows covered/uncovered lines per class.

ParametersJSON Schema
NameRequiredDescriptionDefault
classNameNoFilter coverage for a specific Apex class

TDQS

A3.7/5.0
Behavior3/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 conveys a read-only behavior through 'Extract' and 'Shows' and implies the source of data, but it does not disclose edge cases such as behavior when no test run exists, output format details, or potential failures. It adds some context but is not rich in 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 two sentences, front-loaded with the main action, and contains no redundant text. Every word contributes to understanding the tool's purpose and output.

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?

For a simple tool with one optional parameter and no output schema, the description is adequate but leaves some gaps: it does not specify the return type, the effect of omitting className, or behavior when no prior test run exists. It is minimally complete but not comprehensive.

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

Parameters3/5

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

The schema provides 100% coverage with className described as 'Filter coverage for a specific Apex class.' The description adds minimal extra meaning beyond the schema, merely aligning with 'per class.' This meets the baseline for high schema coverage.

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 function: 'Extract code coverage data from the most recent test run' and specifies the output: 'Shows covered/uncovered lines per class.' This specific verb and resource clearly distinguish it from siblings like run_tests or scan_agentforce.

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 context (most recent test run) but does not explicitly contrast with alternatives or state when not to use the tool. It clarifies a prerequisite (a test run must exist) but offers no exclusions or alternative tool referrals.

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

get_rule_detailsA

Get detailed information about a specific Agentforce SAST rule including its description, severity, and remediation guidance.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYesThe rule ID (e.g., "AGENTFORCE-1.1")

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the returned fields (description, severity, remediation guidance) but does not explicitly state the operation is read-only, mention any side effects, or describe error behavior such as not-found cases. This is acceptable for a simple getter, but omits some behavioral context.

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 that directly states what the tool does without any filler or redundancy. It earns its place in the definition.

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 tool with one parameter and no output schema, the description sufficiently conveys the purpose and the key return values. It could mention error handling or exact output structure, but given the low complexity, it is reasonably complete.

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

Parameters3/5

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

The input schema already provides full coverage (100%) for the single parameter ruleId, including an example format. The description adds no additional parameter semantics, but the baseline of 3 applies since the schema is self-explanatory.

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 'get' and the resource 'detailed information about a specific Agentforce SAST rule', listing the included content: description, severity, and remediation guidance. This distinguishes it from sibling tools like list_scan_rules, which only lists rules, and scan_agentforce_rule, which likely executes a scan.

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. It does not explicitly mention that it should be used when the rule ID is already known, nor does it exclude cases where listing or scanning is more appropriate. The description is purely definitional and lacks contextual direction.

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

get_testing_center_resultsA

Get the status and results of a previously submitted Agentforce Test Run from the Testing Center. Requires an authenticated Salesforce org.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetOrgYesSalesforce org alias or username
testRunIdYesThe Test Run ID returned from push_to_testing_center

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden. It discloses the auth requirement and implies read-only behavior via 'Get', but it does not elaborate on error handling, whether the run may still be in progress, or any rate limits. This is adequate but not rich.

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 two short sentences, front-loaded with the core purpose and followed by an essential prerequisite. Every word earns its place, with no redundancy or filler.

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 low complexity (2 simple parameters), the description is mostly complete. It states what the tool returns ('status and results') and an operational prerequisite. A minor gap is the lack of detail about the result format or potential 'not found' behavior, but this is acceptable for a straightforward getter.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add extra semantics beyond the schema, but none are needed because both parameters are clearly documented in the input 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 uses a specific verb ('Get') and clearly identifies the resource ('status and results of a previously submitted Agentforce Test Run from the Testing Center'). It distinguishes itself from sibling tools like push_to_testing_center by focusing on retrieval rather than submission.

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 phrase 'previously submitted' and the reference to the Testing Center provide clear context that this tool is used after a test run has been pushed, and the auth requirement sets a prerequisite. However, it does not explicitly name alternatives or state when not to use it.

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

list_scan_rulesA

List all 26 Agentforce Capability Scanner rules with their ID, name, category, severity, and description. Use this to understand the full scope of the security scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category name (e.g., "Action Configuration", "Agent Script Safety")
severityNoFilter by severity level

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations supplied, the description carries the burden of behavioral disclosure. It states the tool lists rules and the exact fields returned, implying a safe read-only operation without side effects. It does not discuss errors, pagination, or auth, but for a simple list endpoint this is adequate.

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 two sentences and every clause earns its place: the first states the action and result fields, the second states the intended use case. It is front-loaded and free of redundancy.

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?

The tool has no output schema, but the description compensates by listing the returned attributes and emphasizing the finite scope of 26 rules. Optional filter parameters are fully documented in the schema, so the description plus schema provides a complete enough picture for selection.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents the optional category and severity filters. The description adds no extra parameter semantics, which meets but does not exceed the baseline.

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 opens with a specific verb ('List') and a concrete resource ('all 26 Agentforce Capability Scanner rules'), enumerating the returned fields. This clearly distinguishes it from sibling tools like scan_agentforce or get_rule_details, which perform scans or retrieve a single rule.

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 phrase 'Use this to understand the full scope of the security scan' provides clear usage context. It does not explicitly mention alternatives or exclusion criteria, but the purpose is obvious relative to more narrowly-scoped sibling tools.

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

predict_conflictsB

Predict merge conflicts between two branches by analyzing Apex class changes, DML patterns, and metadata dependencies. Helps prevent deployment failures.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchesYesTwo branches to compare, comma-separated (e.g., "main,feature")
simulateNoSimulate merge and predict outcomes

TDQS

B3.4/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 full burden. It mentions 'analyzing' which hints at read-only behavior, but does not disclose side effects, permissions, or what the simulation does. The 'simulate' parameter's behavioral impact is left unexplained.

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 sentences with no filler. The information is front-loaded and every clause contributes to understanding the tool's purpose.

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

Completeness2/5

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

No output schema exists, and the description doesn't explain return values, prediction format, or how 'simulate' affects outcomes. For a prediction tool, this leaves significant gaps in understanding what the agent will receive.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are already documented. The description adds minimal value beyond 'two branches' and does not elaborate on the 'simulate' parameter or input formatting.

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 'Predict merge conflicts between two branches by analyzing Apex class changes, DML patterns, and metadata dependencies,' providing a specific verb and resource. This distinguishes it from sibling tools like scan or test tools.

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 phrase 'Helps prevent deployment failures' implies use before deployment, but there is no explicit when-to-use or alternative guidance. No exclusions or comparison to siblings are mentioned.

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

push_to_testing_centerA

Push an Agentforce DX test spec to the Salesforce Testing Center. Delegates to squirex generate-tests --push --target-org <org>. Requires an authenticated Salesforce org with sf org login and the Agentforce DX plugin.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetOrgYesSalesforce org alias or username (e.g., "my-sandbox")
testFilePathYesPath to the .agent-test.yaml file

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description bears the full burden. It reveals that the tool delegates to a specific squirex command and requires authentication, which is helpful. However, it doesn't disclose potential side effects (e.g., whether it overwrites existing test specs) or the format of the response, leaving some ambiguity.

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 tight sentences: the main action, the underlying command, and prerequisites. Every sentence adds value without fluff, and the key information is front-loaded.

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 tool's simplicity (2 params, no output schema, no annotations), the description covers the essential context: what it does, how it's implemented, and prerequisites. It doesn't explain return values, but for a push action this is less critical. Overall, it's adequately complete for an agent to invoke it.

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

Parameters3/5

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

The input schema already provides 100% coverage for both parameters (targetOrg and testFilePath). The description adds little beyond mentioning 'test spec' and 'target org' with a placeholder in the command, so it doesn't significantly augment the schema's meaning.

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 function: 'Push an Agentforce DX test spec to the Salesforce Testing Center.' It uses a specific verb (push) and identifies the resource (test spec, Testing Center), distinguishing it from siblings like run_tests or generate_dx_tests.

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?

It provides clear context for usage, including a prerequisite ('Requires an authenticated Salesforce org with `sf org login` and the Agentforce DX plugin') and the underlying command it delegates to. It doesn't explicitly mention alternatives or exclusions, but the context is sufficiently clear.

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

run_testsA

Execute Apex tests locally using the high-fidelity Go interpreter. Returns structured test results with pass/fail status, assertion details, stack traces, and line-level code coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoSpecific test file to run (e.g., "MyTest.cls")
filterNoRegex pattern to filter test methods (e.g., "testAccount.*")
failFastNoStop on first test failure
parallelNoRun tests in parallel for faster execution

TDQS

A3.5/5.0
Behavior3/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 discloses return behavior (pass/fail, assertions, stack traces, coverage) but does not mention side effects, environment requirements, permissions, or whether execution is sandboxed. This is moderate but incomplete 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?

Description is a single, front-loaded sentence. It efficiently states purpose and output without extraneous words, making it easy to scan.

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?

The description adequately explains what the tool does and its output format, but lacks information on how it fits into a workflow, prerequisites, or when it should be selected over sibling tools. For a tool with moderate complexity and no output schema, this is adequate but not complete.

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

Parameters3/5

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

Schema covers all 4 parameters with descriptions (100% coverage), so baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides.

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?

Description clearly states the tool executes Apex tests locally using a high-fidelity Go interpreter. It specifies the action ('Execute'), resource ('Apex tests'), and differentiates from siblings like push_to_testing_center by emphasizing local execution.

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 alternatives such as generate_dx_tests, push_to_testing_center, or get_coverage. The description does not mention preferred contexts, exclusions, or competitor tools.

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

scan_agentforceA

Run the full Agentforce Capability Scan (26 SAST rules across 9 categories) against the current project. Returns SARIF-structured violations covering action configuration, agent script safety, grounding security, structural dependencies, flow/prompt template security, supply chain, agentic architecture, instruction integrity, and operational reliability.

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryNoRoot directory to scan (defaults to project directory)
baseBranchNoBase branch for diff-based scanning (only scan changed files). If omitted, performs a full scan.

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses the output format (SARIF-structured violations) and enumerates the covered categories, providing useful behavioral context. However, since no annotations are provided, it does not explicitly state whether the tool is read-only, requires authentication, or has side effects. The 'scan' wording implies non-destructive but is not explicit.

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 sentences, front-loaded with the action, and the second sentence provides a compact but informative enumeration of categories. No filler—every element contributes to understanding the tool.

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?

The description covers scope and output but omits guidance on when to choose this full scan versus file/rule-specific scans, and lacks side-effect/safety characteristics. Given the tool's complexity and lack of annotations, more context would help, but the schema adequately covers parameter semantics.

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

Parameters3/5

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

Schema description coverage is 100%, with both directory and baseBranch explained in the schema. The tool description adds no parameter-specific details beyond the schema, but this is acceptable given the high coverage. The phrase 'current project' aligns with the directory default.

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 runs the full Agentforce Capability Scan, specifies 26 SAST rules across 9 categories, and enumerates the categories. This distinguishes it from siblings like scan_agentforce_file and scan_agentforce_rule, which are narrower in scope.

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 a full-scan use case but does not explicitly contrast with alternatives like scan_agentforce_file or scan_agentforce_rule, nor does it mention when diff-based scanning via baseBranch would be preferred. Guidance is only implicit ('full... scan').

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

scan_agentforce_fileA

Scan a specific Agentforce metadata file for capability violations. Supports .genAiFunction-meta.xml, .genAiPlugin-meta.xml, .genAiPlannerBundle-meta.xml, .genAiPromptTemplate-meta.xml, .agent files, .cls (Apex), .trigger, and schema.json files.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the metadata file to scan (relative to project root)

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure. It states the operation ('scan for capability violations') and lists supported file types, but it does not explicitly confirm read-only behavior, side effects, permission requirements, or return format. 'Scan' implies non-destructive intent, but the absence of explicit assurances or error-handling notes leaves gaps. The supported file type list adds value, but not enough to score higher.

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 that immediately states the core action, then follows with a compact enumeration of supported file types. Every word contributes to understanding the tool's scope and purpose, with no redundant or filler content. It is concise yet comprehensive for its intended use.

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?

The description adequately covers what the tool does and which files it accepts, but omits important contextual details for a tool with no output schema and no annotations. It does not explain what 'capability violations' look like in the output, whether an empty result indicates no violations, or any prerequisites (e.g., being in a Salesforce DX project). The relative path detail is implied by the schema, not the description. These gaps leave an agent uncertain about interpreting the result, so completeness is only moderate.

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 already documents filePath as 'Path to the metadata file to scan (relative to project root)' with 100% coverage. The description adds significant value by explicitly listing the supported file extensions (e.g., .genAiFunction-meta.xml, .cls, .trigger), which tells the agent acceptable values for filePath and reduces ambiguity. This goes beyond the schema's generic description, justifying a score above the baseline of 3.

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 specific action: 'Scan a specific Agentforce metadata file for capability violations.' It also lists the supported file types, which distinguishes it from the broader sibling 'scan_agentforce.' This is a specific verb+resource with clear scope.

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 clear context: this tool is for scanning a single, specific metadata file, and it enumerates supported file types. While it doesn't explicitly mention alternatives or exclusions, the wording implies use-case (targeted file scan) and differentiates from sibling tools like scan_agentforce. This is enough to guide appropriate usage.

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

scan_agentforce_ruleA

Run a single Agentforce SAST rule against the project. Useful for focused analysis. Rule IDs follow the pattern AGENTFORCE-X.Y (e.g., AGENTFORCE-1.1 for Mandatory User Confirmation).

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYesThe rule ID to run (e.g., "AGENTFORCE-1.1", "AGENTFORCE-PT-01", "AGENTFORCE-SC-02")

TDQS

A3.9/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 full responsibility for behavioral disclosure. It does not state whether the operation is read-only, what the output looks like, or if any side effects occur. For a tool that would be used by an agent, this lack of transparency is a significant gap.

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 two sentences long with no wasted words. The first sentence states the action, the second adds context about rule ID format and a concrete example. Every sentence contributes to understanding the tool.

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?

For a simple single-parameter tool without an output schema, the description covers purpose, rule ID format, and usage context. However, it lacks details about the output/results (e.g., violations found) and prerequisites (e.g., project setup), which would help the agent know what to expect after invocation.

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 schema already has 100% coverage with example rule IDs. The description adds the pattern 'AGENTFORCE-X.Y' and maps AGENTFORCE-1.1 to 'Mandatory User Confirmation', providing valuable semantic context beyond the schema's examples. This enhances the agent's understanding of the parameter.

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 a specific action ('Run a single Agentforce SAST rule') and resource ('against the project'), distinguishing it from siblings like scan_agentforce (likely all rules) and scan_agentforce_file. The verb is specific and the scope is explicit, making the tool's purpose unambiguous.

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 phrase 'Useful for focused analysis' provides clear when-to-use context, implying this tool is for running one specific rule rather than a full scan. It doesn't explicitly mention alternatives or exclusions, but the focus on 'single rule' effectively differentiates from broader scan tools.

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

suggest_fixA

Given a specific Agentforce violation (rule ID + file), generate a suggested metadata or code fix. Returns a diff-style suggestion.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYesThe violated rule ID
filePathYesPath to the file to fix
violationContextNoAdditional context about the violation (e.g., the specific action or template name)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full responsibility. It discloses the output form ('diff-style suggestion') and implies a non-destructive, advisory operation, but it does not explicitly state that the tool does not modify files, mention prerequisites, or describe potential side effects. This is adequate but not thorough.

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 two sentences, front-loads the exact purpose, and contains no filler or repetition. Every word contributes to understanding what the tool does and returns.

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 suggestion-generation tool with three parameters and no output schema, the description covers the core function, required inputs, and return type. It lacks detail on the exact structure of the diff and any dependencies on prior scans, but it is sufficient for an agent to invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already fully documented. The description only echoes 'rule ID + file' and adds 'metadata or code fix' as the type of fix, providing minimal additional meaning beyond the 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 uses a specific verb ('generate') and resource ('suggested metadata or code fix') for a specific input ('Agentforce violation (rule ID + file)'). It clearly distinguishes itself from sibling tools like explain_violation and scan_agentforce by focusing on fix generation rather than scanning or explaining.

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 phrase 'Given a specific Agentforce violation (rule ID + file)' clearly indicates when to use the tool: after a violation has been identified and a rule ID and file path are known. It does not explicitly name alternatives or exclusions, but the context is unambiguous.

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

validate_dx_testsA

Validate a generated Agentforce DX test spec without executing it. Delegates to squirex generate-tests --validate. Requires Salesforce CLI with Agentforce DX support.

ParametersJSON Schema
NameRequiredDescriptionDefault
testFilePathYesPath to the .agent-test.yaml file to validate

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it states the operation is non-executing (no side effects), reveals the underlying command (delegates to `squirex generate-tests --validate`), and discloses a key requirement (Salesforce CLI). It lacks detail on output behavior, but the disclosed traits are substantive.

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 two sentences, front-loaded with purpose and followed by implementation detail and prerequisite. Every sentence adds value, with no redundancy or filler.

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 one-parameter tool with no output schema, the description covers the essential points: purpose, side-effect-free nature, underlying command, and prerequisite. It does not describe return values, but given the simplicity and the explicit command reference, it is reasonably complete for an agent to invoke correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameter testFilePath is already fully documented in the schema. The description adds no parameter-related info, but with complete schema coverage, a baseline of 3 is appropriate.

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: "Validate a generated Agentforce DX test spec without executing it." It uses a specific verb (validate) and specific resource (Agentforce DX test spec), and explicitly distinguishes this from execution, setting it apart from sibling tools like run_tests.

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 clear context for when to use: it validates rather than executes. It also notes the prerequisite (Salesforce CLI with Agentforce DX support). However, it does not explicitly name alternative tools or say 'use this instead of run_tests', only implying the distinction via 'without executing it'.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 16 tool updatesv1.0.2
    • First observedanalyze_schema
    • First observedexplain_violation
    • First observedgenerate_dx_tests
    • First observedgenerate_sarif_report
    • First observedget_coverage
    • First observedget_rule_details
    • First observedget_testing_center_results
    • First observedlist_scan_rules
    • First observedpredict_conflicts
    • First observedpush_to_testing_center
    • First observedrun_tests
    • First observedscan_agentforce
    • First observedscan_agentforce_file
    • First observedscan_agentforce_rule
    • First observedsuggest_fix
    • First observedvalidate_dx_tests

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have clear, distinct scopes (scan whole project vs. specific file vs. specific rule; explain vs. suggest fix). The only minor overlap is between scan_agentforce and generate_sarif_report, both of which output SARIF, which could cause an agent to pick the wrong one when a report artifact is needed.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores (scan_agentforce, list_scan_rules, generate_sarif_report, push_to_testing_center). The verbs are predictable and clearly indicate the action, making the set easy to navigate.

Tool Count4/5

With 16 tools, the server is slightly over the typical 3-15 well-scoped range, but each tool serves a distinct purpose within the two main workflows (scanning and testing). The count feels justified and not bloated, so it earns a 4 rather than a 3.

Completeness4/5

The tool surface covers the full scanning lifecycle (run scans, list rules, get details, generate reports, explain and suggest fixes) and the testing workflow (run tests, get coverage, generate/validate/push test specs, retrieve results). Minor gaps include no direct way to apply suggested fixes or retrieve historical scan results, but these are workable.

Maintenance

ActivityInactive
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
    B
    quality
    D
    maintenance
    An MCP server that integrates SAST, DAST, and SCA security tools to enable AI-driven vulnerability scanning and automated security reporting. It allows AI assistants to execute and analyze results from tools like Semgrep, OWASP ZAP, and Trivy within a DevSecOps workflow.
    6
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    AI-powered security vulnerability detection for MCP-compatible agents, offering real-time scanning of code against a knowledge graph of 24,000+ vulnerability patterns.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that securely reviews AI-generated code for vulnerabilities such as SQL injection, command injection, and hardcoded credentials.
    11
    Apache 2.0

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/SquireX-dev/squirex-mcp'

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