Documentation

Everything you need to build with Ejentum. From quickstart guides to advanced patterns.

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 synthesis
  • harness_code — code generation, refactoring, code review, debugging, architecture decisions
  • harness_anti_deception — sycophancy pressure, hallucination risk, manipulation pressure, integrity-under-load
  • harness_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

  1. 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.
  2. 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.
  3. 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

ToolUse forExample invocation
harness_reasoningMulti-step analysis, planning, diagnostics, cross-domain synthesisShould I refactor this auth module before adding OAuth?
harness_codeCode generation, refactoring, code review, debuggingReview this Python diff: + return user or default
harness_anti_deceptionSycophancy, hallucination risk, manipulation pressureAn investor wants me to commit to 2x projections without data
harness_memoryPerception sharpening, drift detection, cross-turn pattern recognitionI 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_deception tool 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.

PathBest forSetup timeWhere 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-clickgithub.com/ejentum/ejentum-mcp
HTTP Request tooln8n (any version), heym (any version), Make.com, custom HTTP-capable agents. Works everywhere.~5-10 minn8n_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 minclaude_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 -multi modes (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

Questions: info@ejentum.com.