elvatis-mcp
Officialelvatis-mcp
用于 OpenClaw 的 MCP 服务器 —— 将你的智能家居、记忆、定时任务自动化和 AI 子代理编排暴露给 Claude Desktop、Cursor、Windsurf 以及任何兼容 MCP 的 AI 客户端。
这是什么?
elvatis-mcp 将 Claude(或任何 MCP 客户端)连接到你的基础设施:
智能家居 控制,通过 Home Assistant(灯光、恒温器、扫地机器人、传感器)
记忆 系统,每日日志存储在你的 OpenClaw 服务器上
Cron 作业管理和触发
多 LLM 编排,通过 5 个 AI 后端:Claude、OpenClaw、Google Gemini、OpenAI Codex 和本地 LLM
智能提示拆分,分析复杂请求,将子任务路由到合适的 AI,并执行带速率限制的计划
核心思想:Claude 是编排者,但它可以将专业工作委派给其他 AI 模型。编码任务交给 Codex。研究交给 Gemini。简单格式化交给你的本地 LLM(免费、私密)。交易和自动化交给 OpenClaw。prompt_split 自动确定路由,prompt_split_execute 以速率限制在云端代理上执行计划。
Related MCP server: hass-mcp-server
什么是 MCP?
Model Context Protocol 是 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 (Anthropic) | 本地 CLI | Claude Code 登录 | 复杂推理、写作、代码审查。适用于非 Claude 的 MCP 客户端。 | API 使用量 |
| OpenClaw (插件) | SSH | SSH 密钥 | 交易、自动化、多步骤工作流 | 自托管 |
| Google Gemini | 本地 CLI | Google 登录 | 长上下文(1M 令牌)、多模态、研究 | API 使用量 |
| OpenAI Codex | 本地 CLI | OpenAI 登录 | 编码、调试、文件编辑、Shell 脚本 | API 使用量 |
| LM Studio / Ollama / llama.cpp | HTTP | 无 | 分类、格式化、提取、重写 | 免费 |
会话恢复
claude_run、gemini_run 和 codex_run 使用 CLI 会话恢复 来消除冷启动开销。首次调用时创建新会话;后续调用恢复该会话,因此模型只接收新消息,而不是重新处理完整的对话历史。
指标 | 无会话恢复 | 有会话恢复 |
每次请求的提示大小 | 18-25 KB | <1 KB(仅新消息) |
Claude Sonnet 响应时间 | 80-120 秒(50% 挂起率) | 5-10 秒 |
静默挂起率 | ~50% | 接近 0% |
会话持久化到 ~/.openclaw/cli-bridge/cli-sessions.json,并在 2 小时不活动或 50 次请求后过期。session_id 在每次响应中返回,以便你检查使用了哪个会话。
智能提示拆分
prompt_split 工具分析复杂提示并将其拆分为子任务:
User: "Search my memory for TurboQuant notes, summarize with Gemini,
reformat as JSON locally, then save a summary to memory"
prompt_split returns:
t1: openclaw_memory_search -- "Search memory for TurboQuant" (parallel)
t3: local_llm_run -- "Reformat raw notes as clean JSON" (parallel)
t2: gemini_run -- "Summarize the key findings" (after t1)
t4: openclaw_memory_write -- "Save summary to today's log" (after t2, t3)使用 prompt_split_execute 自动执行计划,或让 Claude 逐步执行。任务按依赖顺序运行,并行组并发执行。三种分析策略:
策略 | 速度 | 质量 | 用途 |
| 即时 | 对清晰提示效果好 | 关键词匹配,无需 LLM 调用 |
| 5-30 秒 | 更好的推理 | 你的本地 LLM 分析提示 |
| 5-15 秒 | 最佳质量 | Gemini-flash 分析提示 |
| 视情况 | 最佳可用 | 对简单提示短路,然后尝试 gemini -> local -> heuristic |
可用工具(共 34 个)
Home Assistant(7 个工具)
工具 | 描述 |
| 读取任何 Home Assistant 实体状态 |
| 控制灯光:开/关/切换、亮度、色温、RGB |
| 控制 Tado 恒温器:温度、HVAC 模式 |
| 按房间激活 Hue 场景 |
| 控制 Roborock 扫地机器人:启动、停止、回充、状态 |
| 读取所有温度、湿度和 CO2 传感器 |
| 列出、触发、启用或禁用 HA 自动化 |
记忆(3 个工具)
工具 | 描述 |
| 向今天的每日日志写入笔记 |
| 读取今天的记忆日志 |
| 搜索最近 N 天的记忆文件 |
Cron 自动化(7 个工具)
工具 | 描述 |
| 列出所有计划的 OpenClaw cron 作业 |
| 按 ID 立即触发 cron 作业 |
| 获取调度器状态和最近的运行历史 |
| 创建新的 cron 作业(cron 表达式、间隔或一次性) |
| 编辑现有 cron 作业(名称、消息、计划、模型) |
| 按 ID 删除 cron 作业 |
| 显示 cron 作业的最近执行历史 |
OpenClaw 代理(4 个工具)
工具 | 描述 |
| 向 OpenClaw AI 代理发送提示(所有插件可用) |
| 检查 OpenClaw 守护进程是否正在运行 |
| 列出所有已安装的插件 |
| 通过 WhatsApp、Telegram 或最后使用的渠道发送通知 |
AI 子代理(5 个工具)
工具 | 描述 |
| 通过本地 CLI 向 Claude 发送提示。适用于非 Claude 的 MCP 客户端(Cursor、Windsurf)。 |
| 通过本地 CLI 向 Google Gemini 发送提示。1M 令牌上下文。 |
| 通过本地 CLI 向 OpenAI Codex 发送编码任务。 |
| 向本地 LLM(LM Studio、Ollama、llama.cpp)发送提示。免费、私密。支持流式输出。 |
| 启动/停止/配置 llama.cpp 服务器,支持 TurboQuant 缓存。 |
系统管理(4 个工具)
工具 | 描述 |
| 一次性健康检查所有服务,带延迟(HA、SSH、LLM、CLI) |
| 列出、加载或卸载 LM Studio / Ollama 上的模型 |
| 查看 OpenClaw 服务器的网关、代理或系统日志 |
| 通过 SSH 上传、下载或列出 OpenClaw 服务器上的文件 |
路由和编排(3 个工具)
工具 | 描述 |
| 显示路由指南。传入任务以获得具体工具推荐。 |
| 分析复杂提示,拆分为带代理分配的子任务。 |
| 执行拆分计划:按依赖顺序将子任务分派给代理,并带速率限制。 |
仪表板
端点 | 描述 |
| 自动刷新的 HTML 仪表板(服务健康、已加载模型) |
| 用于编程状态检查的 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 访问。
基准测试
参见 BENCHMARKS.md 获取完整的基准测试套件、方法论和社区贡献指南。
参考硬件
组件 | 规格 |
CPU | AMD Threadripper 3960X(24 核 / 48 线程) |
GPU | AMD Radeon RX 9070 XT Elite(16 GB GDDR6) |
RAM | 128 GB DDR4 |
OS | Windows 11 Pro |
运行时 | LM Studio + Vulkan( |
本地 LLM 推理(LM Studio、Vulkan GPU、--gpu max)
3 次运行的中位数,max_tokens=512。任务:分类(1 词情感)、提取(JSON)、推理(算术)、代码(Python 函数)。Vulkan 是 AMD RX 9070 XT 的推荐运行时(在 5 个模型中胜过 ROCm 4 个)。
模型 | 参数 | 分类 | 提取 | 推理 | 代码 | 平均 tok/s |
Phi 4 Mini Reasoning | 3B | 2.6s | 1.9s | 4.7s | 4.8s | 106 |
Deepseek R1 0528 Qwen3 | 8B | 3.0s | 6.5s | 7.2s | 7.4s | 70 |
Qwen 3.5 9B | 9B | 6.2s | 4.0s | 8.4s | 7.2s | 48 |
Phi 4 Reasoning Plus | 15B | 0.4s | 9.7s | 3.5s | 9.9s | 40 |
GPT-OSS 20B | 20B | 0.6s | 0.6s | 0.6s | 1.9s | 63 |
GPU 速度对比 vs CPU(Deepseek R1 8B,Vulkan): 分类快 7.2 倍,提取快 3.8 倍。
子代理对比(相同任务,不同后端)
Agent | 后端 | 平均延迟 | 费用 | 备注 |
local_llm_run | GPT-OSS 20B(Vulkan GPU) | 1.0s | 免费 | 比 Codex 快 4 倍,比 Claude 快 6 倍 |
codex_run | OpenAI Codex CLI | 4.1s | 按使用付费 | 最适合代码任务 |
claude_run | Claude Sonnet 4.6 | 6.3s(恢复会话需 5-10s) | 按使用付费 | 最适合复杂推理 |
gemini_run | Gemini 2.5 Flash | 34.0s | 免费套餐 | CLI 启动开销,最适合长上下文 |
服务延迟(system_status)
服务 | 延迟 | 备注 |
Home Assistant(REST API) | 48–84 ms | 本地网络,直接 HTTP |
OpenClaw SSH | 273–299 ms | LAN SSH + 命令执行 |
本地 LLM(模型列表) | 19–38 ms | LM Studio localhost API |
Claude CLI(版本检查) | 472–478 ms | CLI 启动开销 |
Codex CLI(版本检查) | 131–136 ms | CLI 启动开销 |
Gemini CLI(版本检查) | 4,700–4,900 ms | CLI 启动 + 身份验证 |
prompt_split 准确率(启发式策略)
指标 | 结果 |
通过率 | 10/10(100%) |
任务数量准确率 | 10/10(100%) |
平均代理匹配度 | 100% |
延迟 | <1ms(无 LLM 调用) |
v0.8.0+ 的改进:词边界正则匹配、多代理提示的逗号子句拆分、按工具的路由规则、openclaw_notify 路由。完整测试语料请参阅 BENCHMARKS.md。
想贡献自己硬件上的基准结果?请看看 BENCHMARKS.md。
要求
Node.js 18 或更高版本
OpenSSH 客户端(Windows 10+、macOS、Linux 内置)
一个已运行、可通过 SSH 访问的 OpenClaw 实例
一个拥有长期访问令牌的 Home Assistant 实例
可选(用于子代理):
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 API 的本地服务器:
安装
全局安装:
npm install -g @elvatis_com/elvatis-mcp或者直接通过 npx 使用(无需安装):
npx @elvatis_com/elvatis-mcp每个版本都由 GitHub Actions 从推送的 v* 标签构建并发布,并且基于该标签所指向的确定提交。
SECURITY.md 说明了这种构建方式能保证什么、不能保证什么,以及如何验证你已安装的版本。
CHANGELOG.md 记录了每个版本包含的内容。
在哪里可以使用它?
elvatis-mcp 适用于所有 MCP 兼容客户端。每个客户端都使用自己的配置文件。
客户端 | 传输方式 | 配置文件 |
Claude Desktop / Cowork(Windows MSIX) | stdio |
|
Claude Desktop / Cowork(macOS) | stdio |
|
Claude Code(全局,所有项目) | stdio |
|
Claude Code(仅当前项目) | stdio | 仓库根目录下的 |
Cursor / Windsurf / 其他 | 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 客户端
Claude Desktop(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"
}
}
}
}Claude Desktop(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 沙盒不会解析
~或相对路径。
Claude Code(当前项目)
将 .mcp.json.example 复制为 .mcp.json(已加入 gitignore,永远不会提交),然后填入你的路径和 SSH 详细信息。接着将 .env.example 复制为 .env 来补齐其余配置。
Claude Code(全局)
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。
环境变量
必填
变量 | 描述 |
| Home Assistant 的基础 URL,例如 |
| OpenClaw 服务器的主机名或 IP |
可选
变量 | 默认值 | 描述 |
| -- | Home Assistant 长期访问令牌 |
|
| SSH 端口 |
|
| SSH 用户名 |
|
| SSH 私钥路径 |
|
| OpenClaw Gateway URL |
| -- | 可选的 Gateway API 令牌 |
| -- | 供 |
|
| 供 |
| -- | 供 |
|
| 本地 LLM 服务器地址(LM Studio 默认) |
| -- | 默认本地模型(留空则使用服务器已加载的模型) |
|
| 传输模式: |
|
| HTTP 端口 |
| -- | 设为 |
|
| 持久化使用数据的目录(速率限制器) |
| -- | JSON 字符串,包含按 agent 限制覆盖速率 |
本地 LLM 设置
elvatis-mcp 可与任意兼容 OpenAI API 的本地服务器配合使用。这里有三种常用选择:
LM Studio(推荐桌面端)
从 lmstudio.ai 下载
加载一个模型(例如 Deepseek R1 Qwen3 8B、Phi 4 Mini)
点击侧边栏中的“Local Server”并启用它
服务器运行在
http://localhost:1234/v1(默认地址)
Ollama
ollama serve # starts server on port 11434
ollama run llama3.2 # downloads and loads model在 .env 中设置 LOCAL_LLM_ENDPOINT=http://localhost:11434/v1。
llama.cpp
llama-server -m model.gguf --port 8080在 .env 中设置 LOCAL_LLM_ENDPOINT=http://localhost:8080/v1。
按任务推荐的模型
Model | 大小 | 最适合 |
Phi 4 Mini | 3B | 快速分类、格式化、提取 |
Deepseek R1 Qwen3 | 8B | 推理、分析、提示拆分 |
Phi 4 Reasoning Plus | 15B | 高度复杂的推理以及高质量输出 |
GPT-OSS | 20B | 通用任务、更长响应 |
推理模型(Deepseek R1、Phi 4 Reasoning)会将其思维链包裹在
thinking标签中。elvatis-mcp 会自动移除这些标签,给你干净简洁的响应。
SSH 设置
cron工具、memory工具和 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 斜杠命令
在 Claude Code 中,/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)被限速以避免出现不可控的成本。默认限制:
Agent | /分钟 | /小时 | /天 | 估算成本/调用 |
| 5 | 30 | 200 | $0.03 |
| 5 | 30 | 200 | $0.02 |
| 10 | 60 | 500 | $0.01 |
本地代理(local_llm_run、home_*、openclaw_*)不受限。
使用数据持久化到 ~/.elvatis-mcp/usage.json。可通过 RATE_LIMITS 环境变量覆盖限制:
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 -- Copyright 2026 Elvatis
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that integrates with the OpenClaw API to enable AI assistants to send messages across multiple platforms, execute system commands, and manage calendar events and emails.51MIT
- AlicenseAqualityCmaintenanceMCP server for full Home Assistant control, enabling AI agents to manage dashboards, automations, files, apps, entities, and more via REST API, WebSocket, and SSH.66116MIT
- AlicenseNot gradedqualityAmaintenanceMCP server with persistent memory, voice understanding, multi-thread orchestration, and remote control via Telegram for AI assistants.2,2995MIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing persistent memory, goal tracking, self-reflection, and background monitoring for any MCP-compatible AI agent.1MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP memory server. One memory your agents share — across models, devices and apps.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elvatis/elvatis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server