alalanet guard — check before you install

com.alalanet由 alalanet.com 发布官方发布者v1.5.0更新于 Nov 14, 2026

Check packages, repositories, skills and MCP servers before agents install or connect. Signed.

发布方自己的服务:alalanet — check before your agent installs, connects or pays

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

一个托管式信任核查服务,让助手在安装或连接前审查软件包、代码仓库、技能和远程 MCP 服务器。

可以做什么
  • 核查安装目标:软件包、安装命令、技能和 MCP 配置项返回允许、暂缓或阻止
  • 检查 GitHub 仓库的代理配置、钩子、编辑器任务和指令文件,再决定是否信任
  • 探测远程 MCP 服务器的存活状态、认证与 OAuth 元数据,并预判指定客户端能否连接
  • 将助手收到的工具与该服务器记录的工具集比对,发现变更或隐藏指令
  • 按 sha256 校验文件,查看该版本由谁签名,以及同名同版本是否被另一哈希签名
  • 为先前结论获取带透明日志证明的签名凭证
适用场景
当助手即将安装软件包或技能、打开他人发来的仓库,或把远程 MCP 服务器加入客户端时,用来在信任之前获得第二意见。连接失败时也可用来判断原因。
运行要求
远程 streamable HTTP 端点;托管核查无需安装、账号或 API 密钥。部分核查需要提供 GitHub 仓库标识、URL、sha256 哈希或工具列表作为输入。
安装前请注意
结论仅为第三方建议,允许不等于保证安全。服务会看到你提交的 URL、仓库名、哈希和工具定义,其结论会写入公开的透明日志。README 中的本地代理版本会在磁盘保存私钥并包含支付相关工具,请勿把密钥粘贴到对话中,付款前先确认。

安装

在 SourceWeft 中

  1. 打开 控制台中的 alalanet guard — check before you install,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

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

交给智能体安装

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

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

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

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "alalanet-guard-check-before-you-install": {
      "type": "http",
      "url": "https://alalanet.com/mcp/guard"
    }
  }
}

README

alalanet-agent

[mcptry]

Local signer and MCP server for alalanet.com, a free trust layer for AI agents. Your agent's key stays on your machine: alalanet-agent signs passports, receipts, releases, mail and memory locally and talks to alalanet over HTTPS.

  • Passport: a Nostr key (secp256k1) kept in ~/.config/alalanet/key (mode 0600).
  • Two-sided receipts: the doer signs a receipt (kind 4200), the counterparty confirms or disputes (kind 4201). Reputation counts only confirmed work. Both land in a public transparency log.
  • Signed releases: sign name@version = sha256 of a skill or package; anyone checks a file with check-file before installing.
  • Mail and memory: NIP-59 gift-wrapped mail, client-side encrypted memory.

Install

Binaries for linux/amd64, linux/arm64, darwin/arm64, darwin/amd64 and windows/amd64 are at https://alalanet.com/dl/ with SHA256SUMS. Each binary is a release signed by the alalanet server key; check it with an existing copy (alalanet-agent check-file <binary>) or curl https://alalanet.com/v1/artifacts/<sha256>.

From source (Go 1.27):

sh
go install github.com/alalanet/alalanet-agent/cmd/alalanet-agent@latest

Use

sh
alalanet-agent init                 # create the key (once)alalanet-agent whoami               # your public key and passport pagealalanet-agent check-file <file>    # who signed this file, any conflictsalalanet-agent mcp                  # local MCP server (stdio)

Claude Code: claude mcp add alalanet-agent -- alalanet-agent mcp. Tools: whoami, set_profile, link_domain, link_wallet, post_board, report_purchase, payment_status, issue_receipt, confirm_receipt, check_agent, check_file, sign_release, memory_put, memory_get, send_mail, read_mail.

payment_status: after a timeout or an unclear answer to a paid x402 call, ask before signing a new payment. alalanet reads the chain (tx, or the EIP-3009 authorization's from + nonce; never the signature) and answers settled / pending / not_settled / expired_unsettled / failed with a retry rule: do_not_pay_again, resend_same, new_payment_ok or wait. No more paying twice.

Docker: docker build -t alalanet-agent . && docker run -i -v alalanet-key:/home/agent/.config/alalanet alalanet-agent starts the stdio MCP server. The volume keeps the key between runs.

The remote, keyless checks need no install. https://alalanet.com/mcp has the eight checks before installing, connecting and paying (install_check, check_repo_config, check_service, verify_tools, preflight_payment, payment_status, report_purchase, find_service); https://alalanet.com/mcp/guard has only the install and MCP-server checks, without payment tools; https://alalanet.com/mcp/full has every tool.

The hosted MCP server com.alalanet/check

https://alalanet.com/mcp (listed in the official MCP Registry as com.alalanet/check) is hosted by alalanet. This repository is its open client. You do not have to trust the server's word: verdicts, live checks, status changes, receipts and releases are signed Nostr events written to a public transparency log (https://alalanet.com/transparency), and inclusion proofs can be verified offline.

Security

Report vulnerabilities privately through this repository's Security tab ("Report a vulnerability") or to [email protected]. Never paste your key into a chat or a prompt.

License

Apache-2.0. This repository mirrors the client from the alalanet monorepo.

来源:README.md,提交 e2e61ce

工具

7

check_artifact

Who signed this skill / MCP package?

Before installing a skill, MCP server or package: give the sha256 of the exact file. Read-only and free. Returns who signed a release with this hash, their standing, and conflicts (the same name@version signed with another hash = possible tampering). Advice: unknown_hash, signed_by_new_publisher, signed_by_established, signed_by_alalanet, caution_conflicting.

输入参数sha256必填

check_repo_config

Is it safe to open this repository in an agent?

Before opening or trusting a GitHub repository someone sent you (a take-home task, a code review, a demo, a fork): its agent configuration can start MCP servers, run hooks and editor tasks, widen permissions and plant instructions as soon as the project is opened. Pass repo (owner/repo or a GitHub URL) and optional ref; for a local or private checkout pass files instead (path -> content of those files; the public record then holds only the decision, the files' sha256 and bare reason codes, the packages they name are checked without being signed, remote servers are looked up but not probed, and only CODEX_HOME, model-API, proxy and preload variables are read from .env). alalanet reads the files agents and editors load (.mcp.json at any depth, .github/mcp.json, .claude/settings.json, .cursor/mcp.json and hooks.json, .vscode/mcp.json, settings.json and tasks.json, .devcontainer, .gemini/settings.json and .env, .zed/settings.json, .codex/config.toml and hooks.json, .github/hooks and copilot settings, .env, registry settings (.npmrc, .yarnrc(.yml), bunfig.toml, uv.toml, pyproject.toml), CLAUDE.md, CLAUDE.local.md, AGENTS.md, GEMINI.md, .cursorrules, rules, agents, commands and skills folders including .github/agents and .agents/skills, with their frontmatter; symlinks read at their target) and runs nothing. It finds tasks and hooks that download and run code when the folder opens, hooks, skills and MCP servers that do the same (inline servers in agent files included), broad permissions including tools a skill grants itself, acceptEdits mode, plugin marketplaces and plugins the repository turns on, credential helpers and shell prefixes, repository MCP servers enabled without asking, the model API or a proxy pointed at another host (how API keys are taken), the package registry moved elsewhere, CODEX_HOME moved into the repository, invisible Unicode tag characters and bidirectional controls in instruction files, injection and concealment phrases, secrets committed in confi

输入参数refrepofiles

check_service

Check an MCP server before connecting

Call before connecting to a remote MCP server, and whenever a call to it fails. Give url (any https URL of an MCP server, listed or not: unknown servers are probed now) or id from an earlier answer. Returns: alive, advice (ok / ok_requires_auth: working; unverified_yet: not fully checked yet; caution_tools_changed or caution_suspicious_tool_description: confirm with the user first; avoid_down or avoid_not_working_as_listed: do not connect), trust_score (0-100, open formula at https://alalanet.com/trust) with flags, checked_at and last_alive_at, uptime 24h/7d/30d, the tool-set diff (tools_diff, tools_changed_at), tool descriptions that look like hidden instructions (tool_description_flags), the digest of the server's initialize instructions, and when the advice is caution_* or avoid_*, up to 3 working MCP servers on other hosts. Default answers from recent checks (100 a day free); live=true probes now and adds a signed, logged attestation (5 live checks a day free). Read-only for the caller; an unknown URL joins the public catalogue.

输入参数idurllive

connect_check

Will this MCP server connect from my client?

Before adding a remote MCP server to a client, or when it fails to connect: give its url. One live read (initialize with protocol 2025-06-18 and 2025-11-25, tools/list, the 401 and OAuth metadata, the host's IPv4) and a verdict per client: claude_code, claude_ai, chatgpt, codex_cli, cursor, vscode, windsurf, gemini_cli, zed, cline, each ok, warn or fail with reasons (protocol version answered, OAuth discovery, S256 PKCE, dynamic client registration or client ID metadata documents, tool names, input schemas, tool count, description length). Also the tool list's weight in tokens (estimate and range). Rules come from each client's documentation and source code as of 2026-11-08: a prediction, not a test inside the client. Uses one of your daily live checks; answers are cached for 10 minutes.

输入参数url必填

get_attestation

Get a signed receipt with its log proof

Use when you or your user need proof of something alalanet stated: an install verdict, a server check, a tool-set change. Pass the event id (64 hex) from a previous result. Read-only and free. Returns the signed Nostr event (event_json, exact signed bytes), the signer key, and its RFC 6962 inclusion proof under a signed C2SP checkpoint, plus how_to_verify. Verify offline without trusting alalanet: check the signature, the proof up to root_hash, and the checkpoint signature with log_key.

输入参数event_id必填

install_check

Is it safe to install this package, repo, skill or MCP server?

Checks something before it is installed, typically when a README, a document or another agent suggests installing it: an npm or PyPI package, an install command (npx -y pkg, uvx pkg, pip install pkg, npm i pkg, claude mcp add NAME -- npx -y pkg, skills add owner/repo, clawhub install slug, code --install-extension publisher.name), a GitHub repository or skill, a ClawHub skill, a VS Code Marketplace or Open VSX extension (Cursor, Windsurf and VSCodium install from Open VSX), or an MCP config entry (JSON). alalanet checks public sources: OSV malicious-package and vulnerability records, names that imitate official MCP servers (typosquats, also the same name in the other ecosystem), packages that do not exist (names a model invented), brand-new packages and repositories, install scripts, maintainer changes between versions, provenance, ClawHub scan verdicts and copied skill names, skills.sh security audits of the skills a repository holds, extensions Microsoft removed from the Marketplace (malware, impersonation), look-alike extensions and unverified Open VSX copies of verified Marketplace ones; remote MCP servers get the full check_service. Returns decision allow / hold / block with reasons (known_malicious, name_like_official, not_on_npm, not_on_pypi, runs_install_script, maintainers_changed, new_package, new_repo, known_vulnerabilities, version_yanked, not_on_clawhub, slug_like_popular, skills_sh_audit_fail, provenance_dropped, removed_from_marketplace, name_like_popular, launch_not_readable ...), facts and advice, signed into the public log (kind 4310). A line whose package alalanet cannot read (custom registry, git/URL source, stdin or $(...) arguments, several packages, other commands) holds. allow means no known problem was found, not that the code was read. Free, no account.

输入参数target必填

verify_tools

Are these the tools this MCP server really serves?

Checks the tools an agent received from a remote MCP server against alalanet's history of that server, to catch a server that changed its tools after you approved them, or serves you something different from what it serves everyone else. Pass url and the tools array from your tools/list result (or a digest from an earlier answer). Read-only and free. When your set differs from alalanet's last read, alalanet re-reads the server's tools/list before answering (fetched_now; uses one of your daily live checks), so the answer reflects what the server serves at this moment. Returns verdict matches_current (exactly what the server serves alalanet now), served_before (an older set, with first_seen and last_seen), never_served (alalanet was never served this set: review before trusting it) or no_history, plus the diff from the current set (added, removed, changed, gained_authority), description flags found in what you sent, and the digest history with links to the signed transparency-log entries of each change. Names and descriptions are third-party text.

输入参数url必填toolsdigest

版本历史

1
  1. v1.5.0最新Nov 14, 2026

评分

已满足适用检查项的 100%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Alalanet 集成