埃尔瓦蒂斯mcp
OpenClaw的MCP服务器 --将您的智能家居、内存、cron自动化和AI子代理编排暴露给Claude Desktop、Cursor、Windsurf和任何兼容MCP的AI客户端。
](https://www.npmjs.com/package/@elvatis_com/elvatis-mcp)  
这是什么?
elvatis mcp将Claude(或任何mcp客户端)连接到您的基础设施:
- 智能家居 通过家庭助理(灯光、恒温器、真空、传感器)进行控制
- 记忆 系统,每日日志存储在您的OpenClaw服务器上
- 克龙 作业管理与触发
- 多LLM编排 通过5个AI后端:Claude、OpenClaw、Google Gemini、OpenAI Codex和本地LLM
- 智能提示拆分 它分析复杂的请求,将子任务路由到正确的AI,并在限速的情况下执行计划
关键思想是:Claude是编排者,但它可以将专门的工作委托给其他人工智能模型。编码任务交给Codex。双子座正在进行研究。简单的格式化将转到您当地的LLM(免费、私人)。交易和自动化转到OpenClaw。 prompt_split 自动计算出路线,以及 prompt_split_execute 在云代理上运行具有速率限制的计划。
什么是MCP?
模型上下文协议 是Anthropic的开放标准,允许AI客户端连接到外部工具服务器。配置后,Claude可以直接调用您的工具,而无需复制粘贴。
______________________________________________________________________
多LLM架构
You (Claude Desktop / Code / Cursor)
|
MCP Protocol (stdio/HTTP)
|
elvatis-mcp server
|
+--------+--------+--------+--------+--------+--------+
| | | | | | |
Claude OpenClaw Gemini Codex Local llama Home
(CLI) (SSH) (CLI) (CLI) LLM .cpp Asst.
| | | | (HTTP) (proc) (REST)
Reason Plugins 1M ctx Coding | | |
Write Trading Multi- Files LM Stu Turbo- Lights
Review Auto. modal Debug Ollama Quant Climate
Notify Rsch Shell (free!) cache Vacuum子代理比较
| 工具 | 后端 | 传输 | 授权 | 最划算 | 成本 |
|---|---|---|---|---|---|
claude_run | Claude(Anthropic) | 本地CLI | Claude代码登录 | 复杂的推理、编写、代码审查。适用于非Claude MCP客户。 | API使用情况 |
openclaw_run | OpenClaw(插件) | SSH | SSH密钥 | 交易、自动化、多步骤工作流 | 自托管 |
gemini_run | Google Gemini | 本地CLI | Google登录 | 长上下文(1M令牌),多模式,研究 | API使用 |
codex_run | OpenAI Codex | 本地CLI | OpenAI登录 | 编码、调试、文件编辑、外壳脚本 | API使用 |
local_llm_run | LM Studio/Ollama/lama.cpp | HTTP | 无 | 分类、格式化、提取、重写 | 自由 |
会话恢复
claude_run, gemini_run,以及 codex_run 使用 CLI会话恢复 以消除冷启动开销。在第一次呼叫时,创建新会话;后续调用会恢复它,因此模型只接收新消息,而不是重新处理完整的对话历史。
| 指标 | 无会话恢复 | 有会话恢复 |
|---|---|---|
| 每个请求的提示大小 | 18-25KB | \局部->启发式 |
______________________________________________________________________
可用工具(共34个)
家庭助理(7个工具)
| 工具 | 说明 |
|---|---|
home_get_state | 读取任何家庭助理实体状态 |
home_light | 控制灯:开/关/切换、亮度、色温、RGB |
home_climate | 控制Tado恒温器:温度、暖通空调模式 |
home_scene | 按房间激活色调场景 |
home_vacuum | 控制Roborock真空:启动、停止、停靠、状态 |
home_sensors | 读取所有温度、湿度和二氧化碳传感器 |
home_automation | 列出、触发、启用或禁用HA自动化 |
内存(3个工具)
| 工具 | 说明 |
|---|---|
openclaw_memory_write | 在今天的日志上写一条注释 |
openclaw_memory_read_today | 阅读今天的内存日志 |
openclaw_memory_search | 搜索过去N天的内存文件 |
Cron自动化(7个工具)
| 工具 | 说明 |
|---|---|
openclaw_cron_list | 列出所有计划的OpenClaw cron作业 |
openclaw_cron_run | 通过ID立即触发cron作业 |
openclaw_cron_status | 获取调度程序状态和最近的运行历史记录 |
openclaw_cron_create | 创建一个新的cron作业(cron表达式、时间间隔或一次性) |
openclaw_cron_edit | 编辑现有的cron作业(名称、消息、计划、模型) |
openclaw_cron_delete | 按ID删除cron作业 |
openclaw_cron_history | 显示cron作业的最近执行历史记录 |
OpenClaw代理(4个工具)
| 工具 | 说明 |
|---|---|
openclaw_run | 向OpenClaw AI代理发送提示(所有插件都可用) |
openclaw_status | 检查OpenClaw守护进程是否正在运行 |
openclaw_plugins | 列出所有已安装的插件 |
openclaw_notify | 通过WhatsApp、Telegram或上次使用的渠道发送通知 |
AI子代理(5个工具)
| 工具 | 说明 |
|---|---|
claude_run | 通过本地CLI向Claude发送提示。适用于非克劳德MCP客户(Cursor、Windsurf)。 |
gemini_run | 通过本地CLI向Google Gemini发送提示。1M令牌上下文。 |
codex_run | 通过本地CLI向OpenAI Codex发送编码任务。 |
local_llm_run | 向当地LLM(LM Studio、Ollama、llama.cpp)发送提示。免费,私人。支持流媒体。 |
llama_server | 启动/停止/配置支持TurboQuant缓存的llama.cpp服务器。 |
系统管理(4个工具)
| 工具 | 说明 |
|---|---|
system_status | 立即对所有服务进行健康检查,并考虑延迟(HA、SSH、LLM、CLIs) |
local_llm_models | 在LM Studio/Ollama上列出、加载或卸载模型 |
openclaw_logs | 从OpenClaw服务器查看网关、代理或系统日志 |
file_transfer | 通过SSH在OpenClaw服务器上上传、下载或列出文件 |
路由和编排(3个工具)
| 工具 | 说明 |
|---|---|
mcp_help | 显示路线指南。传递任务以获得特定的工具建议。 |
prompt_split | 分析一个复杂的提示,将其分解为具有代理分配的子任务。 |
prompt_split_execute | 执行拆分计划:按依赖顺序将子任务分派给代理,并限制速率。 |
仪表盘
| 端点 | 描述 |
|---|---|
http://localhost:3334/status | 自动刷新HTML仪表板(服务运行状况、加载的模型) |
http://localhost:3334/api/status | 用于程序状态检查的JSON API |
______________________________________________________________________
测试结果
所有测试都针对实时服务运行(LM Studio与Deepseek R1 Qwen3 8B,通过SSH的OpenClaw服务器)。
elvatis-mcp integration tests
Local LLM (local_llm_run)
Model: deepseek/deepseek-r1-0528-qwen3-8b
Response: "negative"
Tokens: 401 (prompt: 39, completion: 362)
PASS local_llm_run: simple classification (21000ms)
Extracted: {"name":"John Smith","age":34}
PASS local_llm_run: JSON extraction (24879ms)
Error: Could not connect to local LLM at http://localhost:19999/v1/chat/completions
PASS local_llm_run: connection error handling (4ms)
Prompt Splitter (prompt_split)
Strategy: heuristic
Agent: codex_run
Summary: Fix the authentication bug in the login handler
PASS prompt_split: single-domain coding prompt routes to codex (1ms)
Strategy: heuristic
Subtasks: 3
t1: codex_run -- "Refactor the auth module"
t2: openclaw_run -- "check my portfolio performance and"
t3: home_light -- "turn on the living room lights"
Parallel groups: [["t1","t3"],["t2"]]
Estimated time: 90s
PASS prompt_split: heuristic multi-agent splitting (0ms)
Subtasks: 4, Agents: openclaw_memory_write, gemini_run, local_llm_run
Parallel groups: [["t1","t3","t4"],["t2"]]
PASS prompt_split: cross-domain with dependencies (1ms)
Strategy: local->heuristic (fallback)
Subtasks: 1
PASS prompt_split: local LLM strategy (with fallback) (60007ms)
Routing Guide (mcp_help)
Guide length: 2418 chars
PASS mcp_help: returns guide without task (0ms)
Recommendation: local_llm_run (formatting task)
PASS mcp_help: routes formatting task to local_llm_run (0ms)
Recommendation: codex_run (coding task)
PASS mcp_help: routes coding task to codex_run (0ms)
Memory Search via SSH (openclaw_memory_search)
Query: "trading", Results: 5
PASS openclaw_memory_search: finds existing notes (208ms)
-----------------------------------------------------------
11 passed, 0 failed, 0 skipped
-----------------------------------------------------------自己运行测试:
npx tsx tests/integration.test.ts先决条件: .env 已配置,本地LLM服务器正在运行,OpenClaw服务器可通过SSH访问。
______________________________________________________________________
基准测试
看 基准.md 获取完整的基准套件、方法和社区贡献指南。
参考硬件
| 组件 | 规格 |
|---|---|
| CPU | AMD Threadripper 3960X(24核/48线程) |
| GPU | AMD Radeon RX 9070 XT Elite(16 GB GDDR6) |
| RAM | 128 GB DDR4 |
| 操作系统 | Windows 11 Pro |
| 运行时 | LM工作室+Vulkan(llama.cpp-win-x86_64-vulkan-avx2@2.8.0) |
本地LLM推理(LM Studio,Vulkan GPU, --gpu max)
中位数为3次运行, max_tokens=512任务:分类(1字情感)、提取(JSON)、推理(算术)、代码(Python函数)。Vulkan是AMD RX 9070 XT的推荐运行时(在ROCm上赢得了5个型号中的4个)。
| 模型 | 参数 | 分类 | 提取 | 原因 | 代码 | avg tok/s |
|---|---|---|---|---|---|---|
| Phi 4迷你推理 | 3B | 2.6秒 | 1.9秒 | 4.7秒 | 4.8秒 | 106 |
| 深搜索R1 0528 Qwen3 | 8B | 3.0秒 | 6.5秒 | 7.2秒 | 7.4秒 | 70 |
| 问题3.5 9B | 9B | 6.2秒 | 4.0秒 | 8.4秒 | 7.2秒 | 48 |
| Phi 4推理加 | 15B | 0.4秒 | 9.7秒 | 3.5秒 | 9.9秒 | 40 |
| GPT-OSS 20B | 20B | 0.6秒 | 0.6秒 | 0.6秒 | 1.9秒 | 63 |
GPU与CPU的加速比(Deepseek R1 8B,Vulkan): 分类速度快7.2倍,提取速度快3.8倍。
子代理比较(同一任务,不同后端)
| 代理 | 后端 | 平均延迟 | 成本 | 备注 |
|---|---|---|---|---|
| local_llm_run | GPT-OSS 20B(Vulkan GPU) | 1.0秒 | 免费 | 比Codex快4倍,比Claude快6倍 |
| codex_run | OpenAI codex CLI | 4.1s | 按使用付费 | 最适合编码任务 |
| claude_run | 克劳德十四行诗4.6 | 6.3秒(5-10秒,带会话简历) | 按次付费 | 最适合复杂推理 |
| gemini_run | gemini 2.5 Flash | 34.0s | 免费层 | CLI启动开销,最适合长时间上下文 |
服务延迟(system_status)
| 服务 | 延迟 | 备注 |
|---|---|---|
| 家庭助手(REST API) | 48-84 ms | 本地网络,直接HTTP |
| OpenClaw SSH | 273-299毫秒 | 局域网SSH+命令执行 |
| 本地LLM(型号列表) | 19-38 ms | LM Studio localhost API |
| Claude CLI(版本检查) | 472-478毫秒 | CLI启动开销 |
| Codex CLI(版本检查) | 131-136ms | CLI启动开销 |
| Gemini CLI(版本检查) | 4700-4900毫秒 | CLI启动+身份验证检查 |
prompt_split准确性(启发式策略)
| 度量 | 结果 |
|---|---|
| 通过率 | 10/10 (100%) |
| 任务计数准确率 | 10/10(100%) |
| 平均代理匹配率 | 100% |
| 延迟 | \ 想从您的硬件中贡献基准测试吗?看 基准.md. |
______________________________________________________________________
需求
可选(适用于子代理):
claude_run:npm install -g @anthropic-ai/claude-code然后跑claude一次验证gemini_run:npm install -g @google/gemini-cli和gemini auth logincodex_run:npm install -g @openai/codex和codex loginlocal_llm_run:任何兼容OpenAI的本地服务器:
- LM 工作室 (推荐,GUI,默认端口1234) - 奥拉玛 (ollama serve,端口11434) - llama.cpp (llama-server,任何端口)
______________________________________________________________________
安装
全局安装:
npm install -g @elvatis_com/elvatis-mcp或者直接通过npx使用(无需安装):
npx @elvatis_com/elvatis-mcp______________________________________________________________________
我在哪里可以使用它?
elvatis mcp适用于所有兼容mcp的客户端。每个客户端都使用自己的配置文件。
| 客户端 | 传输 | 配置文件 |
|---|---|---|
| 克劳德桌面/协作 (Windows MSIX) | stdio | %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json |
| 克劳德桌面/协作 (macOS) | stdio | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 克劳德代码 (全局,所有项目) | stdio | ~/.claude.json |
| 克劳德代码 (仅此项目) | stdio | .mcp.json 在repo根目录中(已包含) |
| 光标/风帆/其他 | stdio或HTTP | 请参阅应用程序文档 |
Claude Desktop和Cowork共享相同的配置文件。Claude Code是一个独立的系统。
______________________________________________________________________
配置
1.创建您的 .env 文件
cp .env.example .env# Required
HA_URL=http://your-home-assistant:8123
HA_TOKEN=your_long_lived_ha_token
SSH_HOST=your-openclaw-server-ip
SSH_USER=your-ssh-username
SSH_KEY_PATH=~/.ssh/your_key
# Optional: Local LLM
LOCAL_LLM_ENDPOINT=http://localhost:1234/v1 # LM Studio default
LOCAL_LLM_MODEL=deepseek-r1-0528-qwen3-8b # or omit to use loaded model
# Optional: Sub-agent models
GEMINI_MODEL=gemini-2.5-flash
CODEX_MODEL=o32.配置您的MCP客户端
克劳德桌面(macOS)
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"elvatis-mcp": {
"command": "npx",
"args": ["-y", "@elvatis_com/elvatis-mcp"],
"env": {
"HA_URL": "http://your-home-assistant:8123",
"HA_TOKEN": "your_token",
"SSH_HOST": "your-openclaw-server-ip",
"SSH_USER": "your-username",
"SSH_KEY_PATH": "/Users/your-username/.ssh/your_key"
}
}
}
}克劳德桌面(Windows MSIX)
打开此文件(必要时创建):
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json{
"mcpServers": {
"elvatis-mcp": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\path\\to\\elvatis-mcp\\dist\\index.js"],
"env": {
"HA_URL": "http://your-home-assistant:8123",
"HA_TOKEN": "your_token",
"SSH_HOST": "your-openclaw-server-ip",
"SSH_USER": "your-username",
"SSH_KEY_PATH": "C:\\Users\\your-username\\.ssh\\your_key"
}
}
}
}在Windows上,始终使用完全绝对路径。MSIX沙盒无法解析 ~ 或相对路径。克劳德代码(本项目)
复制 .mcp.json.example 到 .mcp.json (gitignored,从未提交)并填写您的路径和SSH详细信息。然后复制 .env.example 到 .env 对于剩余的配置。
克劳德代码(全球)
claude mcp add --scope user elvatis-mcp -- node /path/to/elvatis-mcp/dist/index.jsHTTP传输(远程客户端)
MCP_TRANSPORT=http MCP_HTTP_PORT=3333 npx @elvatis_com/elvatis-mcp将您的客户端连接到 http://your-server:3333/mcp.
______________________________________________________________________
环境变量
必需
| 变量 | 描述 |
|---|---|
HA_URL | 家庭助理基本URL,例如。 http://192.168.x.x:8123 |
SSH_HOST | OpenClaw服务器主机名或IP |
可选的
| 变量 | 默认值 | 描述 |
|---|---|---|
HA_TOKEN | -- | 家庭助理长期访问令牌 |
SSH_PORT | 22 | SSH端口 |
SSH_USER | chef-linux | SSH用户名 |
SSH_KEY_PATH | ~/.ssh/openclaw_tunnel | SSH私钥的路径 |
OPENCLAW_GATEWAY_URL | http://localhost:18789 | OpenClaw网关URL |
OPENCLAW_GATEWAY_TOKEN | -- | 可选网关API令牌 |
OPENCLAW_DEFAULT_AGENT | -- | 指定代理 openclaw_run |
GEMINI_MODEL | gemini-2.5-flash | 默认型号 gemini_run |
CODEX_MODEL | -- | 默认型号 codex_run |
LOCAL_LLM_ENDPOINT | http://localhost:1234/v1 | 本地LLM服务器URL(LM Studio默认) |
LOCAL_LLM_MODEL | -- | 默认本地模型(省略使用服务器加载的模型) |
MCP_TRANSPORT | stdio | 运输方式: stdio 或 http |
MCP_HTTP_PORT | 3333 | HTTP端口 |
SSH_DEBUG | -- | 设置为 1 用于详细的SSH输出 |
ELVATIS_DATA_DIR | ~/.elvatis-mcp | 持久使用数据目录(速率限制器) |
RATE_LIMITS | -- | 具有每个代理速率限制覆盖的JSON字符串 |
______________________________________________________________________
本地LLM设置
elvatis-mcp适用于任何与OpenAI兼容的本地服务器。三种流行的选择:
LM Studio(建议用于桌面)
- 下载自 lmstudio.ai
- 加载模型(例如Deepseek R1 Qwen3 8B、Phi 4 Mini)
- 点击侧边栏中的“本地服务器”并启用它
- 服务器运行于
http://localhost:1234/v1(默认值)
奥拉玛
ollama serve # starts server on port 11434
ollama run llama3.2 # downloads and loads model集 LOCAL_LLM_ENDPOINT=http://localhost:11434/v1 在你的 .env.
llama.cpp
llama-server -m model.gguf --port 8080集 LOCAL_LLM_ENDPOINT=http://localhost:8080/v1 在你的 .env.
按任务推荐的模型
| 型号 | 尺寸 | 最适合 |
|---|---|---|
| Phi 4 Mini | 3B | 快速分类、格式化、提取 |
| Deepseek R1 Qwen3 | 8B | 推理、分析、快速拆分 |
| Phi 4 Reasoning Plus | 15B | 高质量的复杂推理 |
| GPT-OSS | 20B | 通用,响应时间更长 |
推理模型(Deepseek R1、Phi 4 Reasoning)将其思维链包裹在 `` 标签。elvatis mcp会自动剥离这些内容,为您提供干净的响应。
______________________________________________________________________
SSH设置
cron、内存和OpenClaw工具通过SSH与服务器通信。
# Verify connectivity
ssh -i ~/.ssh/your_key your-username@your-server "openclaw --version"
# Optional: SSH tunnel for OpenClaw WebSocket gateway
ssh -i ~/.ssh/your_key -L 18789:127.0.0.1:18789 -N your-username@your-server在Windows上,elvatis mcp会自动将SSH二进制文件解析为 C:\Windows\System32\OpenSSH\ssh.exe 并在暂时连接失败时重试。集 SSH_DEBUG=1 用于详细输出。
______________________________________________________________________
/mcp-help 斜杠命令
在克劳德法典中 /mcp-help 斜线命令以格式化输出的形式显示完整的34刀具布线指南:
/mcp-help # full guide
/mcp-help openclaw_status # help for a specific tool
/mcp-help analyze this trading strategy for risk # routing recommendation______________________________________________________________________
速率限制
云子代理(claude_run, codex_run, gemini_run)价格有限,以防止成本失控。默认限制:
| 代理 | /min | /hr | /天 | 估计。成本/通话 |
|---|---|---|---|---|
claude_run | 5 | 30 | 200 | $0.03 |
codex_run | 5 | 30 | 200 | $0.02 |
gemini_run | 10 | 60 | 500 | $0.01 |
当地代理商(local_llm_run, home_*, openclaw_*)是无限的。
使用数据持续到 ~/.elvatis-mcp/usage.json.通过超控限制 RATE_LIMITS env 是:
RATE_LIMITS='{"claude_run":{"perMinute":3,"perDay":100}}'______________________________________________________________________
发展
git clone https://github.com/elvatis/elvatis-mcp
cd elvatis-mcp
npm install # builds automatically via prepare script
cp .env.example .env # fill in your values
node dist/index.js # starts in stdio mode, waits for MCP client构建监视模式:
npm run dev运行集成测试:
npx tsx tests/integration.test.ts项目布局
src/
index.ts MCP server entry, tool registration, transport, dashboard
config.ts Environment variable configuration
dashboard.ts Status dashboard HTML renderer
ssh.ts SSH exec helper (Windows/macOS/Linux)
spawn.ts Local process spawner for CLI sub-agents (supports stdin piping)
session-registry.ts CLI session registry: persist/resume Claude, Gemini, Codex sessions
tools/
home.ts Home Assistant: light, climate, scene, vacuum, sensors
home-automation.ts HA automations: list, trigger, enable, disable
memory.ts Daily memory log: write, read, search (SSH)
cron.ts OpenClaw cron: list, run, status (SSH)
cron-manage.ts OpenClaw cron: create, edit, delete, history (SSH)
openclaw.ts OpenClaw agent orchestration (SSH)
openclaw-logs.ts OpenClaw server log viewer (SSH)
notify.ts WhatsApp/Telegram notifications via OpenClaw
claude.ts Claude sub-agent (local CLI, for non-Claude clients)
gemini.ts Google Gemini sub-agent (local CLI)
codex.ts OpenAI Codex sub-agent (local CLI)
local-llm.ts Local LLM sub-agent (OpenAI-compatible HTTP)
local-llm-models.ts LM Studio model management (list/load/unload)
llama-server.ts llama.cpp server manager (start/stop/configure)
file-transfer.ts File upload/download via SSH
system-status.ts Unified health check across all services
splitter.ts Smart prompt splitter (multi-strategy)
split-execute.ts Plan executor with agent dispatch and rate limiting
help.ts Routing guide and task recommender
routing-rules.ts Shared routing rules and keyword matching
rate-limiter.ts Rate limiting + cost tracking for cloud sub-agents
tests/
unit.test.ts 42 unit tests (no external services needed)
integration.test.ts Live integration tests______________________________________________________________________
许可证
Apache-2.0--版权所有2026 Elvatis
