Skip to main content
Glama

Drex MCP

Drex MCP exposes Nace.AI Drex as a bounded closed-decision tool for MCP-compatible agents. The agent supplies a question, explicit choices, and optional evidence/context; Drex returns a selected choice and probabilities. The agent remains responsible for deciding whether and how to act.

The server is a thin stdio MCP adapter to the public Drex API. It does not provide general conversation, execute the selected action, or contain a separate decision engine.

Requirements

  • Python 3.10+

  • A Nace.AI Drex API key

  • An MCP client (Hermes Agent is supported through its documented stdio MCP configuration)

Related MCP server: kev-mcp

Install and configure

git clone https://github.com/colt2822/Drex-MCP.git
cd Drex-MCP
python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[test]'
export DREX_API_KEY='your_api_key_here'

The server reads DREX_API_KEY from its process environment. It makes an HTTPS request to the fixed public Drex endpoint with a 30 second request timeout and 5 second connect timeout. It does not print provider responses, credentials, or exception text.

Tool

drex_decide(question, choices, evidence="")

  • question: non-empty string, up to 2,000 characters

  • choices: 2–12 non-empty string labels, each up to 200 characters

  • evidence: optional string, up to 6,000 characters

The input becomes Drex's supported state and questions.decision choice schema. No unsupported API metadata is sent.

Success result:

{
  "ok": true,
  "result": {
    "choices": {"retry_1": "Retry", "escalate_2": "Escalate", "stop_3": "Stop"},
    "choice": "retry_1",
    "probabilities": {"retry_1": 0.8, "escalate_2": 0.15, "stop_3": 0.05},
    "confidence": 0.8,
    "latency_ms": 123.45
  }
}

Errors use {"ok": false, "error": {"code": "...", "message": "..."}}; an upstream HTTP status is included when available. API response bodies and secrets are not included.

Hermes Agent

Hermes reads MCP servers from ~/.hermes/config.yaml. Install this package in the environment available to Hermes and merge examples/hermes/config.yaml into that file. Set DREX_API_KEY in the MCP server env mapping, then restart Hermes. See the Hermes-specific usage example.

Development and tests

python -m pip install -e '.[test]'
pytest

The standalone tests stub the network and do not make paid Drex calls. Separately, one direct MCP canary and one Hermes Agent canary each made a single live Drex API request during release validation.

Compatibility

The API request and response validation follows the public drex-latest /v1/systemone choice schema used by Drex OpenWebUI Bridge v0.1.0. Python 3.10+ and MCP Python SDK 1.x are targeted. Hermes Agent v0.20.4 was verified with the example configuration for stdio connection, tool discovery, and one live tool call to Drex.

License

MIT. See LICENSE.

Unofficial community integration for Nace.AI Drex and Hermes Agent. This project is not an official Nace.AI or Hermes project unless explicitly endorsed.

Available Tools

1 tool
drex_decideC

Return Drex's selected choice and probability distribution for a closed decision.

Drex returns a decision; the calling agent remains responsible for any action.

ParametersJSON Schema
NameRequiredDescriptionDefault
choicesYes
evidenceNo
questionYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It usefully clarifies that Drex only returns a decision and that the calling agent remains responsible for any action, but it does not disclose determinism, how probabilities are derived, persistence, 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.

Conciseness5/5

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

The description is only two sentences and is front-loaded with the primary result. The second sentence earns its place by defining responsibility after the call, and there is no redundant repetition of schema fields.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and an otherwise opaque optional evidence parameter, this description is too thin. An agent cannot tell what a valid evidence string should contain or what the probability distribution will look like, leaving important invocation details missing.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds almost no parameter meaning. The role of 'evidence' is especially unclear despite having a default value, and the description does not explain acceptable question format, choices constraints, or how they map to the returned probability distribution.

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

Purpose4/5

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

The description states a specific outcome: returning Drex's selected choice and a probability distribution for a closed decision. It clearly identifies the tool's action and result, though there are no sibling tools to differentiate from, so it cannot earn full credit for distinction.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives, or when not to use it. The phrase 'closed decision' vaguely implies a decision with provided choices, but the description never states selection criteria or exclusions.

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.

  1. 1 tool updatev0.1.0
    • First observeddrex_decide

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is zero possibility of confusion or overlap. The single tool's purpose is clearly stated and cannot be mistaken for any other tool.

Naming Consistency4/5

The name 'drex_decide' follows a clear server-prefix + verb convention and is readable and predictable. With only one tool there is no pattern to compare against, but the naming itself is sound and consistent with the server identity.

Tool Count3/5

A single tool feels thin, but the server's stated scope — returning a closed decision with a probability distribution — is narrow enough that one tool can plausibly fulfill it. Borderline, but not egregiously under-scoped.

Completeness4/5

The core decision-making operation is covered, and the description clearly demarcates that acting on the decision is the caller's responsibility. Minor gaps exist (e.g., no way to configure Drex's behavior or provide structured context), but the primary workflow is functional.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables coding agents to query a locally running Kev decision model through MCP tools, returning calibrated probabilities for typed questions such as yes/no, choice, and score.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP-capable agents to query the NanoJev decision service in natural language for boolean, choice, and score evaluations across decision-loop stages such as feasibility checks, action selection, risk assessment, and look-ahead planning.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables any agent to ask typed questions (Noul, Choice, Score) against Jev's decision model and receive structured answers with probabilities, confidence, and an auditable act/review/abstain decision.
    145 npm
    1
    MIT