Ackrite
Click 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., "@AckriteCheck this claim against the attached log: the auth call causes the timeout. Recommend next check."
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.
Ackrite
ACKRITE. PROVE IT.
An MCP server that makes AI agents prove their assumptions before acting on them.
Ackrite is a focused verification utility for AI agents. It does not attempt to solve every problem, browse for convenient answers, or invent corroboration. Instead, it challenges an agent’s technical claim using only the evidence supplied to it, distinguishes facts from hypotheses, identifies missing proof, and recommends the smallest next check that can settle the question.
Its purpose is to prevent a familiar failure mode: an agent sees an error, assumes the cause, confidently rewrites half the system, and only then discovers the assumption was wrong. Ackrite pushes the agent toward evidence, targeted experiments, scoped changes, and explicit uncertainty.
Ackrite does | Ackrite does not |
Classify claims from supplied evidence | Invent, fetch, or imply evidence it was not given |
Detect contradictions and unsupported assumptions | Present an inference as a fact |
Challenge rewrites and scope creep before implementation | Apply code changes or call external systems |
Track a bounded, in-process verification history | Persist a large memory system or depend on L-Dopa |
Redact common secrets from diagnostic output | Guarantee perfect secret detection for every custom credential format |
Why it exists
An agent’s confidence is not evidence. A claim such as “the API removed native authentication” is often a useful hypothesis, but it becomes dangerous when it is treated as established fact and used to justify a rewrite. Ackrite asks four narrow questions:
What does the supplied evidence actually establish?
What contradicts the claim, if anything?
What assumption is doing the work?
What is the smallest empirical check to run next?
The result is deliberately concise enough to put directly back into an agent’s context window.
Related MCP server: Recommend Agentic Trust Layer
Claim statuses
Ackrite uses a deliberately conservative classification model.
Status | Meaning | Evidence threshold |
| Direct, high-reliability supplied evidence supports the claim. | At least one high-reliability direct item, such as a focused test result, HTTP response, observed behavior, or user-provided fact. |
| Direct supplied evidence supports the claim, but remains limited in scope or reliability. | Direct supporting evidence without a qualifying high-reliability item. |
| The claim may be true, but the material is indirect, neutral, or inferred. | Neutral evidence or inference only. |
| No supplied supporting evidence establishes the claim. | No relevant evidence. |
| At least one supplied evidence item contradicts the claim. | Contradiction takes precedence until it is reconciled. |
Fundamental rule: Ackrite never upgrades an inference into a fact. It labels the boundary between observation and conclusion instead.
Architecture
Ackrite is intentionally small. The MCP boundary, domain analysis, evidence handling, and bounded state are separate so that the verification rules can be tested without a running MCP client.
Layer | Location | Responsibility |
MCP transport and schemas |
| Registers five tools and serves them over standard input/output. |
Tool orchestration |
| Produces agent-ready challenge, verification, audit, proof-plan, and reality-check responses. |
Evidence model |
| Normalizes provenance, reliability, polarity, excerpts, and secret redaction. |
Claim analysis |
| Determines status, confidence, assumptions, missing proof, and next action. |
Session history |
| Maintains a bounded in-process record of claims, evidence, attempts, conclusions, and unresolved assumptions. |
Tests |
| Exercises the domain logic and real MCP stdio client/server behavior. |
Ackrite is implemented in TypeScript using the official MCP TypeScript server and client packages. It exposes a stdio server: a client starts Ackrite as a subprocess and exchanges JSON-RPC messages through standard input and output, which is a standard MCP transport. [1] [2]
Installation
Ackrite requires Node.js 20 or later.
git clone https://github.com/mshanghai570/Ackrite.git
cd Ackrite
npm install
npm run buildStart the server directly after building:
npm startThe process communicates over standard input/output, so it may appear idle when run in a terminal. That is expected: your MCP client supplies the requests. Keep normal logs off standard output; MCP stdio reserves it for protocol messages. [1]
MCP client setup
Build the project first, then add an entry like the following to your MCP client configuration. Replace /absolute/path/to/Ackrite with the directory containing this repository.
{
"mcpServers": {
"ackrite": {
"command": "node",
"args": ["/absolute/path/to/Ackrite/dist/index.js"]
}
}
}If your client supports running package scripts, the equivalent command is node dist/index.js with the repository as its working directory. Ackrite accepts no credentials and makes no network calls in v0.1.
Available tools
All five tools are declared read-only and return both readable JSON text and structured content. They accept an optional sessionId; use the same value during a related investigation to retain bounded history within the running process.
Tool | Use it when | Primary result |
| An agent makes a technical claim and needs to be challenged. | Status, confidence, supporting and contradicting evidence, assumptions, missing proof, and next action. |
| You need a structured evidence ledger for a claim. | What is known, assumed, contradicted, missing, and the decisive experiment. |
| A code change or implementation plan is proposed. | Concise findings for unnecessary rewrites, scope, API-contract assumptions, security-sensitive work, error handling detail, and tests. |
| You want the minimum evidence needed to establish a claim. | A claim-domain-specific proof checklist and a falsifiable experiment. |
| An agent may be stuck, repeating itself, or claiming success too early. | The most important reasoning failure first, plus additional observed risks. |
Shared evidence input
Pass evidence explicitly rather than embedding it in unstructured context. context may provide background, but it is not counted as proof.
{
"type": "http_response",
"source": "staging request, 2026-08-27",
"content": "POST /v1/session returned 401 with code AUTH_REQUIRED.",
"polarity": "contradicts",
"reliability": 0.9
}Field | Required | Description |
| No | One of |
| No | A concise provenance label, such as a test name, log source, or code location. |
| Yes | The supplied observation, excerpt, result, or inference. |
| No |
|
| No | Caller-assessed number from |
Example interactions
Challenge an unsupported API claim
Claim: “The API no longer supports native authentication.”
{
"claim": "The API no longer supports native authentication.",
"evidence": [
{
"type": "code",
"source": "current client",
"content": "The current client implementation does not obtain credentials.",
"polarity": "supports"
},
{
"type": "observed_behavior",
"source": "older working application",
"content": "The older application successfully signs in.",
"polarity": "contradicts",
"reliability": 0.9
}
]
}Ackrite responds with CONTRADICTED, preserves both pieces of provenance, and recommends inspecting the older authentication flow before replacing the client. It does not conclude that native authentication exists or that the old flow is applicable; that would exceed the supplied evidence.
Audit a rewrite proposal
{
"reportedProblem": "Login returns an unexpected response.",
"proposal": "Rewrite the authentication client to replace the API endpoint integration.",
"proposedChanges": [
{
"path": "src/auth.ts",
"description": "Rewrite authentication client and route handling."
},
{
"path": "src/theme.ts",
"description": "Change unrelated color palette."
}
]
}The audit calls out the rewrite’s higher evidence bar, the unsupported API-contract assumption, missing test plan, and the apparently unrelated theme change. It does not claim to have inspected src/auth.ts or src/theme.ts unless their contents are supplied as evidence.
Break a repeated failure loop
{
"sessionId": "auth-investigation",
"reasoning": "The rewrite will work and the issue is fixed.",
"attempts": [
{ "approach": "Replace the auth client", "outcome": "Failed with timeout." },
{ "approach": "Replace the auth client", "outcome": "Failed with timeout again." },
{ "approach": "Replace the auth client", "outcome": "Failed with the same timeout." }
]
}The primary issue is a repeated strategy. Ackrite recommends stopping, identifying the assumption that makes the replacement seem necessary, and verifying that assumption rather than attempting the same intervention again.
Reliability and security model
Ackrite is intentionally conservative. It performs no repository scanning, HTTP requests, external documentation lookup, code execution, or autonomous repair in v0.1. Every conclusion includes provenance that limits it to caller-supplied material. Missing evidence is a result, not an error to hide.
The server redacts common credential patterns before returning diagnostic text, including bearer/basic authorization values, password-like assignments, common token prefixes, query-string keys, and API-key fields. This is defense in depth—not permission to send real secrets. Do not submit production credentials to diagnostic tools.
The session store is process-local and bounded: it retains recent claims, evidence, attempts, conclusions, and unresolved assumptions for up to 32 named sessions. Each per-session collection is capped, least-recently-used sessions are evicted, and all history is lost when the process exits. This keeps v0.1 useful for a focused investigation without becoming a memory platform.
Development
Command | Purpose |
| Install development and runtime dependencies. |
| Compile TypeScript into |
| Run strict TypeScript checking without generating output. |
| Build, run unit tests, exercise MCP tool discovery, and invoke every tool over a real stdio subprocess. |
| Start compiled Ackrite over stdio. |
| Watch TypeScript sources during development. |
The test suite includes positive and negative coverage for claim classification, contradictory evidence, unsupported claims, redaction, bounded state, each core tool, repeated failures, server startup, tool discovery, and tool calls through the MCP protocol.
Limitations
Ackrite’s analysis is deterministic and evidence-driven rather than a full autonomous reasoning system. The audit tool reviews descriptions of a proposal; it is not a static analyzer and does not inspect a working tree. Repeated-strategy detection uses normalized terms from supplied attempt descriptions, so semantically identical but very differently worded attempts may not be grouped. The secret-redaction rules cover common patterns but cannot recognize every proprietary credential format.
Ackrite uses stdio only in v0.1. It is designed to remain independent of L-Dopa and other MCP servers. A future HTTP transport, persistence layer, or repository-aware adapter should remain opt-in and must preserve the same no-fabrication and redaction guarantees.
License
Ackrite is released under the MIT License.
References
Available Tools
5 toolsackriteChallenge a claimARead-onlyIdempotent
Classify a technical claim from supplied evidence. Returns support, contradiction, assumptions, missing evidence, and the next action.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The technical claim to examine. | |
| context | No | Background context. Context is not treated as evidence by itself. | |
| evidence | No | Supplied evidence only. Ackrite does not invent or fetch evidence. | |
| sessionId | No | Optional bounded in-process session identifier; defaults to 'default'. | |
| expectedBehavior | No | Expected behavior, if relevant. | |
| observedBehavior | No | Observed behavior, if relevant. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only, idempotent, non-destructive behavior, so the description does not need to repeat safety traits. It adds value by promising concrete outputs—support, contradiction, assumptions, missing evidence, and next action—which is useful context beyond the 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 one front-loaded sentence with no filler; the primary action appears first and the output summary follows. Every clause earns its place.
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 six parameters and no output schema, the description gives a helpful list of result categories but not their structure or semantics. It leaves the agent to infer how evidence, context, and output fields interrelate, so it is minimally viable but not 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?
Schema description coverage is 100%, so the baseline applies; the description does not introduce meaning beyond what the schema already provides. It merely names claim and evidence, which are also documented in the input 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 uses a specific action ('Classify... from supplied evidence') and names the object (technical claim), so the purpose is immediately clear. However, it does not contrast itself with the sibling tools verify, audit, prove_it, and reality_check, so it lacks explicit differentiation.
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?
'From supplied evidence' implies the tool is appropriate when evidence is available and a claim needs classification, but there is no when-not-to-use guidance or mention of alternatives. The boundary against verify/audit/prove_it/reality_check is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auditAudit a proposed implementationARead-onlyIdempotent
Challenge a proposed code change for scope creep, rewrites, contract assumptions, security implications, error handling, and missing validation.
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | No | Evidence establishing the problem or contract. | |
| proposal | Yes | Proposed implementation or change plan. | |
| sessionId | No | Optional bounded in-process session identifier. | |
| proposedChanges | No | Concrete, file-level changes to classify. | |
| reportedProblem | No | Observed bug or requirement the change is intended to address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description does not contradict these. It adds the audit dimensions, which clarifies what the tool evaluates, but it does not disclose broader behavioral traits such as output format, failure modes, or assumptions beyond the listed criteria.
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 dense sentence that front-loads the action and packs the six audit dimensions into a compact list. Every phrase contributes meaningful guidance and nothing is redundant.
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 is sufficient to understand the tool's high-level purpose but omits anything about expected output, return value, or how evidence and proposedChanges should be used. Given the tool's complexity and lack of an output schema, some additional context would help an agent call it effectively.
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 schema already documents all parameters thoroughly. The description does not add parameter-specific guidance, which is acceptable at the baseline of 3 because no parameter meaning is left undocumented.
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 the specific verb 'Challenge' and the resource 'a proposed code change,' then enumerates the exact audit dimensions (scope creep, rewrites, contract assumptions, security, error handling, validation). This makes the tool's purpose unmistakable and differentiates it from a plain 'verify' or 'prove' tool.
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 clearly implies this tool is for critically reviewing proposed implementations, but it does not state when to prefer it over siblings like verify, prove_it, or reality_check, nor does it mention when not to use it. Usage context is present but alternatives are not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prove_itPlan the minimum proofARead-onlyIdempotent
Define the smallest direct evidence set and experiment required to establish a technical claim without speculation.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The technical claim to examine. | |
| scope | No | Claim domain; inferred from the claim when omitted. | |
| context | No | Background context. Context is not treated as evidence by itself. | |
| evidence | No | Supplied evidence only. Ackrite does not invent or fetch evidence. | |
| sessionId | No | Optional bounded in-process session identifier; defaults to 'default'. | |
| expectedBehavior | No | Expected behavior, if relevant. | |
| observedBehavior | No | Observed behavior, if relevant. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description still adds value by stating the output is deliberately minimal ('smallest...direct') and excludes speculation, which clarifies that the tool will not invent evidence or padded plans. 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?
Single sentence, grammatically tight, with the key constraints front-loaded and no filler. Every word earns its place.
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 seven parameters and no output schema, the description captures the high-level purpose but leaves out what the returned proof plan actually contains and how optional evidence/context influence the output. The title and schema help, but the description alone is not fully 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?
All parameters have schema descriptions (100% coverage), so the baseline applies. The description itself adds no parameter-level details; it only states the overall goal, which the schema already encodes.
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 ('Define') and a concrete object ('smallest direct evidence set and experiment') tied to 'technical claim,' so an agent can identify the core action. It does not explicitly distinguish prove_it from the sibling tools, so it stops short of 5.
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 phrase 'required to establish a technical claim' implies the tool is for planning proof rather than executing verification, but it gives no explicit when-to-use/when-not-to-use guidance and names no alternative sibling such as verify, audit, or reality_check. This is implied usage at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reality_checkSanity-check current reasoningARead-onlyIdempotent
Detect repeated failed strategies, contradictions, unsupported conclusions, untested success claims, and premature rewrites from supplied reasoning and session history.
| Name | Required | Description | Default |
|---|---|---|---|
| attempts | No | New attempts to add to session history. | |
| evidence | No | Evidence relevant to the current reasoning. | |
| reasoning | No | Current reasoning or status update to inspect. | |
| sessionId | No | Optional bounded in-process session identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value beyond these by naming the categories of failure the tool inspects, giving the agent a concrete sense of what the tool evaluates. It does not contradict the 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?
A single dense sentence front-loads the tool's purpose and enumerates its detection targets without wasted words. It is appropriately sized for a tool whose parameters are already documented in the schema.
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 is adequate for understanding what the tool inspects, and the schema covers all parameters clearly. However, with no output schema, the description does not explicitly state what the tool returns (e.g., a list of findings, a pass/fail result), which is a notable gap for an agent deciding how to use the result.
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 each parameter already documented meaningfully (attempts, evidence, reasoning, sessionId). The description adds minimal parameter-specific detail, but because the schema carries the burden, no further compensation is needed. 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 opens with a specific verb ('Detect') and enumerates the exact pathologies it looks for: repeated failed strategies, contradictions, unsupported conclusions, untested success claims, and premature rewrites. This clearly states the resource being analyzed (reasoning and session history). It does not explicitly distinguish itself from the sibling analysis tools, but its function is unique enough to be identifiable.
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 the tool by referencing 'supplied reasoning and session history', which tells the agent what input should accompany the call. However, it offers no explicit guidance on when not to use it or what alternatives like ackrite, verify, audit, or prove_it are better suited for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyVerify a claimBRead-onlyIdempotent
Separate what is known, assumed, supported, contradicted, and still unverified, then propose a decisive experiment.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The technical claim to examine. | |
| context | No | Background context. Context is not treated as evidence by itself. | |
| evidence | No | Supplied evidence only. Ackrite does not invent or fetch evidence. | |
| sessionId | No | Optional bounded in-process session identifier; defaults to 'default'. | |
| expectedBehavior | No | Expected behavior, if relevant. | |
| observedBehavior | No | Observed behavior, if relevant. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the behavioral detail that the tool categorizes evidence and proposes an experiment, which is beyond annotations. However, it does not disclose what happens if no evidence is supplied, or whether the proposed experiment is actionable output or just advice. With annotations handling safety, a 3 is appropriate – the description adds some process context but not deep behavioral nuance.
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, efficient sentence that front-loads the core purpose. No wasted words, and it conveys the two main phases (categorization and proposal). It is slightly abstract but structurally sound. Loses a point for not being more concrete about the tool's operation.
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 6 parameters, a nested evidence array, and no output schema, the description is too high-level. It does not explain how an agent should structure input, what kind of 'decisive experiment' is produced, or what the return value looks like. The schema covers parameters, but the overall workflow and expected output remain ambiguous. An agent would struggle to know what to pass beyond the required claim and how to interpret the result.
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 each parameter having its own description (e.g., 'claim' described as 'The technical claim to examine'). The tool description adds no parameter-specific details, leaving the schema to carry all parameter semantics. Baseline 3 is correct since the schema fully documents inputs and the description does not contradict or supplement it.
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 action: separating claim-related information into categories and proposing a decisive experiment. The verb 'Separate' combined with 'propose' gives a precise enough purpose. It does not explicitly contrast with sibling tools like ackrite or reality_check, but the title 'Verify a claim' reinforces the intent. Scores 4 rather than 5 because the description could be more explicit about the tool's primary function being analysis of a claim rather than external verification.
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 its siblings (ackrite, audit, prove_it, reality_check). It does not mention prerequisites, alternative tools, or scenarios where verification should be attempted via other means. The only implicit usage context is the word 'verify', but that is weak and does not help an agent choose among similar tools.
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.
5 tool updates
v0.1.0- First observed
ackrite - First observed
audit - First observed
prove_it - First observed
reality_check - First observed
verify
TDQS
ackrite, verify, and prove_it all focus on classifying evidence and determining support/contradiction for technical claims, making their boundaries unclear. reality_check also overlaps by detecting contradictions and unsupported conclusions, leaving audit as the only clearly distinct tool.
Tool names use a mix of single-word verbs (verify, audit), an underscored phrase (prove_it), a slang term (ackrite), and a compound noun (reality_check). No consistent verb_noun or naming convention is followed.
Five tools is a reasonable number for the server's apparent scope, and none feel truly redundant on count alone. However, the heavy conceptual overlap means a few tools could potentially be consolidated.
The set covers claim classification, evidence verification, code change auditing, proof design, and reasoning pattern analysis, which is fairly comprehensive for a technical-decision support domain. Minor gaps like explicit tracking of evolving assumptions exist, but core workflows are covered.
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
MERCATOR Verify: evidence-backed verification and decision support for autonomous agents.
Evidence-backed x402 web verification for AI agents, with auditable decisions for every condition.
Deterministic fact verification for AI agents — checksums & curated data, not guesses.
Real-time fact-check, citation verification, and source-freshness for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceUniversal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.21916MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to verify claims with evidence-based truth scores and confidence levels by running a deterministic pipeline of evidence lanes and adversarial checks.22MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to verify their own output mid-task by checking every claim against provided sources, returning supported, partial, unsupported, or contradicted verdicts with exact citations.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to verify claims deterministically by computing arithmetic, ratios, and dates and matching statements against provided sources, returning a confidence ladder of certain, source-backed, or unverifiable.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/mshanghai570/Ackrite'
If you have feedback or need assistance with the MCP directory API, please join our Discord server