@arkheia/mcp-server 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,19 +1,18 @@
1
- # Arkheia MCP Server — Fabrication Detection for LLMs
1
+ # Arkheia MCP Server — Fabrication Detection for AI Agents
2
2
 
3
- Detect fabrication (hallucination) in any LLM output.
4
- Free tier included (1,500 detections/month).
3
+ Know when your AI is making things up.
5
4
 
6
- ## Quick Start
5
+ Arkheia screens model responses for fabrication using behavioural fingerprinting. Works with Claude, GPT, Gemini, Grok, Llama, Mistral, and 30+ other models. One tool call. Real-time risk scoring.
6
+
7
+ Free tier: 1,500 detections/month. No credit card.
7
8
 
8
- ### 1. Clone and install
9
+ ## Quick Start
9
10
 
10
11
  ```bash
11
- git clone https://github.com/arkheiaai/arkheia-mcp.git ~/.arkheia-mcp
12
- cd ~/.arkheia-mcp
13
- pip install -r requirements.txt
12
+ npx @arkheia/mcp-server
14
13
  ```
15
14
 
16
- ### 2. Get an API key (free)
15
+ Get a free API key:
17
16
 
18
17
  ```bash
19
18
  curl -X POST https://arkheia-proxy-production.up.railway.app/v1/provision \
@@ -21,11 +20,7 @@ curl -X POST https://arkheia-proxy-production.up.railway.app/v1/provision \
21
20
  -d '{"email": "you@example.com"}'
22
21
  ```
23
22
 
24
- ### 3. Add to Claude Desktop
25
-
26
- Edit your config file:
27
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
28
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
23
+ Add to your agent config (Claude Code, Claude Desktop, Cursor, or any MCP-compatible tool):
29
24
 
30
25
  ```json
31
26
  {
@@ -33,52 +28,62 @@ Edit your config file:
33
28
  "arkheia": {
34
29
  "command": "python",
35
30
  "args": ["-m", "mcp_server.server"],
36
- "cwd": "~/.arkheia-mcp",
31
+ "cwd": "~/.arkheia/mcp",
37
32
  "env": {
38
- "PYTHONPATH": "~/.arkheia-mcp",
39
- "ARKHEIA_API_KEY": "ak_live_YOUR_KEY_HERE"
33
+ "PYTHONPATH": "~/.arkheia/mcp",
34
+ "ARKHEIA_API_KEY": "ak_live_your_key_here"
40
35
  }
41
36
  }
42
37
  }
43
38
  }
44
39
  ```
45
40
 
46
- On Windows, replace `~/.arkheia-mcp` with the full path (e.g. `C:/Users/YourName/.arkheia-mcp`).
41
+ Restart your agent. Then ask it:
47
42
 
48
- ### 4. Restart Claude
43
+ > "Use arkheia_verify to check this response: The Kafka 4.1 ConsumerLease API introduces a lease-based partition ownership model."
49
44
 
50
- The `arkheia_verify` and `arkheia_audit_log` tools will appear automatically.
45
+ It should flag this as **HIGH** risk — because the Kafka 4.1 ConsumerLease API doesn't exist.
51
46
 
52
- ## Tools
47
+ ## What You Get
53
48
 
54
49
  | Tool | Description |
55
50
  |------|-------------|
56
- | `arkheia_verify` | Score any model output for fabrication risk (LOW/MEDIUM/HIGH) |
57
- | `arkheia_audit_log` | Review detection history |
58
- | `run_grok` | Call xAI Grok + screen for fabrication |
59
- | `run_gemini` | Call Google Gemini + screen for fabrication |
60
- | `run_together` | Call Together AI (Kimi, DeepSeek) + screen |
51
+ | `arkheia_verify` | Score any model response for fabrication risk (LOW/MEDIUM/HIGH) |
52
+ | `arkheia_audit_log` | Review your detection history |
53
+ | `run_grok` | Call Grok + screen for fabrication |
54
+ | `run_gemini` | Call Gemini + screen for fabrication |
61
55
  | `run_ollama` | Call local Ollama model + screen |
62
- | `memory_store` / `memory_retrieve` / `memory_relate` | Persistent knowledge graph |
56
+ | `run_together` | Call Together AI (Kimi, DeepSeek) + screen |
57
+
58
+ ## 35+ Model Profiles
59
+
60
+ GPT-4o, GPT-5.4, Claude Opus/Sonnet/Haiku, Gemini 2.5/3.0, Grok 4, Llama, Mixtral, CodeLlama, Falcon, Phi4, Kimi K2.5, and more. If your model isn't listed, [let us know](mailto:dmurfet@arkheia.ai).
63
61
 
64
62
  ## Pricing
65
63
 
66
- - **Free:** 1,500 detections/month (no credit card)
67
- - **Single Contributor:** $99/month (unlimited)
68
- - **Professional:** $499/month (20 concurrent)
69
- - **Team:** $1,999/month (50 concurrent)
64
+ | Plan | Price | Detections |
65
+ |------|-------|------------|
66
+ | Free | $0 | 1,500/month |
67
+ | Single Contributor | $99/month | Unlimited |
68
+ | Professional | $499/month | Unlimited |
69
+ | Team | $1,999/month | Unlimited |
70
+
71
+ ## Full Documentation
70
72
 
71
- ## Requirements
73
+ See the [GitHub repo](https://github.com/arkheiaai/arkheia-mcp) for:
74
+ - Complete setup guide for all agents
75
+ - CLAUDE.md template for automatic detection across projects
76
+ - Multi-agent quorum pattern
77
+ - Test prompts and examples
72
78
 
73
- - Python 3.10+
74
- - Git
79
+ ## Feedback
75
80
 
76
- ## Full Setup Guide
81
+ - **GitHub Issues:** https://github.com/arkheiaai/arkheia-mcp/issues
82
+ - **Email:** dmurfet@arkheia.ai
77
83
 
78
- See [AGENTS.md](https://github.com/arkheiaai/arkheia-mcp/blob/master/AGENTS.md) for detailed instructions, troubleshooting, and environment variables.
84
+ Every message is read by the founder.
79
85
 
80
86
  ## Links
81
87
 
82
88
  - Website: https://arkheia.ai
83
89
  - GitHub: https://github.com/arkheiaai/arkheia-mcp
84
- - Support: support@arkheia.ai
@@ -22,13 +22,47 @@ const { spawn, execSync } = require("child_process");
22
22
  const path = require("path");
23
23
  const fs = require("fs");
24
24
 
25
- const PYTHON_DIR = path.join(__dirname, "..", "python");
26
- const REQUIREMENTS = path.join(PYTHON_DIR, "requirements.txt");
27
- const VENV_DIR = path.join(
25
+ const ARKHEIA_HOME = path.join(
28
26
  process.env.HOME || process.env.USERPROFILE || "/tmp",
29
- ".arkheia",
30
- "venv"
27
+ ".arkheia"
31
28
  );
29
+ const REPO_DIR = path.join(ARKHEIA_HOME, "mcp");
30
+ const BUNDLED_PYTHON_DIR = path.join(__dirname, "..", "python");
31
+ const VENV_DIR = path.join(ARKHEIA_HOME, "venv");
32
+
33
+ // Determine the real Python source: cloned repo > bundled package
34
+ function getServerDir() {
35
+ // If repo already cloned, use it
36
+ if (fs.existsSync(path.join(REPO_DIR, "mcp_server", "server.py"))) {
37
+ return REPO_DIR;
38
+ }
39
+ // If bundled package has the server code, use it
40
+ if (fs.existsSync(path.join(BUNDLED_PYTHON_DIR, "mcp_server", "server.py"))) {
41
+ return BUNDLED_PYTHON_DIR;
42
+ }
43
+ // Neither exists — clone the repo
44
+ process.stderr.write("[arkheia] Server code not found. Cloning from GitHub...\n");
45
+ try {
46
+ if (!fs.existsSync(ARKHEIA_HOME)) fs.mkdirSync(ARKHEIA_HOME, { recursive: true });
47
+ execSync(`git clone --depth 1 https://github.com/arkheiaai/arkheia-mcp.git "${REPO_DIR}"`, {
48
+ stdio: "inherit",
49
+ timeout: 60000,
50
+ });
51
+ process.stderr.write("[arkheia] Repository cloned successfully.\n");
52
+ return REPO_DIR;
53
+ } catch (err) {
54
+ process.stderr.write(
55
+ `[arkheia] Error: Could not clone repository: ${err.message}\n` +
56
+ "Manual install: git clone https://github.com/arkheiaai/arkheia-mcp.git ~/.arkheia/mcp\n"
57
+ );
58
+ process.exit(1);
59
+ }
60
+ }
61
+
62
+ const PYTHON_DIR = getServerDir();
63
+ const REQUIREMENTS = fs.existsSync(path.join(PYTHON_DIR, "mcp_server", "requirements.txt"))
64
+ ? path.join(PYTHON_DIR, "mcp_server", "requirements.txt")
65
+ : path.join(PYTHON_DIR, "requirements.txt");
32
66
 
33
67
  function findPython() {
34
68
  const candidates = ["python3", "python"];
@@ -139,16 +173,15 @@ function main() {
139
173
  }
140
174
 
141
175
  // Spawn the MCP server with stdio transport
142
- const serverDir = PYTHON_DIR;
143
176
  const child = spawn(
144
177
  venvPython,
145
178
  ["-m", "mcp_server.server"],
146
179
  {
147
- cwd: serverDir,
180
+ cwd: PYTHON_DIR,
148
181
  stdio: ["pipe", "pipe", "inherit"], // stdin/stdout piped, stderr inherited
149
182
  env: {
150
183
  ...process.env,
151
- PYTHONPATH: serverDir,
184
+ PYTHONPATH: PYTHON_DIR,
152
185
  },
153
186
  }
154
187
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkheia/mcp-server",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "mcpName": "io.github.arkheiaai/mcp-server",
5
5
  "description": "Arkheia MCP Server — Fabrication detection for LLM outputs. Detect hallucination in any model's output with a single tool call.",
6
6
  "bin": {