ai·rete·rag
Server Details
Author rules from policy docs, then decide: a Rete engine gives the verdict, an LLM explains why.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- zaharajabeen13-create/ai-rete-rag-mcp
- GitHub Stars
- 0
- Server Listing
- ai-rete-rag
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 8 of 8 tools scored. Lowest: 3.4/5.
Each tool serves a clearly distinct purpose: decide executes decisions, rule management tools (get_rule_source, list_rules, put_rules) each address different aspects of rule viewing/editing, import_policy_rules handles policy-to-rule drafting, and document tools handle knowledge base content. No two tools are easily confused.
All tool names follow a consistent verb_noun snake_case pattern, e.g., list_rules, get_usage, put_rules, import_policy_rules. The single-verb 'decide' fits naturally as the core action. There is no mixing of styles or unpredictable naming.
With 8 tools, the server is well-scoped for its purpose of rule-based decisioning with RAG support. Each tool represents a distinct capability in the workflow—policy ingestion, rule authoring, knowledge base management, decision execution, and usage monitoring—without excess.
The tool set covers the core lifecycle: ingest policy text, import draft rules, publish rules, list rules/source, and execute decisions. Minor gaps exist such as no explicit delete for documents or rules (though put_rules with empty YAML can effectively clear rules), and domain listing is indirect via list_rules. These are workable omissions.
Available Tools
8 toolsdecideMake a decisionAInspect
Make a deterministic, auditable decision in a domain.
The verdict comes from the domain's rule set (Rete engine, never the LLM), so it is reproducible and compliant. The explanation is generated from the domain's ingested policy documents.
Args:
domain: Rule-set domain, e.g. "loan", "fraud", "clinical".
query: Natural-language question or decision request.
facts: Structured facts for working memory, e.g.
{"credit_score": 710, "annual_income": 85000}. Use list_rules
to see which fields a domain's rules test.
unstructured_text: Optional free text (an application, a case note);
facts are extracted from it automatically and merged.
response_mode: "verdict_only" (fastest), "verdict_with_explanation",
or "full_audit" (every rule evaluation + retrieved chunks, available
on every plan including the free tier).
rule_firings come back in causal order: a rule that matched a fact
asserted by an earlier firing appears after it, with the derived
facts listed under asserted_facts.
filter_retrieval_with_rules: Pattern 01 — run the rules first and let a
fired rule's retrieval_scope action narrow which documents the
retrieval searches before it runs.
extract_from_retrieval: Pattern 02 — parse the retrieved documents into
facts and assert them into working memory, so rules fire on what was
actually read (not just the facts you passed).
| Name | Required | Description | Default |
|---|---|---|---|
| facts | No | ||
| query | Yes | ||
| domain | Yes | ||
| response_mode | No | verdict_with_explanation | |
| unstructured_text | No | ||
| extract_from_retrieval | No | ||
| filter_retrieval_with_rules | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses key behavioral traits: determinism, auditable rule-set execution (never LLM), explanation generation from policy documents, causal ordering of rule firings, and two documented retrieval patterns. It also mentions 'available on every plan including the free tier,' providing useful context not in annotations.
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 long but well-structured with Args and Pattern sections. For a tool with 7 parameters and multiple behavioral nuances, each section earns its place. It could be tightened slightly (e.g., condensing the response_mode explanation), but it is not wasteful.
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 and the presence of an output schema, the description covers all necessary areas: purpose, rule-based execution, response modes, rule firing order, retrieval patterns, and cross-references to sibling tools for rule inspection. No critical gaps remain.
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 0%, so the description carries the full burden. It thoroughly explains all seven parameters, including examples for facts (e.g., {'credit_score': 710}, the meaning of response_mode enum values, and the two boolean patterns. This adds far more meaning than the bare 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 begins with a specific verb+resource: 'Make a deterministic, auditable decision in a domain.' It clearly distinguishes the tool from sibling rule-management tools (e.g., list_rules, put_rules) by focusing on the decision execution itself, and adds the unique context of the Rete engine.
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 the tool ('Make a decision') and even directs users to list_rules to inspect which fields a domain tests. It does not explicitly state when-not-to-use or name alternative tools for other tasks, missing the 'exclusions' element, but the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rule_sourceGet rule source (YAML)ARead-onlyInspect
Fetch a domain's rule set as editable YAML (plus the parsed rules and
whether you may edit it). Use this before put_rules to see the current
rules; the built-in demo domains are read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already indicates readOnlyHint=true, but the description adds beyond that by disclosing the tool returns editable YAML, parsed rules, and an editability flag. It also notes demo domains are read-only, which is useful behavioral context not captured in the annotations. No contradiction.
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 and front-loaded with the core purpose. Every sentence contributes value: the first states what it does, the second provides usage context and a caution. No 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 one-parameter read-only tool, the description covers the key behavioral aspects: return content, usage context, and a permission caveat. An output schema exists, so it need not detail return values. It is complete enough for a correct invocation, missing only deeper parameter semantics already penalized.
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 0%, so the description must compensate. The only parameter, 'domain', is not described beyond the passing phrase 'a domain's rule set'. No examples, valid values, or guidance on how to identify a domain. The description adds essentially no meaning beyond the parameter name 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 uses the specific verb 'Fetch' and clearly identifies the resource ('a domain's rule set') and the output format ('editable YAML'). It also mentions additional outputs (parsed rules and editability), which further clarifies its role. This clearly distinguishes it from siblings like list_rules and put_rules.
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 this tool: 'Use this before put_rules to see the current rules'. It also provides an important caveat about built-in demo domains being read-only, giving the agent actionable context for when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageCheck usage and quotaARead-onlyInspect
Show this account's decision usage, plan, and remaining monthly quota.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation, and the description adds meaningful context by enumerating exactly what is shown (decision usage, plan, remaining quota). It consistently frames the tool as read-only, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the tool's purpose without any filler. Every word contributes to clarity.
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 (no parameters), the presence of an output schema, and the clear read-only scope, the description is fully adequate. It covers what the tool does without needing to explain return values or complex behaviors.
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, which removes the need for semantic explanations. Per guidelines, the baseline is 4 when no parameters exist, and the description is sufficient.
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 states a specific verb ('Show') and resource ('this account's decision usage, plan, and remaining monthly quota'). It clearly distinguishes this tool from siblings like 'decide' or 'list_rules' by focusing on account-level quota information.
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 account usage/quota information) but provides no explicit alternatives or exclusions. It does not compare with sibling tools or mention prerequisites, leaving usage largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_policy_rulesDraft rules from a policyARead-onlyInspect
Convert a written policy document into DRAFT decision rules (LLM-assisted).
Returns validated draft rules (when/action, including chained asserts where
the policy stages its determinations), derived rule→rule edges, and overlap
warnings. Each returned rule carries a citation field holding the policy
sentence it encodes (also summarized in the top-level citations map).
NOTHING IS SAVED: review the drafts (and show them to the user), then
persist explicitly with put_rules — validate first with dry_run=true,
and keep each rule's citation in the YAML you save so the audit trail
back to the policy survives.
Args: domain: Domain the rules are drafted for (an owned domain or a new name). policy_text: The policy document text (max ~50k characters).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| policy_text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although the annotation readOnlyHint=true already signals read-only behavior, the description goes further by explicitly stating 'NOTHING IS SAVED,' which reinforces the safety profile. It also discloses return behavior (validated draft rules, edge list, overlap warnings, citation fields) and offers validation advice (dry_run=true). This adds meaningful context beyond the annotation without contradicting it.
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 well-structured with a clear opening sentence, a detailed body explaining the outputs and the no-save behavior, and an Args section. It is somewhat lengthy but every part contributes value: the workflow guidance, return details, and parameter descriptions are all necessary for a tool of this complexity.
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 tool's purpose, output content, side-effect-free behavior, and the follow-up workflow with put_rules. It mentions constraints like the 50k character limit. Given that an output schema exists, the description doesn't need to enumerate return fields, but it still provides a solid overall picture. Minor gaps include lack of error-condition examples and broader alternative guidance, but it is sufficiently complete for a complex drafting 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?
With 0% schema description coverage, the description must carry the full burden of explaining parameters. It does so by defining 'domain' as 'Domain the rules are drafted for (an owned domain or a new name)' and 'policy_text' as 'The policy document text (max ~50k characters).' These explanations add meaningful constraints and context that the schema alone lacks.
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: 'Convert a written policy document into DRAFT decision rules (LLM-assisted).' It identifies the specific resource (policy document), the outcome (draft rules), and the key distinction that these are drafts, not persisted rules. This differentiates it from sibling tools like 'put_rules' (which saves rules) and 'list_rules' (which lists existing rules).
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 workflow guidance: it explicitly instructs to review drafts and then 'persist explicitly with put_rules — validate first with dry_run=true.' This reveals when to use this tool (for drafting) and what to do next (use a different tool for saving). It doesn't explicitly state alternatives to avoid, but the mention of put_rules as the persistence step gives a strong contextual framework.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_textIngest policy textAInspect
Add policy/reference text to a domain's knowledge base.
The text is chunked and embedded; explanations for future decisions in this domain will cite it. Creating a new domain claims it for your account (plan limits apply). The built-in demo domains are read-only — ingest into your own domain instead. On team plans, only the domain admin (the member who created the domain, or the subscription owner) can add documents.
Args: domain: Domain to ingest into (existing or new). text: The policy or reference text. source: Optional source name shown in the document list.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| domain | Yes | ||
| source | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses several important behaviors beyond the annotations: text is chunked and embedded and will be cited in future decisions, creating a new domain claims it with plan limits, demo domains are read-only, and team plans have admin-only ingestion. The readOnlyHint=false and destructiveHint=false are consistent with the description, and there's no contradiction.
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 well-structured and suitably sized: a clear first sentence, followed by essential behavioral context, then a compact Args section. Every sentence earns its place without unnecessary verbosity.
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 side effects, permissions, parameter semantics, and usage constraints. Since an output schema exists, return-value details are not required. It is complete for a tool of this complexity.
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 0% description coverage, but the Args section fully explains each parameter: domain (existing or new), text (policy/reference text), and source (optional name shown in document list). This adds meaning beyond the schema's bare titles and types.
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 clear, specific verb and resource: 'Add policy/reference text to a domain's knowledge base.' This distinguishes it from sibling tools like import_policy_rules, which likely handle structured rules rather than free text. The rest of the description reinforces the purpose by explaining how the text is processed and used.
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 gives useful context: demo domains are read-only and users should ingest into their own domain, and team plans require admin permissions. However, it does not explicitly mention alternative tools or when to choose this over import_policy_rules, so it stops short of the full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsList documentsBRead-onlyInspect
List the documents ingested into a domain's knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already include readOnlyHint: true, and the description adds no additional behavioral context such as pagination, ordering, result limits, or specifics about which documents are returned. It merely restates the read-only nature without going beyond what the annotation provides.
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 concise sentence that immediately conveys the action and object, with no unnecessary words. It is properly front-loaded and efficient.
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 presence of an output schema (covering return values) and readOnlyHint annotations, the description is adequate for a simple listing tool. It does not include usage guidance, but for such a straightforward operation, the minimal context is sufficient.
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 one parameter, 'domain', with no description (0% coverage). The tool description leverages 'domain's knowledge base' to give context that the domain parameter identifies the knowledge base, but does not clarify the format or expected values. This partially compensates for the missing schema description.
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 action ('List'), the resource ('documents'), and the scope ('into a domain's knowledge base'), which differentiates it from sibling tools like ingest_text (ingesting documents) and list_rules (listing rules).
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, nor any exclusions or prerequisites. The description simply states what it does without helping the agent choose it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rulesList rulesARead-onlyInspect
List the decision rules for one domain (or all domains).
Returns each rule's conditions — either a flat AND list (field / operator /
value) or a when condition tree (nested all/any/not) — plus its verdict,
salience, and any asserted facts (action.assert, the facts a rule
produces for other rules to consume). edges lists the derived rule→rule
dependencies: src asserts a fact type that dst's conditions test (forward
chaining). Each rule may also carry citation — the policy sentence it
encodes — which is what lets a decision be traced back to the source
clause. Also includes overlap warnings. Use this to learn which fact
fields a domain expects before calling decide.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnlyHint annotation: it explains the return structure (flat AND list or when tree), verdict, salience, asserted facts, rule→rule dependencies, citations, and overlap warnings. This gives the agent a realistic expectation of what the tool returns and its analytical value.
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 front-loaded with the main purpose and then provides dense, relevant detail in a structured way. Every clause adds information about returned data or usage context. Length is justified by the complexity of the 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?
Given the output schema exists and the tool has one optional parameter, the description is complete enough. It covers purpose, parameter meaning, return-value highlights, and the intended usage before decide. No critical gaps are apparent.
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?
With zero schema description coverage, the description compensates by clarifying the only parameter: 'one domain (or all domains)' maps to the optional domain field and its null default. It also ties domain to the decide workflow. This is sufficient for a single free-form string parameter, though it does not enumerate possible domain values.
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 and resource: 'List the decision rules for one domain (or all domains).' It clearly identifies the scope and differentiates from sibling tools like put_rules (write/update) and decide (rule 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?
The description explicitly states when to use this tool: 'Use this to learn which fact fields a domain expects before calling decide.' This gives a clear usage context and points to a related sibling. It does not explicitly mention when not to use alternatives, but the primary workflow guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_rulesSave rulesADestructiveInspect
Create or replace a domain's rule set from YAML (self-serve rule authoring).
The first save to a new domain claims it for your account (plan limits apply); the built-in demo domains are read-only. Rules are validated before saving — set dry_run=true to validate without persisting. The response reports ok/errors, the parsed rules, and any overlap warnings.
YAML format — a list of rules. Flat form (conditions are AND-ed): - name: "Approve" salience: 10 conditions: - type: loan field: credit_score op: ">=" value: 700 action: verdict: "APPROVED" reason: "Credit score meets threshold"
Tree form — when: holds nested all/any/not condition groups, and an
action may assert derived facts that other rules consume (forward
chaining; the rule graph derives from these automatically):
- name: "Sepsis Screen"
salience: 30
when:
all:
- {type: clinical, field: temperature_f, op: ">=", value: 101.5}
- any:
- {type: clinical, field: wbc_count, op: ">", value: 12.0}
- {type: clinical, field: bands_pct, op: ">", value: 10}
action:
verdict: "URGENT_ALERT"
assert:
- {type: sepsis_flag, fields: {severity: high}}
- name: "Escalate"
salience: 40
when:
all:
- {type: sepsis_flag, field: severity, op: "==", value: high}
- {type: clinical, field: age, op: ">=", value: 65}
action:
verdict: "ADMIT_ICU"
Use either conditions: or when: per rule, never both. not passes
when the inner condition does not hold (including when the field is
absent). Produce/consume cycles between rules are rejected at validation.
An action may also carry retrieval_scope: { <key>: <value> } to narrow
which documents retrieval searches (Pattern 01).
A rule may also carry citation: — the policy sentence it encodes. It is
stored with the rule and shown beside it in decision audits, so a verdict
can be defended with the source language, not just the rule name:
- name: "Decline Late Returns"
salience: 20
citation: "Returns are accepted within 30 days of delivery."
when:
all:
- {type: retail, field: days_since_delivery, op: ">", value: 30}
action:
verdict: "DENIED"
IMPORTANT: when persisting drafts returned by import_policy_rules, copy
each rule's citation through into this YAML. Dropping it silently loses
the link from the decision back to the policy clause that justifies it.
Args: domain: Domain to author (an owned domain, or a new name to claim). rules_yaml: The full rule set as YAML text. dry_run: Validate only, without saving.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| dry_run | No | ||
| rules_yaml | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already mark destructiveHint=true, the description adds rich context: first save claims a domain, plan limits apply, demo domains are read-only, validation occurs before saving, overlap warnings are returned, and produce/consume cycles are rejected. It also discloses the silent citation-drop risk. No contradiction with annotations.
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?
Though long, the description is well-structured and front-loaded with the core purpose immediately. The YAML examples, caveats, and Args section all earn their place given the complexity of rule authoring; there is no filler or 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?
For a tool with a simple schema but complex YAML payload, the description is exceptionally complete. It covers ownership, validation, dry-run behavior, response contents, YAML forms (flat/tree), assertions, forward chaining, retrieval_scope, citation, and a critical data-loss warning. The output schema exists but the description still usefully summarizes response fields.
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 0%, but the 'Args:' section fully documents each parameter: domain as owned/new domain, rules_yaml as YAML text, dry_run as validate-only. This compensates completely for the empty schema descriptions and adds practical meaning beyond parameter names.
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 'Create or replace a domain's rule set from YAML (self-serve rule authoring)', which is a specific verb + resource + scope statement. It clearly distinguishes itself from alternatives like import_policy_rules by explicitly referencing that tool's drafts.
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 explicit when-to-use context: new domain claims, demo domain read-only restriction, dry-run alternative, and the relationship to import_policy_rules for persisting drafts. It gives clear directives like 'set dry_run=true to validate without persisting' and warns to copy citation fields when persisting drafts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityAmaintenanceDeterministic policy enforcement for AI agent tool calls. It evaluates every tool call against user-defined rules before execution, with no LLM in the authorization path.Last updated3MIT
- FlicenseAqualityBmaintenanceSemantic search over project-specific decision rules using Chroma, enabling LLMs to retrieve relevant context.Last updated1

gnt MCP Serverofficial
Alicense-qualityBmaintenanceEnables AI agents to query live, human-approved rules before taking actions, ensuring compliance and reducing errors.Last updated8Apache 2.0- Flicense-qualityCmaintenanceDemo MCP for insurance underwriting decision support, reading application forms, health questionnaires, and medical exam results to return justified recommendations using deterministic rules.Last updated
Your Connectors
Sign in to create a connector for this server.