HallucC — Hallucination Fact-Check & AI Safety Guard
HallucC is an MCP server for AI fact-checking, agent evaluation, CUA action gating, code auditing, and safety screening.
verify_text— claim-by-claim hallucination detection with red/yellow/green summary, per-claim verdict/confidence/reason/sources, and citations.verify_agent— verify an agent’s final output and score its execution trajectory across six dimensions: factuality, sourcing, instruction compliance, tool-claim consistency, task completion, and reflection.check_cua_actions— rule-based L0–L3 risk classification for Computer-Use Agent actions, including credentialtakeovercases, task-scope escalation, and optional multi-agent delegation-chain taint analysis.check_cua_code_audit— static audit of agent source code for dangerous imports, permission boundaries, injection surfaces, unsafe defaults, and missing sandboxing.check_safety— safety gateway for prompt injection, jailbreaks, harmful content, PII leakage, fraud, and optional hallucination checks; includes a fast pure-rule mode.Use it via hosted HTTP MCP or local stdio/npx with Bearer API-key auth; detection tools consume quota, while CUA action/code audit tools are free.
Makes the HallucC fact-check assistant available in the Coze store, enabling Coze users to perform fact verification and AI safety checks.
Click on "Deploy 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., "@HallucC — Hallucination Fact-Check & AI Safety Guard verify this claim: the Great Wall is visible from space"
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.
HallucC MCP Server
中文文档 | Live Demo | Official MCP Registry
Give your AI a fact-checker and a safety gateway: claim-by-claim hallucination detection, agent trajectory evaluation, L0-L3 risk gating for Computer-Use Agent (CUA) actions, Agent source code static audit, and a 40+ feature prompt-injection / jailbreak guard — one MCP server, five tools, works with Claude Code / Cursor / Claude Desktop.
See it first — no sign-up required
🔍 A real verification report (per-claim verdicts + confidence + sources): https://aihcc.cloud/r/GttouoJfMpkC
🛡️ Try CUA action gating online (rule-based, free, no quota cost): https://aihcc.cloud/cua
📝 Web app (3 free checks per day): https://aihcc.cloud
Related MCP server: Verity MCP
Tools (5)
Tool | Backend endpoint | What it does | Quota |
|
| Claim-by-claim hallucination check: red/yellow/green summary + per-claim status/confidence/reason/sources + citations | ✅ detect |
|
| Text-level verification of an agent's final output + 6-dimension trajectory evaluation (factuality / sourcing / instruction compliance / tool-claim consistency / task completion / reflection) | ✅ detect |
|
| L0-L3 risk classification for Computer-Use Agent (CUA) actions + | ❌ free |
|
| Static audit of Agent source code: dangerous imports / permission boundaries / injection surfaces / dangerous defaults / sandbox absence | ❌ free |
|
| 40+ feature safety gateway: prompt injection / jailbreak / harmful content / PII leakage / fraud | ✅ detect |
|
| Agent Ice Wall (child lock / fuse): per-step guard + session-level risk accumulation circuit breaker. Watch the | ✅ detect |
|
| Manually thaw a frozen agent session after user confirmation ( | ❌ free |
Auth model: each client sends
Authorization: Bearer <your HallucC API key>→ the server forwards it as-is to the backend → the backend validates and deducts from the same account quota as the web app. Keys travel only in HTTP headers — never in tool arguments, never in model transcripts.
The tightening capabilities of check_cua_actions
Field | Effect |
| Target URL of a browser action — navigation to an unknown domain escalates to L2; pasting sensitive content to a non-allowlisted domain escalates to L3; blacklisted domains are L3 |
| Declares the intended task, used for deviation detection and audit traceability |
| Allowed apps / domains (domain suffix matching includes subdomains) |
| Forbidden element labels (highest precedence) |
| Multi-agent delegation chain id (uuid hex) — when given, the response gains a |
| The agent owning this action / its delegating parent — pairs cross-agent-boundary propagation chains |
| Delegation depth (root agent = 0); a subagent exfiltrating content matching sensitive patterns gets an L2 |
An action that leaves task_scope is escalated one level (L0→L1, L1→L2, L2 stays L2 with an "outside task scope" reason appended, L3 unchanged). This mechanism only tightens and never loosens; omitting task_scope has no effect. Credential fields and payment/login domains yield a takeover verdict (suspend and wait for the user to type it themselves — the agent never types your password).
Multi-agent setups (Claude Code Task subagents, Codex agents, Kimi, …): a parent agent reading a credential file (L0 on its own) → a subagent posting it out (L2 on its own) is harmless per hop and dangerous as a chain. Attach the delegation-chain fields to each action and the backend appends a chain_trace: when cross-agent propagation exists the chain aggregate level is raised to L3 and risk_diluted is set (the laundering signal). Leave the chain fields empty and behaviour is bit-for-bit unchanged — existing callers need no change.
The response's ruleset_version lets you verify that online detection and the local Gate run the same rule version.
Hosted endpoint (recommended, zero local setup)
The MCP server is hosted at https://aihcc.cloud/mcp (remote, streamable-http). Point your client at it with your API key:
# Claude Code
claude mcp add --transport http hallucc https://aihcc.cloud/mcp \
--header "Authorization: Bearer <your HallucC API key>"Cursor / Claude Desktop work the same way: URL https://aihcc.cloud/mcp, header Authorization: Bearer <key>. Create your API key at https://aihcc.cloud (register → /keys). Free daily quota included.
Or: run via npx (stdio, no clone needed)
{
"mcpServers": {
"hallucc": {
"command": "npx",
"args": ["-y", "hallucc-mcp"],
"env": { "HALLUCC_API_KEY": "<your HallucC API key>" }
}
}
}Same five tools over stdio transport; the key comes from the environment and requests default to the hosted backend https://aihcc.cloud/api.
The base URL must keep the
/apiprefix: nginx only proxies/api/to the backend. A barehttps://aihcc.cloudreaches the frontend instead — the request returns 200 with an HTML body, fails silently (nothing lands in audit or in a fallback file), and the audit replay stays empty.
Run locally (from source)
# 1. Install dependencies
npm install
# 2. (Optional) configure backend address & port; defaults to local :8001
cp .env.example .env
# HALLUCC_BASE_URL=http://127.0.0.1:8001
# PORT=8787
# 3. Make sure the backend is up: curl http://127.0.0.1:8001/health
# 4. Start the MCP server (dev with hot reload)
npm run dev
# or production: npm startThe server listens on http://127.0.0.1:8787/mcp; health check GET /health.
Client setup
Claude Code (CLI)
claude mcp add --transport http hallucc http://127.0.0.1:8787/mcp \
--header "Authorization: Bearer <your HallucC API key>"
claude mcp list
# then in conversation: ask Claude to fact-check a passage or scan a prompt for injectionCursor
Settings → MCP → Add MCP server:
Type:
httpURL:
http://127.0.0.1:8787/mcpHeaders:
{"Authorization": "Bearer <your HallucC API key>"}
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"hallucc": {
"type": "http",
"url": "http://127.0.0.1:8787/mcp",
"headers": { "Authorization": "Bearer <your HallucC API key>" }
}
}
}MCP Inspector (debug — tool list & auth work without spending quota)
npx @modelcontextprotocol/inspector
# choose Streamable HTTP, URL http://localhost:8787/mcp
# add Custom Header: Authorization: Bearer <key>Auth & quota
Auth is two-tier at the MCP layer.
tools/call(and any non-discovery method) requires a format-valid key —hc_+ 48 hex — else 401 JSON-RPC, before the backend is contacted. The format check is a local regex, no backend round-trip.Discovery methods (
initialize,tools/list,ping,notifications/initialized) stay open unauthenticated so registries and directory sites can index the server: they make no backend call and expose no user data. SetMCP_ALLOW_ANON_DISCOVERY=0to gate those too.Actual key validity (existence, revocation, expiry) is always decided by the backend's
verify_api_key; the MCP-layer check only rejects tokens that can't possibly be real keys.Valid key but quota exhausted → backend 429, mapped to "free quota exhausted, resets tomorrow or upgrade".
Every tool response includes a
quotaobject (backendquota_status), same source as the web dashboard, decremented per call.check_cua_actionsandcheck_cua_code_auditare both pure rules — no LLM, no quota cost, safe for high-frequency use.
Project layout
src/
server.ts Express + StreamableHTTP transport (stateless) + auth middleware + tool registration
context.ts config loading + API key extraction
backend.ts BackendClient (key pass-through, unified 401/429/5xx mapping) + toMcpResult
schemas.ts zod input schemas for the 5 tools (aligned with backend Pydantic Fields)
tools/
verifyText.ts → /detect
verifyAgent.ts → /detect-agent
checkCuaActions.ts → /cua/classify
checkCuaCodeAudit.ts → /cua/audit-code
checkSafety.ts → /guard/check (fast → /guard/check-fast)
index.ts registerAllToolsTransport
Streamable HTTP (the remote transport recommended by the current MCP spec, formerly "HTTP+SSE"), stateless mode: each POST spins up a fresh transport + McpServer and closes when done. Natively supported by Claude Code / Cursor / Claude Desktop. To support legacy SSE-only clients, add SSEServerTransport (dual endpoints /sse + /messages).
Listed on
✅ Official MCP Registry:
io.github.fredyee/halluccv0.1.11 (active)✅ ModelScope MCP Square: @hallucC/hallucc
✅ Coze Store: HallucC Fact-Check Assistant
License
Available Tools
5 toolscheck_cua_actionsAInspect
Computer-Use Agent 动作风险分级。提交动作轨迹 → 逐步返回 L0(放行)/L1(放行+记录)/L2(需确认)/L3(阻断)/takeover(凭据场景挂起等用户亲手输入) 裁决、matched_rules、outcome,及 L0-L3 汇总计数;响应含 ruleset_version(规则库版本)与 disclaimer(本结果仅为分级参考,未执行实际拦截)。覆盖:敏感路径/破坏性命令/不可逆元素语义、域名分级(未知域导航 L2、黑名单域与敏感粘贴到未知域 L3、支付金额超阈值 L3)、凭据词表与支付/登录域 takeover、task_scope 任务意图偏离(越界升一级,只能收窄)、多智能体委托链字段(每条动作可选 chain_id/agent_id/parent_agent_id/delegation_depth,给了则服务端追加链级跨跳污点分析:跨 agent 传播时聚合级别抬到 L3 并置 risk_diluted,返回在 chain_trace 字段;未给则零影响)。纯规则判定,不调 LLM、不耗额度。用于在 agent 执行前/后做安全自检。
Inputs: actions (required), session_id, task_scope.
check_cua_code_auditBInspect
CUA 代码审计:静态分析 Agent 源码,检测危险导入(subprocess/os.system 等)、权限边界(eval/exec)、注入面(字符串拼接 shell)、危险默认值、沙箱缺失。纯规则扫描,不调 LLM、不耗额度。支持单文件或多文件扫描。
Inputs: code, files, filename, language.
check_safetyAInspect
AI 安全网关检测。对 prompt + output 跑 OWASP LLM Top 10 三层检测:40+ 特征规则引擎(注入/越狱/有害内容/敏感信息泄露/欺诈)+ 可选 LLM 深度分析 + 可选幻觉检测。返回 passed、risk_score、risk_level、threats[](category/severity/match_context/recommendation)、quota。fast=true 走纯规则 <10ms 模式。耗 detect 额度(fast 亦计入)。
Inputs: output (required), fast, prompt, check_hallucination.
verify_agentAInspect
Agent 输出与轨迹自检。对最终回答跑逐声明幻觉核验,并对执行轨迹做六维结构化评估(事实性/来源/指令合规/工具声明一致/任务完成/反思)。返回 main.claims、steps[].checks、quota。耗 detect 额度。
Inputs: agent_output (required), task, speed, steps, +2 more.
verify_textBInspect
逐声明幻觉核验。输入文本 → 提取声明 → 逐声明验证(supported/refuted/unverified)+ 来源引用。返回红/黄/绿汇总、每条声明的状态/置信度/理由/来源、citations、quota。耗 detect 额度(与 Web 端同源)。
Inputs: text (required), model, speed, domain, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
The CUA-specific tools (check_cua_actions, check_cua_code_audit) and check_safety are clearly distinct, but verify_agent, verify_text, and check_safety overlap substantially — check_safety includes hallucination detection, verify_agent runs claim verification plus trajectory evaluation, and verify_text does claim verification on plain text. An agent must read carefully to decide whether to call verify_text vs verify_agent vs check_safety for a given output.
All names are snake_case verb_noun with consistent structure and a sensible cua namespace prefix for the computer-use tools. The only blemish is mixing the verbs check_ and verify_ across functionally similar tools, which makes the prefix grouping slightly less predictable than a single-verb scheme would be.
Five tools is well-scoped for a guard/verification server, with each tool earning its place across two sub-domains (CUA safety and general content verification). Nothing feels padded or redundant enough to be a separate trivial endpoint.
The surface covers the core lifecycle: pre-execution action grading, source code auditing, prompt/output safety gating, and post-hoc output/claim verification. Minor gaps exist, such as no tool to inspect ruleset metadata, quota/history, or batch verification, but these are workarounds rather than blockers.
Maintenance
Related MCP Connectors
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Safety tools for AI agents: safe page reader, prompt-injection, secrets, PII and MCP server scans
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables content moderation by checking user input against OpenAI's moderation API via Google ADK, with dual SSE/STDIO transport support and integration with local LLMs.4MIT
- AlicenseAqualityCmaintenanceMCP server exposing Verity's trust checks as tools (verify_fact, detect_injection, moderate_content, redact_pii, guard_action) that any MCP-capable agent can discover and call for fail-closed safety verification before spending or sending.836 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceEnables secure interoperability between LLM agents and MCP tool servers by sanitizing requests and responses, masking sensitive tokens, detecting PII, and performing server reputation scans.MIT
- FlicenseNot gradedqualityCmaintenanceEnables safe use of any MCP server by proxying and live-scanning all tool requests and responses, blocking or redacting poison descriptions, indirect prompt injection, malicious arguments, and unauthorized destinations.-