
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)
概覽
LetKite 是託管的 MCP 端點,讓帳號下的 AI 助理在你自己的機器(含路由器及其後方裝置)上執行指令、管理檔案。
- 可以做什麼
- 在已加入 LetKite 帳號的機器上執行指令、管理檔案
- 存取已配對 OpenWrt 路由器後方的裝置,例如 NAS、印表機、攝影機管理頁或待喚醒的電腦
- 喚醒區域網路內的電腦,並管理路由器本身
- 依機器設定權限上限,限制助理可做的事,並可暫停或恢復代理程式
- 適用情境
- 適合希望助理在你自行設定的限制下遠端操作自有硬體的場合,例如家用路由器、NAS 或桌上型電腦。適用於已安裝或打算在這些裝置上安裝 LetKite 代理程式的使用者。
- 執行需求
- 透過 streamable HTTP 存取的遠端 MCP 端點,使用 OAuth 登入,需要 LetKite 帳號。每台目標機器需安裝 LetKite 代理程式;路由器可透過 OpenWrt 套件或安裝腳本部署,並需要受支援的架構及足夠的記憶體與快閃儲存。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 LetKite,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
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
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):
OpenWrt 24.10 (opkg):
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:
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
- Open Services → LetKite → Overview and click Pair. You can give the router a name.
- 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.
- 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:
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:
To change them, edit the file over SSH, check it, and restart the agent:
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
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:
How the program is verified
The chain of trust is feed signature → package → pinned SHA-256:
-
Your package manager installs
letkite-agentonly 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. -
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). -
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 withsha256sum, 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-agentremoves it. -
On install and on upgrade, a program already in
/opt/letkite-agentis 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版本歷史
6- v1.9.1最新Nov 5, 2026
- v1.9.0Nov 3, 2026
- v1.8.0Oct 30, 2026
- v1.7.0Oct 24, 2026
- v1.6.1Oct 21, 2026
- v1.5.0Oct 20, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分