MCP Server: One Install, Every Client
A dedicated walkthrough for installing the Ejentum MCP server in Claude Desktop, Cursor, Windsurf, Claude Code, n8n's MCP Client node, or any other MCP-compatible client. One install. Four cognitive harnesses available as harness_* tools your agent can call.
Listings: Smithery (one-click install) · Glama · mcp.so · GitHub (MIT) · npm
Already on n8n or heym? The HTTP Request integration in n8n_guide and heym_guide works on every version. On Claude Code? The skill-files install in claude_code_guide gives Claude system-level routing context the MCP descriptions alone can't replicate. The MCP server below is the simplest install across the broadest set of clients; pair it with skill files in Claude Code for the strongest setup.
What this gives you
The MCP server exposes four cognitive harnesses as MCP tools any agentic client can call:
harness_reasoning— causal analysis, multi-step reasoning, planning, diagnostic tasks, cross-domain synthesisharness_code— code generation, refactoring, code review, debugging, architecture decisionsharness_anti_deception— sycophancy pressure, hallucination risk, manipulation pressure, integrity-under-loadharness_memory— perception sharpening, conversation-state drift detection, cross-turn pattern recognition
Each tool takes one argument (query, a 1-2 sentence framing of what you need the harness for) and returns a structured cognitive scaffold (failure pattern to avoid, procedure, suppression vectors, falsification test). The calling LLM absorbs the scaffold internally before responding. The user sees the improved answer, not the scaffold.
The MCP server is a thin wrapper over the same Logic API the rest of these docs describe. Same harnesses, same scaffolds, same response format. Different delivery channel — for clients that speak MCP.
Prerequisites
- An Ejentum API key. Free tier includes 100 calls (one-time, no credit card) at ejentum.com/pricing. Ki: 5,000 calls/month. Haki: 10,000 calls/month.
- An MCP-compatible client. Claude Desktop, Cursor, Windsurf, Claude Code (CLI), n8n's MCP Client node (recent n8n with MCP support), Cline, Continue, or any custom Python/TS agent built on the MCP SDK.
- Node.js 18+ (only required for manual install; one-click install via Smithery handles this for you).
Option A: One-click install via Smithery (recommended)
The fastest path. One command from any terminal:
npx -y @smithery/cli install ejentum/ejentum-mcp --client claude
Replace claude with your client (cursor, windsurf, cline, claude-code, etc.). Smithery writes the MCP config block into your client's config file, prompts you to paste your EJENTUM_API_KEY, and you're done.
Or visit the Smithery listing directly and click Install for your client. Same outcome.
Option B: Manual install per client
For builders who prefer to manage MCP config directly.
Claude Desktop
Open the config file (create it if it doesn't exist):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the ejentum block under mcpServers:
{ "mcpServers": { "ejentum": { "command": "npx", "args": ["-y", "ejentum-mcp"], "env": { "EJENTUM_API_KEY": "your_ejentum_api_key_here" } } } }
Fully quit Claude Desktop (not just close the window) and reopen. The four harness_* tools should appear in the tool picker.
Cursor
Open Cursor Settings → MCP → Add new MCP server. Paste the same JSON shape as Claude Desktop above, under the ejentum key.
Windsurf
Same JSON shape as Cursor, dropped into Windsurf's MCP config block.
Claude Code (CLI)
In any project, run:
claude mcp add --scope user ejentum -e EJENTUM_API_KEY=your_ejentum_api_key_here -- npx -y ejentum-mcp
--scope user makes the server available across all your Claude Code projects. Drop it for project-only scope.
Verify with:
claude mcp list
You should see ejentum: ✓ Connected.
n8n MCP Client node
Add an MCP Client node to your workflow. Configuration:
- Transport:
stdio - Command:
npx - Arguments:
["-y", "ejentum-mcp"] - Environment variables:
{ "EJENTUM_API_KEY": "your_key" }
The four harness_* tools become callable from any AI Agent node in the same workflow.
Cline / Continue / custom MCP clients
Any client that supports the MCP stdio transport with environment variables works. Use the same command: "npx", args: ["-y", "ejentum-mcp"], env: { EJENTUM_API_KEY: "..." } pattern.
The four tools
| Tool | Use for | Example invocation |
|---|---|---|
harness_reasoning | Multi-step analysis, planning, diagnostics, cross-domain synthesis | Should I refactor this auth module before adding OAuth? |
harness_code | Code generation, refactoring, code review, debugging | Review this Python diff: + return user or default |
harness_anti_deception | Sycophancy, hallucination risk, manipulation pressure | An investor wants me to commit to 2x projections without data |
harness_memory | Perception sharpening, drift detection, cross-turn pattern recognition | I noticed the user changed topic three times - what's that signal? |
Each tool takes a query argument (1-2 sentence task framing). Returns the harness scaffold as text. The calling LLM absorbs it internally and shapes its response with it. The user sees the improved answer, not the scaffold itself.
Quick test (after install)
In your MCP client, paste:
Please use the
harness_anti_deceptiontool to evaluate this: someone is asking me to commit to financial projections without data.
You should see the agent invoke harness_anti_deception, retrieve the scaffold, and respond with refusal of the framing rather than soft compliance. If the tool fires (visible in the trace as a separate block) and the response visibly shifts in posture, your install is healthy.
For deeper inspection, use Anthropic's MCP Inspector:
npx @modelcontextprotocol/inspector npx -y ejentum-mcp
Opens a local browser UI. Set EJENTUM_API_KEY in the env section, then click each tool to verify the scaffold returns.
How to invoke
The four harness_* tools fire reliably when:
- You explicitly invoke:
use the harness_anti_deception tool to evaluate... - You softly suggest:
reason about this,check this for sycophancy,review this code carefully - The query matches the tool's trigger conditions strongly enough that the agent recognizes a fit and decides to call
For tasks where the agent could plausibly answer well from native reasoning, autonomous calling is less reliable. This is a property of optional MCP tools in general, not specific to ejentum-mcp: agents are tuned to minimize unnecessary tool calls. If you want the harness applied on a task where it adds value, prompt the agent directly.
When a harness is invoked, the calling agent absorbs the scaffold internally and shapes its response with it; you see the improved answer, not the scaffold.
Comparison: which integration path fits
The Ejentum Logic API has three customer-facing delivery channels. Pick the one that fits your stack — they don't conflict.
| Path | Best for | Setup time | Where it lives |
|---|---|---|---|
| MCP server (this guide) | Any MCP-compatible client. Best when you want one install across multiple agents and tools. | ~1 min via Smithery one-click | github.com/ejentum/ejentum-mcp |
| HTTP Request tool | n8n (any version), heym (any version), Make.com, custom HTTP-capable agents. Works everywhere. | ~5-10 min | n8n_guide, heym_guide |
| Skill files (CLAUDE.md) | Claude Code users who want autonomous per-task routing. Skill files give Claude system-level context for when to call each harness. | ~3 min | claude_code_guide |
The strongest Claude Code configuration is MCP server + skill files together. The skill files give Claude richer context for autonomous routing on cold prompts; the MCP server fires reliably on explicit invocation. Both share the same Logic API key and the same scaffolds.
Tier limits
The MCP server inherits the limits of the API key you configure:
- Free — 100 calls total (lifetime, no credit card)
- Ki (€19/month) — 5,000 calls/month
- Haki (€49/month) — 10,000 calls/month + the
-multimodes (not exposed in v0.1 of the MCP server)
Same limits apply across MCP, HTTP, and skill-files paths because they all hit the same Logic API endpoint authenticated by the same key.
Security & privacy
Your API key lives only in your MCP client's local config (or in the npm prune --omit=dev MCPB bundle Smithery distributes for the one-click install). It is sent only as the Bearer token to the Ejentum Logic API endpoint.
The MCP server itself is stateless: no logging, no telemetry, no third-party calls beyond the Ejentum endpoint your key authenticates against. The source is MIT-licensed at github.com/ejentum/ejentum-mcp; audit it before installing if you handle sensitive workloads.
Troubleshooting
Unauthorized (401) — your EJENTUM_API_KEY is wrong or expired. Re-check the value in your client's MCP config and restart the client. Generate a fresh key at ejentum.com/dashboard if needed.
Forbidden (403) — you tried a mode your tier does not include. The v0.1 MCP server only exposes single modes (no -multi variants), so 403 here typically means the key was provisioned for a tier that excludes the mode entirely.
Rate limit exceeded (429) — you hit your tier's request cap. Free tier is 100 calls total. Upgrade or wait for the rolling window to reset.
Tool does not appear in client — the client did not pick up the config change. Fully quit and reopen the client (not just close the window). On Claude Desktop, check Help → Logs for MCP connection errors.
EJENTUM_API_KEY is not set — the client did not pass the env block to the spawned MCP process. Verify the env block exists in your client config and contains your key. On Claude Desktop, this often means the JSON is malformed; validate it.
Tool fires but response doesn't shift — the LLM absorbed the scaffold but the task didn't actually need it. Try a query where the harness clearly applies (sycophancy pressure for harness_anti_deception, complex multi-step reasoning for harness_reasoning) so the difference is visible.
Open source
The MCP server is MIT-licensed at github.com/ejentum/ejentum-mcp. ~250 lines of TypeScript: a thin HTTP wrapper over the Logic API with four tools registered. Issues, PRs, and forks welcome. Versioned via npm (ejentum-mcp package) and Smithery (MCPB bundle).
To verify the install works end-to-end against the live API:
git clone https://github.com/ejentum/ejentum-mcp.git cd ejentum-mcp npm install cp .env.example .env # paste your EJENTUM_API_KEY into .env npm run build && npm run test:smoke
Smoke test exercises all four harness modes against the live API. 4/4 passing means the wiring is correct.
Next steps
- Browse the 679 abilities the harnesses pull from.
- See the benchmarks for statistical evidence beyond one demo.
- n8n no-code guide: the same API in a no-code workflow builder.
- Claude Code skill files: autonomous routing for Claude Code with deeper context per harness; pair with this MCP server for the strongest setup.
- heym integration guide: multi-agent orchestration with the Ejentum harnesses.
- Full integrations guide for LangChain, CrewAI, Claude Agent SDK, Make.com, and more.
- Join Early Access if you're running agents in production.
Questions: info@ejentum.com.