@squirex.dev/mcp-server
OfficialAutomates PR scanning with SARIF output via SquireX GitHub App, providing security checks on every pull request.
Scans Salesforce Agentforce metadata (Apex, Flows, GenAI, etc.) for 61+ security and operational risks, and can push test specs to Salesforce Testing Center.
Analyzes Slack bot configurations for missing DLP guards in Agentforce integrations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@squirex.dev/mcp-serverrun a full security scan on my agentforce metadata"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@squirex.dev/mcp-server
SquireX MCP Server ā Agentforce Capability Scanner for AI Coding Agents
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 |
| Run all 61+ SAST rules against the project. Returns SARIF. |
| Scan a single metadata file ( |
| Run a specific rule (e.g., |
Rule Intelligence
Tool | Description |
| List all 61+ rules with ID, category, severity |
| Deep dive: description + remediation guidance |
| Root-cause analysis for a specific violation |
| Generate a code/metadata fix suggestion |
Apex Testing & Schema
Tool | Description |
| Execute Apex tests locally using the Go interpreter |
| Extract line-level code coverage data |
| Aggregate inferred SObject schema from the codebase |
| Predict merge conflicts between branches |
| Generate SARIF for CI/CD pipeline integration |
Testing Center Bridge
Tool | Description |
| Convert scan violations ā Agentforce DX test YAML for Testing Center |
| Validate DX test spec syntax and schema |
| Push test spec to Salesforce via |
| Get status/results of a Testing Center test run |
Resources (6)
URI | Description |
| Complete 51+ rule catalog |
| Rule detail with remediation |
| Latest scan results (SARIF) |
| Inferred SObject schema |
| Latest Apex test results |
| Latest code coverage |
Prompts (4)
Prompt | What It Does |
| Full 51+ rule scan ā prioritized remediation plan |
| Diagnose + fix a specific violation |
| Proactive defense-in-depth review |
| 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.agentfiles.cls(Apex classes).trigger(Apex triggers).namedCredential-meta.xml.connectedApp-meta.xml.field-meta.xml.aiEvaluationDefinition-meta.xml.flow-meta.xmlschema.jsonsfdx-project.jsonpackage.xmlLWC components (
.jsinlwc/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:
Runs a capability scan (or reads existing SARIF)
Converts violations to Agentforce DX test YAML (all 61+ rules, normalized
AGENTFORCE-X.YIDs)Optionally validates and pushes to the Salesforce Testing Center via
sf agent test run
Requirements
Node.js ā„ 18
squirexCLI 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 toolsanalyze_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.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | No | Root directory containing Apex classes (default: ./force-app) | |
| includeHeatmap | No | Include field usage heatmaps in output |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes | The violated rule ID (e.g., "AGENTFORCE-1.1") | |
| message | No | The violation message from the SARIF report | |
| filePath | No | Path to the file where the violation was found | |
| lineNumber | No | Line number of the violation |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| rules | No | Comma-separated rule IDs to generate tests for (e.g., "AGENTFORCE-1.1,AGENTFORCE-9.1") | |
| sarifPath | No | Path to a SARIF file from a previous scan. If omitted, a fresh scan is run. | |
| suiteName | No | Name for the test suite. Defaults to "squirex-security-validation". | |
| outputPath | No | Path to write the generated YAML file. Defaults to agentforce-tests.yaml. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| outputPath | No | Path to write the SARIF file (defaults to stdout) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| className | No | Filter coverage for a specific Apex class |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes | The rule ID (e.g., "AGENTFORCE-1.1") |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| targetOrg | Yes | Salesforce org alias or username | |
| testRunId | Yes | The Test Run ID returned from push_to_testing_center |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category name (e.g., "Action Configuration", "Agent Script Safety") | |
| severity | No | Filter by severity level |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| branches | Yes | Two branches to compare, comma-separated (e.g., "main,feature") | |
| simulate | No | Simulate merge and predict outcomes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| targetOrg | Yes | Salesforce org alias or username (e.g., "my-sandbox") | |
| testFilePath | Yes | Path to the .agent-test.yaml file |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Specific test file to run (e.g., "MyTest.cls") | |
| filter | No | Regex pattern to filter test methods (e.g., "testAccount.*") | |
| failFast | No | Stop on first test failure | |
| parallel | No | Run tests in parallel for faster execution |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | No | Root directory to scan (defaults to project directory) | |
| baseBranch | No | Base branch for diff-based scanning (only scan changed files). If omitted, performs a full scan. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the metadata file to scan (relative to project root) |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes | The rule ID to run (e.g., "AGENTFORCE-1.1", "AGENTFORCE-PT-01", "AGENTFORCE-SC-02") |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes | The violated rule ID | |
| filePath | Yes | Path to the file to fix | |
| violationContext | No | Additional context about the violation (e.g., the specific action or template name) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| testFilePath | Yes | Path to the .agent-test.yaml file to validate |
TDQS
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.
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.
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.
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.
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.
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.
16 tool updates
v1.0.2- First observed
analyze_schema - First observed
explain_violation - First observed
generate_dx_tests - First observed
generate_sarif_report - First observed
get_coverage - First observed
get_rule_details - First observed
get_testing_center_results - First observed
list_scan_rules - First observed
predict_conflicts - First observed
push_to_testing_center - First observed
run_tests - First observed
scan_agentforce - First observed
scan_agentforce_file - First observed
scan_agentforce_rule - First observed
suggest_fix - First observed
validate_dx_tests
TDQS
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.
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.
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.
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
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
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Zero-install security baseline for AI coding agents ā OWASP/CWE-cited rules over MCP.
Security firewall for AI agents ā scans MCP calls for injection, secrets, and risks.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn 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.6MIT

frogeye-mcpofficial
FlicenseNot gradedqualityDmaintenanceAI-powered security vulnerability detection for MCP-compatible agents, offering real-time scanning of code against a knowledge graph of 24,000+ vulnerability patterns.-- AlicenseCqualityDmaintenanceEnterprise-grade MCP server for static application security testing with multi-tool integration, compliance verification, AI-powered remediation, and multi-tenant management.2310MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that securely reviews AI-generated code for vulnerabilities such as SQL injection, command injection, and hardcoded credentials.11Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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