# ai.plith/plith

> AI agent infrastructure: dedup, cost prediction, validation, governance, failure intelligence.

- name: ai.plith/plith
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.plith%2Fplith
- tools: https://api.protogrid.dev/v1/servers/ai.plith%2Fplith/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "plith": {
      "type": "http",
      "url": "https://plith.ai/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 45
- provenance: 75
- drivers: +repository +dns-namespace +reachable +uptime-100% -stale-188d
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 15 of 15 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 7,437 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 7 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 15, about 7,437 tokens to load them all
- tool set hash: 2a7b07edc5a174c48db87ea23749f4a6
- tools last changed: 2026-10-10T21:26:10.325Z
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.plith/plith.svg)](https://protogrid.dev/servers/ai.plith/plith)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-10 `rigor_execute` changed (inputSchema)
- 2026-10-10 `rigor_plan` changed (inputSchema)
- 2026-10-09 `rigor_status` changed (outputSchema)
- 2026-10-08 `rigor_execute` changed (inputSchema)
- 2026-10-08 `rigor_plan` changed (inputSchema)
- 2026-10-08 `rigor_execute` changed (inputSchema)
- 2026-10-08 `rigor_plan` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/ai.plith%2Fplith/changes

## Remotes

- https://plith.ai/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (15)

- `burnrate_budget`: Get today's tracked LLM spend, per-model breakdown, projection, and budget alerts. Free — no credits charged.
- `burnrate_estimate`: Before executing a multi-step agent plan, estimate the total LLM cost. Returns per-step breakdown and optimization suggestions. If the estimate exceeds your budget, pipe the same plan into burnrate_optimize. Costs 1 credit.
- `burnrate_optimize`: Get a cheaper equivalent plan by substituting models with lower-cost alternatives. Call after burnrate_estimate if the estimated cost exceeds your budget. Returns the optimized plan with substituted models, new per-step costs, total savings, and whether the target_budget is met. Optionally set target_budget to constrain the optimization. Costs 1 credit.
- `burnrate_track`: Log the actual cost of an LLM call after execution. Call this after every LLM request to build calibration data that improves burnrate_estimate accuracy over time. Free — no credits charged. Returns the recorded cost entry with computed margin versus the prior estimate when one exists for this model and token range.
- `dedupq_check`: Before executing any LLM task, check if an identical or semantically similar task has already been completed. Returns cached result on hit, saving one LLM call. On a miss, execute your task and call dedupq_complete to cache the result for future hits. Costs 1 credit.
- `dedupq_complete`: After executing a task, store the result so future identical or similar tasks return a cache hit via dedupq_check. Costs 2 credits.
- `guardrail_check`: Evaluate a proposed agent action against your governance policies. Returns allow or deny with the matched policy reason. Requires at least one active policy created via guardrail_create_policy. Deterministic rule evaluation — no LLM. Costs 1 credit.
- `guardrail_create_policy`: Create a persistent governance policy that guardrail_check evaluates on every subsequent call. Define rules using and/or/not operators over action types, resource patterns, and budget thresholds. Call this before using guardrail_check — checks require at least one active policy. Policies persist until explicitly deleted. Duplicate policy names return an error. Returns the created policy with its ID and active status.
- `pitfalldb_query`: Check for known failure patterns before executing a task type. Returns pitfalls with severity, fix suggestions, and confidence scores. After your agent runs, submit failures via pitfalldb_report so others benefit. Costs 2 credits.
- `pitfalldb_report`: Report an agent failure. PII-scrubbed before storage. Linked to existing pitfalls if similar. Free — no credits charged.
- `qualitygate_validate`: After your agent generates output, validate it against your rules before shipping. Runs deterministic checks (regex, JSON schema, syntax) plus optional LLM-powered tone and factual analysis. Returns a structured verdict (pass, warn, or fail) with a 0-100 score and per-check issue details. Use qualitygate_trends to spot recurring failure patterns over time. Variable cost: 1 credit per deterministic check, 8 credits per LLM check.
- `rigor_execute`: Execute a structured workflow end-to-end. Call rigor_plan first (free) to preview the step sequence and cost estimate before committing credits. Classifies the task, selects the optimal tool sequence, and executes each step with the right LLM model. Returns a complete deliverable — solution designs, competitive analyses, governance documents, and more. Supports SSE streaming for real-time progress, webhook callback, or polling. For atomic work — classification, scoring, ranking, entity extraction, query parsing — set preferences.execution to 'direct' and declare preferences.output_contract to get validated JSON records from a single call, routed to the cheapest model that holds the schema.
- `rigor_plan`: Before executing a complex task, get a structured workflow plan with per-step cost estimates. Classifies your task, selects the optimal framework sequence, and returns the full plan without executing anything. The response's allowed_modes tells you whether this plan is eligible for direct execution. Free — no credits charged.
- `rigor_status`: Check the status of a running or completed Rigor workflow. Returns progress, step results, and the full deliverable when complete. Use after rigor_execute with polling delivery to retrieve results.
- `rigor_workflows`: List and search Rigor workflows for your organization, with filtering and pagination. Returns status, progress, capacity usage, and available actions per workflow. Use to monitor workflow state, understand concurrent limit usage, identify stuck or completed workflows, and — via q — find prior work on a subject before commissioning it again. Pair a q hit with rigor_status to read that workflow's deliverable.
