模型上下文协议服务器

Eruka-MCP是一个用于AI代理的防幻觉上下文记忆服务器,提供知识状态跟踪、间隙检测、约束注入和知识衰减等功能。

  • by dirmacs
  • Rust
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 dirmacs/eruka-mcp

使用说明

eruka-mcp

MCP (Model Context Protocol) server for Eruka — anti-hallucination context memory for AI agents.

什么是Eruka?

Eruka是一个知识引擎,可以跟踪AI代理知道什么,不知道什么,以及他们永远不应该制造什么。它提供:

  • 4知识状态:确认、推断、不确定、未知
  • 间隙检测:在生成之前识别缺失的信息
  • 约束注入:LLM提示的“请勿制造”指令
  • 知识衰退:信心随着时间的推移而下降,事实变得不确定
  • 质量评分:6层幻觉检测管道

安装

cargo install eruka-mcp

或者从源代码构建:

git clone https://github.com/dirmacs/eruka-mcp
cd eruka-mcp
cargo build --release

设置

eruka mcp使用两个后端:

本地模式-- openeruka

在本地运行开源的Eruka服务器——单二进制、SQLite后端、零基础设施。

# 1. Install the local server
cargo install openeruka-server   # installs the `openeruka` binary

# 2. Start it
openeruka serve  # runs at http://localhost:8080

# 3. Run eruka-mcp — connects to localhost:8080 by default
eruka-mcp

完整文档: dirmacs.github.io/openeruka

管理模式--eruka.dirmacs.com

  1. 注册地址: eruka.dirmacs.com
  2. 创建服务密钥(“设置”>“API密钥”)
  3. 设置密钥:
export ERUKA_API_URL=https://eruka.dirmacs.com
export ERUKA_API_KEY=eruka_sk_...

用法

克劳德桌面

本地模式 (openeruka--在本地运行,不需要服务):

{
  "mcpServers": {
    "eruka": {
      "command": "eruka-mcp"
    }
  }
}

管理模式 (eruka.dimacs.com):

{
  "mcpServers": {
    "eruka": {
      "command": "eruka-mcp",
      "env": {
        "ERUKA_API_URL": "https://eruka.dirmacs.com",
        "ERUKA_API_KEY": "eruka_sk_..."
      }
    }
  }
}

克劳德代码

本地模式:

claude mcp add eruka eruka-mcp

管理模式:

claude mcp add eruka eruka-mcp \
  -e ERUKA_API_URL=https://eruka.dirmacs.com \
  -e ERUKA_API_KEY=eruka_sk_...

流式HTTP传输(远程MCP)

作为claude.ai web、Cursor或任何支持HTTP的MCP客户端的远程MCP服务器运行:

eruka-mcp --transport sse --port 8080

这将在以下位置启动可流式HTTP服务器(MCP规范2025-03-26) http://localhost:8080/mcp:

  • POST /mcp --JSON-RPC 2.0请求(初始化、工具/列表、工具/调用)
  • GET /mcp --SSE通知流
  • 会话管理通过 Mcp-Session-Id 头球

Claude.ai网站

在以下位置使用托管端点 https://eruka.dirmacs.com/mcp:

  1. 转到claude.ai→ 设置→ 连接器→ 添加自定义连接器
  2. 输入URL: https://eruka.dirmacs.com/mcp
  3. 使用您的Eruka凭据进行身份验证(OAuth)
  4. 所有18个工具都是自动可用的

直接HTTP测试

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

工具

工具 描述 层级
eruka_get_context 按架构路径检索字段 免费
eruka_search_context 跨所有上下文的语义搜索 免费
eruka_get_completeness 按类别细分的完整性评分 免费
eruka_get_gaps 按影响列出知识差距 免费
eruka_write_context 写入或更新字段 免费
eruka_get_voice 检索品牌语音指南 免费
eruka_detect_gaps 任务类型的运行间隙检测 免费
eruka_get_constraint 生成抗幻觉约束文本 Pro
eruka_get_related 浏览知识图谱 免费
eruka_add_relationship 在知识图中创建键入边 免费
eruka_get_context_compressed 令牌高效压缩上下文 免费
eruka_get_context_cached 基于Diff的缓存和会话跟踪(节省20-30%的令牌) 免费
eruka_prefetch 代理生命周期:预取当前回合的上下文 免费
eruka_sync_turn 持续对话转向上下文存储 免费
eruka_on_pre_compress 在上下文窗口压缩之前保存见解 免费
eruka_export_context 将所有上下文导出为可移植JSON包 免费
eruka_query_temporal 查询某个时间点的上下文 Pro
eruka_research_gap 汽车研究和填补知识空白 Pro

CLI别名

对于较短的命令,请添加别名:

alias eruka='eruka-mcp'
# Then: eruka get "*", eruka write ..., eruka health

CLI命令

eruka-mcp既可以作为mcp服务器,也可以作为独立的CLI工具。如果没有子命令,它将作为MCP服务器运行(向后兼容)。

# Read all context
eruka-mcp get "*"

# Read a specific field
eruka-mcp get "identity/company_name"

# Write a field
eruka-mcp write "identity/mission" "Build anti-hallucination infrastructure"

# Write with custom confidence and source
eruka-mcp write "market/tam" '$4.2B' --confidence 0.7 --source agent_inference

# Search
eruka-mcp search "revenue"

# Completeness report
eruka-mcp completeness

# Knowledge gaps
eruka-mcp gaps

# Health check
eruka-mcp health

# JSON output (for scripting)
eruka-mcp get "*" --format json
eruka-mcp completeness --format json

所有CLI命令都使用相同的 ERUKA_API_KEY 和 ERUKA_API_URL 环境变量作为MCP服务器。

环境变量

变量 描述 默认值
ERUKA_API_URL 后端URL——本地openeruka或托管服务 http://localhost:8080
ERUKA_API_KEY 服务密钥-- "local" 对于openeruka来说, eruka_sk_... 对于管理 local

CLI 参考

eruka-mcp [OPTIONS] [COMMAND]

Commands:
  get             Read context fields
  write           Write a context field
  search          Search context
  completeness    Show completeness report
  gaps            List knowledge gaps
  health          Check API health

Options:
      --api-url <URL>        Eruka API URL [env: ERUKA_API_URL]
      --api-key <KEY>        Service key [env: ERUKA_API_KEY]
      --tier <TIER>          Tier override [default: free]
      --transport <MODE>     stdio or sse [default: stdio]
      --port <PORT>          SSE port [default: 8080]
      --format <FMT>         Output: text or json [default: text]
      --debug                Debug logging

许可证

麻省理工学院