# io.github.karlmehta/trustmodel-mcp (npm · @trustmodel/mcp-server)

Score any AI for trust across 10 dimensions; evaluate, monitor & govern LLMs and agents.

- Trust score: 63/100 (medium)
- Change this week: +20
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@trustmodel/mcp-server`: 63/100 (this document), [markdown](https://verifymcp.io/servers/karlmehta-trustmodel-mcp/trustmodel-mcp-server.md), [page](https://verifymcp.io/servers/karlmehta-trustmodel-mcp/trustmodel-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@trustmodel/mcp-server`
- Version: `0.2.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 79/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known high-severity CVE affects js-yaml 4.1.1, reached via @microsoft/agent-governance-sdk > js-yaml. A fixed version is available.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (108 of 112), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 16 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1170 tokens (~195/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add karlmehta-trustmodel-mcp -- npx -y @trustmodel/mcp-server
```

### Codex

```bash
codex mcp add karlmehta-trustmodel-mcp -- npx -y @trustmodel/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "karlmehta-trustmodel-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@trustmodel/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add karlmehta-trustmodel-mcp --command npx --arg -y --arg @trustmodel/mcp-server
```

### Hermes

```yaml
mcp_servers:
  karlmehta-trustmodel-mcp:
    command: "npx"
    args: ["-y", "@trustmodel/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "karlmehta-trustmodel-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@trustmodel/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 63, +58)

- [security regression] CVE-2026-53550 affects this package: high
- [security regression] CVE-2026-59869 affects this package: high
- [security regression] Provenance: unverified → fail
- [security regression] Known CVEs: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: MIT

### 2026-08-01 (score 5, −20)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 25, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-30 (score 43, +17)

- [functional regression] Dependency health: partial → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 26, −17)

- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 43)

First indexed and scored.

## MCP tools (6)

### `trustmodel_score` (~60 tokens)

Get the current trust score / detail for a previous LLM evaluation created via trustmodel_evaluate. Takes an integer evaluation_id and returns the evaluation detail including scores.

Input parameters:

- `evaluation_id` (required): Integer evaluation ID returned from a previous trustmodel_evaluate call.

### `trustmodel_trace_start` (~235 tokens)

Open a new agent-trace capture session. Returns a trace_id that must be passed to every trustmodel_trace_step and the final trustmodel_trace_finalize. Capture steps (thoughts, tool calls, tool results, responses) as your agent executes; finalize when done to upload + auto-create an evaluation run.

Input parameters:

- `agent_framework` (string, required): Framework the agent is built with (e.g. 'langchain', 'crewai', 'claude-code', 'custom').
- `agent_model` (string): Underlying LLM the agent is using (e.g. 'gpt-4o', 'claude-sonnet-4-5').
- `expected_outcome` (string): Optional description of the expected outcome.
- `goal` (string, required): What the agent is trying to achieve. Required; feeds the evaluation run.
- `metadata` (object): Free-form passthrough metadata stored inside the trace file.
- `name` (string, required): Display name for the evaluation run (shown in TrustModel UI).
- `user_query` (string): Original user prompt that triggered the run, if different from `goal`.

### `trustmodel_trace_step` (~312 tokens)

Record a single step in an active trace session. Call once per reasoning step, tool call, tool result, or user-facing response. Step numbers are auto-assigned (1-based). Requires a trace_id from trustmodel_trace_start.

Input parameters:

- `content` (string, required): Human-readable text for this step. Empty string allowed.
- `duration_ms` (integer): How long this step took, in milliseconds.
- `input_tokens` (integer): Input token count for this step.
- `model_used` (string): Model used for this step's reasoning.
- `output_tokens` (integer): Output token count for this step.
- `step_type` (string, required): Kind of step: 'thought'/'think' (reasoning), 'tool_call', 'tool_result', 'observation', 'decision', 'error', 'human_input', 'response'/'final_answer' (user-facing output).
- `timestamp` (string): ISO 8601 timestamp. Defaults to the current time if omitted.
- `tool_args` (object): Arguments passed to the tool (use with step_type='tool_call').
- `tool_call_success` (boolean): Whether the tool call succeeded (use with step_type='tool_result').
- `tool_name` (string): Name of the tool invoked (use with step_type='tool_call' or 'tool_result').
- `tool_result`: Result returned by the tool (use with step_type='tool_result').
- `trace_id` (string, required): Trace handle returned by trustmodel_trace_start.

### `trustmodel_trace_finalize` (~251 tokens)

Close an active trace session, serialize the captured steps, upload to TrustModel cloud storage, and auto-create an agentic evaluation run. Returns both a file_path (for record-keeping / retry) and an evaluation_run_id that can be polled with trustmodel_score_agent.

Input parameters:

- `actual_outcome` (string): Optional description of what actually happened.
- `agent_framework` (string): Override `agent_framework` provided at trace_start.
- `agent_model` (string): Override `agent_model` provided at trace_start.
- `expected_outcome` (string): Override `expected_outcome` provided at trace_start.
- `final_response` (string): The final user-facing answer from the agent.
- `goal` (string): Override `goal` if the agent learned more at runtime.
- `goal_achieved` (boolean): Whether the agent achieved its goal.
- `name` (string): Override `name` provided at trace_start.
- `success` (boolean): Whether the run is considered successful overall.
- `total_duration_ms` (integer): Total execution time in ms. If omitted, computed from step durations.
- `trace_id` (string, required): Trace handle returned by trustmodel_trace_start.

### `trustmodel_evaluate_local` (~150 tokens)

Score AI output locally across the 10 TrustModel dimensions (safety, fairness, accuracy, privacy, transparency, robustness, accountability, explainability, compliance, reliability) and roll it into a 0-100 TrustScore. NO API key required — runs on this machine with a transparent heuristic judge. Returns trust_score, grade, per-dimension scores, and violations. Local scores are uncalibrated; use trustmodel_evaluate (cloud, needs a free TRUSTMODEL_API_KEY) for a calibrated, audit-ready score.

Input parameters:

- `context` (string): Optional context the output was produced in (improves judging).
- `output` (string, required): The AI output text to score.

### `trustmodel_govern` (~162 tokens)

Check text against a governance policy pack and decide allow/block, locally. NO API key required. `policy` is a built-in pack id — eu-ai-act (default), nist-ai-rmf, nyc-ll144, or owasp-llm. Returns allowed/blocked, the policy id, and the list of rule violations (pattern and dimension rules). Use before letting AI output reach a user or another tool.

Input parameters:

- `context` (string): Optional context the output was produced in.
- `policy` (string): Policy pack id: eu-ai-act (default), nist-ai-rmf, nyc-ll144, owasp-llm.
- `text` (string, required): The text/output to check against the policy.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/karlmehta-trustmodel-mcp/trustmodel-mcp-server#diagnostics

## Score history

- 2026-08-03: 63
- 2026-08-02: 63
- 2026-08-01: 5
- 2026-07-31: 25
- 2026-07-30: 43
- 2026-07-28: 26
- 2026-07-27: 43

## Links

- npm package: https://www.npmjs.com/package/@trustmodel/mcp-server
- Socket report: https://socket.dev/npm/package/@trustmodel/mcp-server
- Repository: https://github.com/karlmehta/trustmodel-mcp
- Changelog RSS feed: https://verifymcp.io/servers/karlmehta-trustmodel-mcp/trustmodel-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/karlmehta-trustmodel-mcp/trustmodel-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/karlmehta-trustmodel-mcp/trustmodel-mcp-server
