GuardEntry MCP Server
OfficialClick 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., "@GuardEntry MCP ServerEvaluate: update user role to admin"
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.
GuardEntry MCP Server
Model Context Protocol (MCP) server for GuardEntry — exposes the Agent Policy Router (APR) as MCP tools so any MCP-compatible AI agent can gate its actions through your compliance policy before executing them.
Transports
Transport | Entry point | Use with |
Streamable HTTP |
| CrewAI, LangChain, any HTTP MCP client |
stdio |
| Claude Desktop, Cursor, VS Code Cline |
Related MCP server: mcp-boundary
Quick start
git clone https://github.com/guardentryai/mcp-server.git
cd mcp-server
npm installCreate a .env file (copy from .env.example):
GUARDENTRY_API_KEY=ge_k1_your_key_here
# GUARDENTRY_BASE_URL=https://app.guardentry.ai # default
# MCP_PORT=3001 # default (HTTP mode only)
# MCP_TOOLS=guardentry_evaluate_action # optional tool allowlistGet an API key at app.guardentry.ai → Settings → API Keys.
HTTP mode (CrewAI, LangChain, etc.)
npm run start:http
# GuardEntry APR MCP server listening on http://localhost:3001/mcp
# Health: http://localhost:3001/healthstdio mode (Claude Desktop, Cursor)
npm startClaude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"guardentry": {
"command": "npx",
"args": ["--yes", "guardentry-mcp"],
"env": { "GUARDENTRY_API_KEY": "ge_k1_your_key_here" }
}
}
}Available tools
Tool | Description |
| Evaluate a proposed action — returns |
| Natural language interface to GuardEntry |
| Query the risk register |
| Get framework readiness (SOC 2, ISO 27001, NIST CSF…) |
| Run a GuardEntry agent by ID or type |
| Call a single agent skill directly |
| List available skills |
| Get the effective policy for an agent |
| Promote an inferred policy to confirmed |
| Update policy rules (blocked actions, allowed tools, approval patterns) |
| List actions awaiting dashboard approval |
| Check the status of a specific action |
Limiting tools (recommended for CrewAI + Claude)
Anthropic's API has a ~16-parameter union-type limit across all active tools. Use MCP_TOOLS to expose only what you need:
MCP_TOOLS=guardentry_evaluate_action npm run start:httpCrewAI integration
from crewai import Agent, Task, Crew, LLM
from crewai.mcp.config import MCPServerHTTP
import os
mcp = MCPServerHTTP(
url="http://localhost:3001/mcp",
headers={"Authorization": f"Bearer {os.environ['GUARDENTRY_API_KEY']}"},
)
agent = Agent(
role="Compliance Analyst",
goal="Gate every action through GuardEntry APR before executing",
backstory="You check compliance policy before any sensitive operation.",
mcps=[mcp],
llm=LLM(model="anthropic/claude-haiku-4-5-20251001",
api_key=os.environ["ANTHROPIC_API_KEY"]),
)Run the smoke test:
GUARDENTRY_API_KEY=ge_k1_... ANTHROPIC_API_KEY=sk-ant-... python test-crewai.pyEnvironment variables
Variable | Default | Description |
| (required) | API key from GuardEntry dashboard |
|
| Override for local/staging |
|
| HTTP server port |
| (all tools) | Comma-separated tool allowlist |
License
MIT — see LICENSE
Links
Available Tools
12 toolsguardentry_action_statusB
Check the status of a specific API action by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| action_id | Yes | The action UUID to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It only states 'Check the status' without disclosing whether this is a read-only operation, any permission requirements, rate limits, or what side effects (if any) exist. This leaves behavioral traits largely undisclosed.
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: 'Check the status of a specific API action by ID.' It is concise and every word contributes to the meaning, though it is minimal.
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 that there is no output schema and no annotations, the description should explain what the tool returns or any additional context, but it simply describes the action without specifying the response format or any caveats. This leaves the tool insufficiently documented for an agent to know what to expect.
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 action_id with 'The action UUID to check,' and the description merely echoes 'by ID.' Since schema coverage is 100%, the description adds no additional semantic value 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 clearly states the tool's function: 'Check the status of a specific API action by ID.' It presents a specific verb and resource, but does not explicitly differentiate from sibling tools like compliance_status or evaluate_action, so it's clear but lacks sibling distinction.
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 when to use it (when you have an action ID and need its status), but provides no explicit guidance on alternatives or scenarios when not to use it. It does not mention sibling tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_chatA
Send a natural language message to GuardEntry. Can query compliance data, create risks/controls/evidence, generate reports. Write actions are queued for dashboard approval.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Natural language instruction (e.g., 'Create a risk for unpatched servers' or 'What is our SOC 2 readiness?') | |
| conversation_id | No | Optional conversation ID for multi-turn context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses a key behavioral trait: write actions are queued for dashboard approval. This goes beyond the schema and provides useful safety context, though it leaves some behavior (e.g., response format) unspecified.
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?
Three short sentences, front-loaded, no fluff. Each sentence adds value: purpose, capabilities, and write-approval queuing.
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 and no annotations, so the description should cover return values and usage boundaries. It explains capabilities and write approval but does not describe what the agent can expect in the response or when to use specific sibling tools, leaving some 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?
Schema description coverage is 100% with examples for both parameters. The description adds minimal new meaning beyond 'natural language message' and does not elaborate on conversation handling, so baseline 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 sends natural language messages to GuardEntry and enumerates capabilities (query, create, generate). This distinguishes it from sibling tools like guardentry_list_risks which are structured queries.
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 use for general natural language interaction but does not explicitly state when to prefer this over more specific sibling tools or exclude structured actions. It provides context but no explicit when/when-not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_compliance_statusA
Get compliance readiness status for a specific framework or all frameworks.
| Name | Required | Description | Default |
|---|---|---|---|
| framework | No | Framework code: SOC2, ISO27001, NIST_CSF, HIPAA, PCI_DSS, AI_RMF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the scoping behavior (specific or all frameworks) but does not explicitly state read-only semantics, though the verb 'Get' implies it. It does not mention response format, authentication, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the verb, no extraneous information. Perfectly sized for the tool's simplicity.
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 read tool with one optional parameter and no output schema, the description adequately conveys the purpose and scope. It could potentially explain what a 'readiness status' looks like, but given the simplicity and the sibling context, it is largely 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 100% of the parameter's description, listing valid framework codes. The description adds value by clarifying that omitting the framework returns all frameworks, which is not explicit in the schema (only implied by the param being optional).
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 retrieves compliance readiness status, with explicit scope ('specific framework or all frameworks'). It distinguishes from sibling tools by focusing on status retrieval rather than risk listing, policy management, or agent actions.
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 (when compliance status is needed) but does not explicitly state when to prefer this tool over alternatives like guardentry_list_risks or guardentry_get_agent_policy. There are no exclusion criteria or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_confirm_policyA
Confirm an inferred agent policy, making it the active confirmed policy. Use after reviewing an auto-generated policy to promote it from 'inferred' to 'confirmed'.
| Name | Required | Description | Default |
|---|---|---|---|
| policy_id | Yes | UUID of the policy to confirm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the primary effect—promoting a policy from inferred to confirmed and making it active—but does not mention reversibility, permissions, or other side effects. This adds value but leaves some gaps, so a 3.
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: the first states the action and effect, the second provides usage context. No redundant or filler content.
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 single-parameter state-transition tool, the description covers purpose and when to use it. It lacks mention of return behavior or error conditions, but these are not essential given the simplicity and absence of an output schema. Overall adequate and mostly 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 schema already covers the only parameter with a clear description ('UUID of the policy to confirm'), and the tool description does not add further parameter-specific semantics. With 100% schema coverage, the baseline is 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 confirms an inferred agent policy and makes it active, with the state transition from 'inferred' to 'confirmed'. This distinguishes it from siblings like 'guardentry_update_policy' or 'guardentry_get_agent_policy', using a specific verb and resource.
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 specifies the usage scenario: 'Use after reviewing an auto-generated policy to promote it from inferred to confirmed.' This gives clear context and implies when to use the tool, though it does not explicitly name alternatives or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_evaluate_actionA
Evaluate whether a proposed agent action is allowed, blocked, or requires approval based on the agent's policy. Returns a decision with reasoning. Use before any agent executes a sensitive task, tool call, or prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Evaluation depth: fast (rules only), balanced (rules + LLM), strict (LLM with reasoning model) | |
| policy | No | Inline policy object — when provided, skips store lookup entirely. Useful for testing policies without saving them. | |
| agent_id | No | UUID of the agent proposing the action (optional) | |
| policy_id | No | Load a specific policy by ID from the store instead of the default cascade lookup | |
| agent_name | No | Human-readable agent name (used for policy inference if no policy exists) | |
| agent_type | No | Agent type for policy lookup (e.g. 'compliance', 'vulnerability') | |
| agent_tools | No | Tools available to the agent (used for policy inference) | |
| subject_type | Yes | Type of subject being evaluated | |
| subject_content | Yes | The action text to evaluate (task description, tool argument, prompt, etc.) |
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 reports the return type ('decision with reasoning') and implies non-execution via 'Evaluate' and 'Use before', but it does not explicitly state that the action is not executed or that there are no side effects. It also omits policy fallback/inference behavior, though the schema covers these details.
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 purpose and followed by a direct usage directive. Every word earns its place; 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 tool's complexity (9 params, nested policy object, enums) and the rich schema descriptions, the description adequately orients the agent to core purpose and timing. It does not enumerate all subject types (missing 'plan' and 'tool_result') or the policy resolution cascade, but those gaps are largely filled by the extensive schema.
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 adds no extra parameter-level meaning; it does not explain how to choose mode, provide inline policy, or select subject_type beyond what the schema already documents.
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 ('Evaluate') and clearly defines the decision output (allowed/blocked/requires approval). It distinguishes the tool from siblings like guardentry_get_agent_policy and guardentry_list_pending by focusing on policy-based action evaluation rather than policy retrieval or pending item listing.
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 explicitly states when to use the tool: 'Use before any agent executes a sensitive task, tool call, or prompt.' This provides clear invocation context. It does not name alternatives or exclusions, but the timing guidance is sufficient for most decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_get_agent_policyA
Retrieve the effective policy for an agent. If no explicit policy exists, returns the inferred default policy that was auto-generated for this agent.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter policies by status | |
| agent_id | No | UUID of the agent | |
| agent_type | No | Agent type to look up (used if agent_id not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full transparency burden. It discloses the important behavior that a default policy is returned when no explicit policy exists, adding value beyond the tool's name. It does not detail error cases, but 'retrieve' implies non-mutating behavior.
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 with no unnecessary words. The primary action is front-loaded, and the additional sentence explains a key edge case, making it both concise and informative.
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 simple nature of the tool and full schema coverage, the description adequately explains the core purpose and behavior. It does not explicitly state that at least one of agent_id or agent_type is needed, but that is implied by the schema descriptions and acceptable for a low-complexity retrieval 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 input schema covers all three parameters with descriptive text, achieving 100% coverage. The description does not add extra meaning beyond the schema, so baseline 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 'Retrieve the effective policy for an agent' with a specific verb and resource, and it explains the behavior when no explicit policy exists. This distinguishes the tool from sibling tools like update_policy and confirm_policy by focusing on retrieval.
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: use this tool to get an agent's effective policy, including inferred defaults. It does not explicitly name alternatives or exclusions, but the purpose is distinct enough to imply appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_invoke_agentA
Invoke a GuardEntry agent by ID or type. The agent executes its configured skills (vulnerability scanning, compliance checks, risk analysis, etc.) and returns results. Write actions are queued for dashboard approval.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | No | Optional additional instructions for this run | |
| agent_id | No | UUID of a specific agent to invoke | |
| agent_type | No | Agent type to find and invoke (e.g., 'vulnerability', 'compliance', 'risk'). Used if agent_id not provided. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses a key behavioral trait: write actions are queued for dashboard approval, meaning results may not be immediately applied. It also states the agent returns results, which sets expectations. It doesn't cover authentication or rate limits, but the queuing and execution behavior are sufficiently disclosed.
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 purpose. Every phrase adds value: invocation method, execution behavior, and write-action queuing. No fluff or repetition.
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 tool with no output schema and no annotations, the description covers what the tool does, how parameters relate, and a critical side effect (queued writes). It doesn't specify the output format, but 'returns results' is adequate given the schema. It could mention that action_status can track queued operations, but the current level is sufficient for a non-trivial invocation 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?
Schema coverage is 100%, and each parameter has a clear description (agent_id as UUID, agent_type as fallback). The description only mirrors 'by ID or type' without adding new parameter-level meaning. The baseline of 3 applies because the schema already documents parameters well.
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 invokes a GuardEntry agent by ID or type, with a specific verb and resource. It distinguishes from sibling tools like invoke_skill (which runs a skill instead of an agent) and list_* tools by focusing on execution. The added detail about configured skills (vulnerability scanning, compliance, risk) reinforces 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 usage context: 'The agent executes its configured skills' suggests that if you want to run a specific skill, you might use invoke_skill instead. It also notes that write actions are queued for approval, indicating this tool is for triggering agent runs, not for direct mutations. However, no explicit exclusions or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_invoke_skillA
Invoke a single GuardEntry skill directly (e.g., compliance_check, risk_analysis, scan_vulnerabilities). Read skills execute immediately; write skills are queued for approval.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Input parameters for the skill (varies by skill) | |
| skill_id | Yes | The skill ID to invoke (e.g., 'compliance_check', 'risk_analysis', 'scan_vulnerabilities', 'policy_review') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a significant trait: read vs. write skills behave differently, with writes being queued for approval. It does not detail return formats or post-approval behavior, but this is a substantial disclosure for a two-sentence description.
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, directly addresses purpose and behavior, and includes examples. 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?
While the description explains read vs. write behavior, it lacks any mention of the response/return format, which is important given there is no output schema. It also does not reference sibling tools like list_pending or action_status, which could be needed to track queued write skills. This leaves a notable gap for a tool that can trigger asynchronous actions.
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 documents both parameters with 100% coverage. The description adds value by providing example skill_id values and indicating that 'input' varies by skill, which helps the agent understand the dynamic nature of the input 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 the tool's function: 'Invoke a single GuardEntry skill directly' with concrete examples (compliance_check, risk_analysis, scan_vulnerabilities). This distinguishes it from sibling tools like invoke_agent, which target agents, and list_skills, which only lists skills.
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 on when to use the tool (to invoke a skill directly) and important behavioral distinctions: read skills execute immediately, write skills are queued for approval. It does not explicitly name alternatives or exclusions, but the 'directly' phrasing and examples differentiate it from agent invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_list_pendingA
List pending API actions awaiting dashboard approval.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status (default: pending_approval) |
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 disclosing behavior. It indicates a read operation through the verb 'List' and clarifies the filter scope ('pending... awaiting dashboard approval'), but does not explicitly state side effects, permissions, pagination, or return format. This is acceptable for a simple listing tool but lacks depth.
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 sentence, front-loaded with the verb and resource, with no redundant words. It efficiently conveys the tool's core 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?
The tool is simple (one optional parameter, no output schema, no annotations), and the description provides the essential purpose. However, it does not explain what an 'API action' is, how results are presented, or when to prefer this over the sibling action_status tool, leaving some contextual 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?
Schema description coverage is 100% (the 'status' parameter has a description with enum values and default). The tool description does not add parameter-level detail beyond the schema, so baseline 3 applies. The schema already explains the filter and 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 'List pending API actions awaiting dashboard approval' uses a specific verb (List) and resource (pending API actions), clearly defining its purpose. It distinguishes from sibling tools like guardentry_list_risks (risks vs actions) and guardentry_action_status (status of a specific action vs list of pending).
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 when you need to view pending API actions awaiting approval, but provides no explicit when-to-use or exclusion guidance relative to sibling tools like guardentry_action_status or guardentry_confirm_policy. There are no alternatives mentioned, so the context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_list_risksB
List the organization's risk register. Returns risks with severity scores, status, and descriptions.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status: identified, assessed, mitigated, accepted, closed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions the return content but does not state whether the operation is read-only, requires permissions, or has side effects. This is a significant gap for a tool with no annotation-backed safety hints.
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 that immediately state the action and the return value. It is front-loaded, concise, and contains no fluff.
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 the basic purpose and return format, which is helpful given there is no output schema. However, it lacks any mention of safety, permissions, or error behavior; for a simple list tool with one optional filter, it is reasonably complete but not fully.
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 fully documents the 'status' parameter with enum values and a description, so the description adds no new parameter information. With 100% schema coverage, the 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 lists the organization's risk register and specifies the returned data (severity scores, status, descriptions). It does not explicitly distinguish from sibling tools, but the name and description are 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 description provides no guidance on when to use this tool versus alternatives such as guardentry_list_pending or guardentry_list_skills. No context for selection or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_list_skillsA
List all available GuardEntry agent skills with descriptions, grouped by category (research, analysis, write, output).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 clearly indicates this is a read-only listing operation ('List all...') and adds that results are grouped by category. However, it does not explicitly disclose that it has no side effects, requires no permissions, or any other behavioral traits, but for a simple list tool 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 a single, well-structured sentence that front-loads the action ('List all available...') and provides useful additional detail (grouping) without any wasted words.
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 parameterless list tool with no output schema, the description fully explains what the tool does and what the output contains (skills with descriptions, grouped by category). There is no missing information that would prevent an agent from selecting and invoking it 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?
The tool has zero parameters, and the schema is an empty object. The description needs to explain no parameters, and the baseline for 0 params is 4. It adds no extra parameter information because none is needed.
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 'list' and identifies the resource ('available GuardEntry agent skills'). It also specifies the output grouping ('by category: research, analysis, write, output'), which clearly distinguishes it from sibling tools like guardentry_list_risks or guardentry_invoke_skill.
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 when to use this tool (when you need to list available skills) but does not explicitly state when not to use it or mention alternatives (e.g., for invoking a skill, use guardentry_invoke_skill). There is no exclusionary guidance, so it falls short of a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardentry_update_policyA
Update an agent policy's rules — blocked actions, allowed tools, require-approval patterns, risk tolerance, and mode. A version snapshot is saved before each update.
| Name | Required | Description | Default |
|---|---|---|---|
| policy_id | Yes | UUID of the policy to update | |
| default_mode | No | Default evaluation mode for this policy | |
| blocked_tools | No | New list of blocked tool names | |
| change_reason | No | Reason for this policy update (recorded in version history) | |
| risk_tolerance | No | Risk tolerance level | |
| allowed_actions | No | New list of explicitly allowed action patterns | |
| blocked_actions | No | New list of blocked action patterns | |
| require_approval_patterns | No | New list of patterns that require human approval |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses a version snapshot is saved before each update, which adds useful behavioral context, but it omits permissions, replacement semantics, rollback behavior, and failure modes. More detail is needed for a mutation tool.
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 concise (two sentences) and front-loads the primary verb and resource. The list of categories is useful, but the inaccurate 'allowed tools' wording slightly detracts from precision.
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 tool with 8 parameters and no annotations or output schema, the description provides a clear purpose and notes version snapshots, but lacks critical context such as whether unspecified fields are unchanged or reset, required permissions, and return values. It is minimally 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?
Schema coverage is 100%, so the schema already documents every parameter. The description adds a category mapping but includes an imprecise phrase: 'allowed tools' is not a schema property (there is 'blocked_tools' and 'allowed_actions'). Baseline 3 applies because the schema handles the heavy lifting.
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 updates an agent policy's rules and enumerates the specific categories (blocked actions, allowed tools, require-approval patterns, risk tolerance, mode). This distinguishes it from sibling read tools like get_agent_policy and confirm_policy.
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 that this tool is for modifying policy rules, and its purpose is obvious given siblings like get_agent_policy/confirm_policy. However, it does not explicitly mention when not to use it or suggest alternative tools for other operations.
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.
12 tool updates
v0.2.0- First observed
guardentry_action_status - First observed
guardentry_chat - First observed
guardentry_compliance_status - First observed
guardentry_confirm_policy - First observed
guardentry_evaluate_action - First observed
guardentry_get_agent_policy - First observed
guardentry_invoke_agent - First observed
guardentry_invoke_skill - First observed
guardentry_list_pending - First observed
guardentry_list_risks - First observed
guardentry_list_skills - First observed
guardentry_update_policy
TDQS
Most tools target distinct resources and actions, such as listing risks, invoking agents/skills, and managing policies. The main potential confusion is between guardentry_invoke_agent and guardentry_invoke_skill, but their descriptions clarify that one invokes an entire agent while the other invokes a single skill. guardentry_chat is a broad catch-all that overlaps with some read operations, but its natural language interface makes it distinct enough.
All tool names share the guardentry_ prefix and use snake_case, which is good. However, the naming pattern is inconsistent: several tools follow a clear verb_noun structure (list_risks, invoke_agent, evaluate_action, get_agent_policy), while others lack a verb or use noun-only names (chat, compliance_status, action_status). This mixed convention makes the set slightly less predictable.
With 12 tools, the set is well-scoped for a governance/compliance platform covering risks, compliance, agents, skills, and policies. Each tool addresses a distinct concern, and the count stays within the ideal 3-15 range without feeling bloated or sparse.
The toolset covers core read operations and several actions, such as listing risks, invoking agents/skills, and updating policies. However, there are notable gaps: no dedicated create/update/delete tools for risks or controls, no tool to list agents, and no way to approve or reject pending actions directly. guardentry_chat can handle some writes indirectly, but this creates a dependency on a general-purpose tool.
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
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
471Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT
- FlicenseNot gradedqualityCmaintenanceWraps your existing MCP servers and checks each tool call against policy and live state before it runs. Allow, block, or require a refresh, with a reason the agent can act on.5-

evav-gatewayofficial
AlicenseNot gradedqualityBmaintenanceGoverned MCP gateway that lets AI agents call tools with policy enforcement, prompt-injection screening, a kill-switch, and tamper-evident signed audit logs.Apache 2.0- AlicenseNot gradedqualityCmaintenanceGoverns AI agent tool calls by checking them against Agentic Control Plane policies, returning allow/deny/ask decisions with audit logging and identity attribution for MCP clients like Claude and ChatGPT. Exposes acp_check and acp_status tools for policy enforcement and connection verification.MIT
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/guardentryai/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server