LetKite

com.letkite由 letkite.com 发布官方发布者v1.9.1更新于 Nov 5, 2026

Run commands and manage files on your own machines. Needs a LetKite account; OAuth sign-in.

发布方自己的服务:LetKite (dev)

已验证Streamable HTTP可网页运行云端与基础设施文件与存储安全与监控

概览

AI 生成的概览

LetKite 是一个托管 MCP 端点,让账号下的 AI 助手在你自己的机器(包括路由器及其后方设备)上执行命令、管理文件。

可以做什么
  • 在已加入 LetKite 账号的机器上执行命令、管理文件
  • 访问已配对 OpenWrt 路由器后方的设备,如 NAS、打印机、摄像头管理页或待唤醒的电脑
  • 唤醒局域网内的电脑,并管理路由器本身
  • 按机器设置权限上限,限制助手可做的事,并可暂停或恢复代理
适用场景
适合希望助手在你自己设定的限制下远程操作自有硬件的场景,例如家用路由器、NAS 或台式机。适用于已安装或计划在这些设备上安装 LetKite 代理的用户。
运行要求
通过 streamable HTTP 访问的远程 MCP 端点,使用 OAuth 登录,需要 LetKite 账号。每台目标机器需安装 LetKite 代理;路由器可通过 OpenWrt 软件包或安装脚本部署,并要求受支持的架构及足够的运行内存和闪存。
安装前请注意
助手可在你的机器上执行命令并访问文件,应谨慎设置每台机器的权限上限;开启 handover、direct、env 或 mesh 会扩大助手可执行或可访问的范围。代理是安装时下载的闭源程序,卸载后 /etc/letkite 仍保留节点密钥与注册信息。可选的遥测会向 LetKite 发送崩溃报告。

安装

在 SourceWeft 中

  1. 打开 控制台中的 LetKite,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.letkite%2Fletkite/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "letkite": {
      "type": "http",
      "url": "https://mcp.letkite.com/mcp"
    }
  }
}

README

letkite-router

OpenWrt packages and the LuCI app for the LetKite agent.

中文说明

LetKite lets AI assistants on your account reach your machines, and, through a router, the devices behind it (a NAS, a printer, a camera's admin page, a PC to wake), within limits you set on each machine. On a router, the agent can also wake computers on the LAN and manage the router itself.

This repository contains:

  • letkite-agent: an OpenWrt package that installs the LetKite agent.
  • luci-app-letkite: Services → LetKite in LuCI. It shows the agent's status, pairs the router with your account (a code and a QR code), pauses and resumes the agent, sets its permissions, and shows its log.

What this is not. The agent itself is not here. It is a closed-source program, built and signed by LetKite, and published on get.letkite.com. This repository is the MIT-licensed packaging and LuCI app around it. The package does not contain the program: it downloads one exact release, checks its SHA-256, and installs it (How the program is verified).

For router and device makers

We work with router, NAS and device makers to preinstall or integrate the LetKite agent:

  • firmware images with the agent built in;
  • OEM feeds;
  • LuCI branding;
  • joint testing on your hardware;
  • new architectures, such as mipsel.

Write to [email protected] with the subject starting with [Router partnership]. Please include:

  • your company;
  • the devices and SoCs;
  • the OpenWrt version or vendor SDK;
  • expected volumes;
  • your timeline.

Please do not post this in a public issue.

Supported

OpenWrt25.12 (apk) and 24.10 (opkg). Vendor firmware based on other OpenWrt versions is not supported yet.
Architecturesx86_64; aarch64 (MediaTek MT798x, Rockchip, Raspberry Pi, armsr…); ARMv7 with a VFPv3 FPU (IPQ40xx, mvebu, armsr…)
Not supportedMIPS (mipsel, e.g. MT7621; mips), ARMv7 without VFPv3 (some BCM53xx), ARMv5/v6
Hardware256 MB of RAM or more. Free flash for two copies of the program (about 16 MB), because an update writes the new copy before removing the old one.

On an unsupported router, the install stops with a message that names the reason, and nothing is installed.

Install from the LetKite feed

OpenWrt 25.12 (apk):

sh
wget -O /etc/apk/keys/letkite-apk.pem https://get.letkite.com/openwrt/keys/letkite-apk.pemecho 'https://get.letkite.com/openwrt/25.12/packages.adb' >> /etc/apk/repositories.d/customfeeds.listapk updateapk add luci-app-letkite

OpenWrt 24.10 (opkg):

sh
wget -O /tmp/letkite-usign.pub https://get.letkite.com/openwrt/keys/letkite-usign.pubopkg-key add /tmp/letkite-usign.pubecho 'src/gz letkite https://get.letkite.com/openwrt/24.10' >> /etc/opkg/customfeeds.confopkg updateopkg install luci-app-letkite

luci-app-letkite pulls in letkite-agent. Install only letkite-agent if you don't use LuCI. Translations: luci-i18n-letkite-zh-cn, -ja, -ko, -fr, -de.

The packages are architecture-independent (all), so there is one feed per OpenWrt version.

Install over SSH

Without the feed, the install script does the same job: it downloads the agent, checks it against the release's SHA256SUMS, and installs it in /opt/letkite-agent. Log in as root and run:

sh
wget -qO- https://get.letkite.com/install.sh | sh

To pair the router as part of the install, use the command shown in the dashboard under Add device → Router (OpenWrt). It is the same line followed by -s -- enroll ….

Pairing in LuCI

  1. Open Services → LetKite → Overview and click Pair. You can give the router a name.
  2. LuCI shows a code, a link and a QR code. Open the link (or scan the code with your phone), sign in to LetKite, and approve the code.
  3. Once you approve it, the router appears in your dashboard and the agent's service starts.

Pause disconnects the agent for 30 minutes, an hour, a day, a custom time, or until you resume it. Permissions shows the router's local ceiling (see Permissions). Log shows the agent's lines from logread.

Permissions

The router's local ceiling, /etc/letkite/ceiling.toml, is the most AI assistants may ever do on this router, whatever your LetKite account allows: the dashboard can narrow it but never exceed it. Only root can change it. Services → LetKite → Permissions shows it.

Switches. Seven of its keys are true or false, and LuCI turns them on and off:

SwitchOn means
handoversomeone at the device may hand it over to AI assistants and leave (meant for desktops)
directdirect peer-to-peer transfers with the account's other devices
updatesthe agent installs newer releases signed by LetKite
envthe environment variables set in the dashboard are written on the router, for the commands run there
acceleratetraffic to LetKite's own servers goes through its access points
telemetrythe agent sends its crash reports (version, system, where it failed; never commands, paths or output)
meshthe router joins the account's mesh network, so its other devices can reach it as the account's rules allow

Turning on handover, direct, env or mesh asks for confirmation first, because each widens what AI assistants on the account can do or reach on this router. The other three are about how the agent itself runs.

LuCI saves a switch with letkite-agent ceiling set <switch> <true|false>, which changes only that line of the file. The agent reads its ceiling only when it starts, so LuCI then restarts it (/etc/init.d/letkite-agent restart); the router is offline for LetKite for a few seconds.

Other limits. The rest of the ceiling is not true or false, so LuCI shows it read-only:

KeyWhat
shelloff or full: whether AI assistants may run commands, shell sessions and terminals here. (sandboxed needs Landlock, which OpenWrt's kernel does not have.)
filesthe most of the file system they may be granted; [] is nothing, ["*"] no limit
denypaths always hidden
gui, gui_appsscreen access; off and [] on a router
tunnel_targetswhere tunnels may connect, such as "192.168.1.0/24" or "192.168.1.10:80"
keep_awake, local_controlpower, and who at the device may pause the connection

To change them, edit the file over SSH, check it, and restart the agent:

sh
vi /etc/letkite/ceiling.tomlletkite-agent ceiling --path /etc/letkite/ceiling.toml   # prints what the agent reads, or the error/etc/init.d/letkite-agent restart

Every key must be present and unknown keys are refused. The agent does not start with a ceiling it cannot read; LuCI then shows why.

Uninstall

sh
apk del -r letkite-agent                                          # 25.12opkg remove --force-removal-of-dependent-packages letkite-agent   # 24.10

This removes letkite-agent together with what depends on it (luci-app-letkite and its translations).

Removing letkite-agent runs the agent's own letkite-agent uninstall, which stops and removes its procd service and sysupgrade keep list, and then deletes /opt/letkite-agent. /etc/letkite stays. It holds the node key, the enrollment and the ceiling, so installing again brings back the same node. To forget the node completely, also delete that directory and remove the router in the dashboard:

sh
rm -rf /etc/letkite

How the program is verified

The chain of trust is feed signature → package → pinned SHA-256:

  1. Your package manager installs letkite-agent only from a feed index signed with LetKite's feed key: usign on 24.10, an apk v3 key on 25.12. The index lists each package's hash.

  2. The package's pre-install script carries a table generated from the agent release: the version and the SHA-256 of the program for each architecture (packages/letkite-agent/files/release).

  3. The script downloads https://get.letkite.com/agent/v<version>/letkite-agent-router-linux-<arch> (the router build: the agent without the desktop parts, kept within a router's flash budget; letkite-agent-linux-<arch>, the full build, for releases from before the router build), checks it with sha256sum, and installs it only on an exact match. On a mismatch, an unsupported CPU, too little flash or a failed download, the script fails, the install command fails, and no program and no service are left on the router. opkg (24.10) then stops, so the package is not installed at all. apk-tools (25.12) goes on after a failed pre-install script: it keeps a record of the package, which holds only the release table and is flagged with a script error. apk del -r letkite-agent removes it.

  4. On install and on upgrade, a program already in /opt/letkite-agent is kept when it is newer than the table (the agent updated itself since). One of the same version is kept only if its SHA-256 matches the pin; otherwise the script replaces it with the pinned program, checked as above. That is how a router that runs the full build (installed, or updated to, before the router build) moves to the router build of the same version. An older program is replaced too.

The table is regenerated only from a release whose release.json carries a valid Ed25519 signature from one of LetKite's agent release keys (keys/agent-release-keys.txt, the same keys the agent itself trusts). SHA256SUMS must also agree with release.json. scripts/release-table.py does this; the scheduled bump workflow runs it and opens a pull request, and CI checks the pinned table against the signed release on every change.

Afterwards, the agent installs its own procd service (letkite-agent install). It then updates itself: it installs only releases signed with the same release keys, verifies their size and SHA-256, and rolls back an update that does not come up.

Why apk audit stays clean. The package does not own /opt/letkite-agent/letkite-agent; the program file is not in the package. The agent replaces that file when it updates itself, and a file the package owned would then show up as modified. The package owns only the release table, /usr/share/letkite-agent/release. The init script and the sysupgrade keep list belong to the agent, which writes them on install and removes them on uninstall, so the package and the agent never disagree about the service.

Security

Please report vulnerabilities privately to [email protected] with the subject starting with [Security]. Do not open a public issue. See SECURITY.md.

Contributing

See CONTRIBUTING.md. Every commit needs a Signed-off-by line (DCO).

License

MIT, see LICENSE. This covers this repository only. The LetKite agent is distributed by LetKite under its own terms. The vendored QR code library is MIT licensed, see THIRD_PARTY_NOTICES.md.

来源:README.md,提交 4059727

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

6
  1. v1.9.1最新Nov 5, 2026
  2. v1.9.0Nov 3, 2026
  3. v1.8.0Oct 30, 2026
  4. v1.7.0Oct 24, 2026
  5. v1.6.1Oct 21, 2026
  6. v1.5.0Oct 20, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Letkite 集成