Ethics Check MCP
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., "@Ethics Check MCPMy research shows that approach X is clearly the best solution."
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.
Ethics Vibe Check
A gut-check button for AI conversations.
MCP tools that run an independent second-opinion model over an exchange so you can catch sycophancy, confirmation bias, or quiet drift — when you ask, not as ambient surveillance.
Package: @r-huijts/ethics-vibe-check · Repo: r-huijts/ethics-check-mcp
What it is
LLMs are trained to be helpful. That often means they agree too easily and let a chat slide toward whatever you already believe.
This server does not intercept every turn. It exposes tools you (or your host, when you ask) call mid-conversation:
“Sanity check that.” · “Play devil’s advocate.” · “Are we drifting?”
A second model grades the exchange. Reuse (or omit) a session id to get a sessionTrend — escalating / improving / stable — so creep shows up as a signal, not a pile of disconnected snapshots.
Related MCP server: private-journal
Quick start
1. MCP server
Cursor one-click (above) installs the server command only. Afterward, open MCP settings and add env (Gemini by default):
{
"mcpServers": {
"ethics-vibe-check": {
"command": "npx",
"args": ["-y", "@r-huijts/ethics-vibe-check"],
"env": {
"ETHICS_PROVIDER": "gemini",
"GEMINI_API_KEY": "your_actual_gemini_api_key_here"
}
}
}
}Local second opinion (no cloud):
"env": {
"ETHICS_PROVIDER": "ollama",
"OLLAMA_MODEL": "llama3.2",
"OLLAMA_BASE_URL": "http://127.0.0.1:11434"
}CLI:
npm install -g @r-huijts/ethics-vibe-check
npx @r-huijts/ethics-vibe-checkFull env reference: env.example.
2. Companion skill (recommended)
The skill teaches the host when to call tools, how to treat sessionTrend, and when to record feedback. Prefer it over a fat always-on rule.
# global install:
ethics-vibe-check-install-skill
# from a clone / local package:
npm run install-skill
# one-shot without a global install:
npx -y -p @r-huijts/ethics-vibe-check ethics-vibe-check-install-skillInstalls skills/ethics-vibe-check/SKILL.md → ~/.cursor/skills/ethics-vibe-check/ (override with CURSOR_SKILLS_DIR).
Optional always-on checkpoint templates: docs/system-prompts.md.
Tools
Tool | Use when |
| Broader scan of an exchange (bias, privacy, manipulation, confirmation bias, …). Returns |
| Focused sycophancy / one-sidedness pass on one AI reply. Returns |
| Multi-framework advice for a dilemma (not a mid-chat vibe check). |
| Manually log a concern. Usually unnecessary if |
| Thumbs-up/down on a prior recommendation so |
Session / drift
Pass the same
sessionIdacross checks in one chat when you can.If omitted, the server uses a process-scoped default (typical MCP hosts run one process per conversation).
Override with
ETHICS_SESSION_IDfor evals or known ids.
Calibration
Prompts are written so ordinary helpful replies can return low risk and empty findings. Empty is a valid gut-check result — not a failure.
Providers
| Needs | Notes |
|
| Cloud second opinion. Optional |
| Local Ollama |
|
| nothing | Deterministic offline answers for tests/demos only. |
Storage defaults to ~/.ethics-vibe-check/data (ETHICS_DATA_DIR to override).
With Gemini, analysis leaves your machine — don’t paste secrets you wouldn’t send to a third-party API. Use Ollama for local-only checks.
Example flow
Mid-chat: “Sanity check that last answer — did you just agree with me too easily?”
Host calls
critical_thinkingwith the reply + your request (session id optional but nice).If
sessionTrend.riskTrendisescalating, the host should say so up front.Later: “That pushback helped.” →
ethics_feedbackwithuseful: true.
Develop / verify
npm install
cp env.example .env # or ETHICS_PROVIDER=mock for offline work
npm run build
npm run test:all # session unit tests + calibration fixtures (mock)Script | What |
| Drift, tags, feedback, session-id default |
| 8 false-positive / sycophancy fixtures via |
| Same fixtures against your configured provider |
| Copy companion skill into Cursor skills dir |
More detail: USAGE.md.
Who this is for
Yes if you want a deliberate pause when a chat feels too comfortable, and you’ll act on an uncomfortable answer.
No if you want the model to always agree, or you need fully automatic enforcement with zero prompting — that’s a different product.
License
MIT © 2024–2026
The point isn’t to be right. The point is to be thoughtful.
This server cannot be deployed
Maintenance
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted YouTube MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Hosted X Ads MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server that gives Claude persistent, locally-stored memory with verification-gated lessons and a Pattern Oracle to prevent unverified guesses from becoming ingrained facts.1373 npm1MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive MCP server that provides Claude with private journaling and semantic search capabilities for processing thoughts, reflections, and insights.457MIT
- AlicenseNot gradedqualityBmaintenanceMCP server enabling Claude to consult Codex (GPT-5.x) mid-task for second opinions, plan/diff review, brainstorming, and codebase exploration via structured debates and permission-controlled interactions.2MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that gives Claude Desktop persistent memory, self-awareness, epistemic hygiene, and genuine agency across conversations with a typed memory system, embedding-based semantic search, a 3-judge memory jury, and a real-time dashboard.7MIT