Skip to main content
Glama

NodeLane Act

让 AI 通过用户已登录的浏览器操作网站。一个 MCP 连接,按需发现站点能力,返回适合 AI 阅读的精简内容,无需复制 Cookie 或配置网站 API Key。

官网 · 下载 · 安装说明 · MIT 许可证

支持的网站

网站

主要能力

知乎

推荐、搜索、问题与回答、文章、评论、收藏及发布互动

Reddit

推荐、搜索、社区、帖子与评论、收藏及发布互动

WhatsApp Web

会话与消息、联系人、群组、社群、频道和动态

X(Twitter / 推特)

推荐首页、搜索、趋势、通知与未读计数、聊天、发帖回帖及互动

以上为当前源码的适配范围,下载包以对应版本为准。具体操作与参数由 site.discover 按需提供,部分能力取决于网站权限和登录状态。

Related MCP server: Chrome MCP Server

快速开始

需要 Node.js 22+、Chrome 或 Edge 120+。MCP 与浏览器须运行在同一台电脑上;当前主要在 Windows 上验证。

  1. 官网下载页获取浏览器扩展并解压到固定目录。

  2. 打开 chrome://extensionsedge://extensions,启用「开发者模式」,选择「加载已解压的扩展」,选中包含 manifest.json 的目录。

  3. 为 AI 客户端添加 MCP 服务,然后保持浏览器运行并登录要操作的网站。扩展会自动连接。

Codex:

codex mcp add nodelane-act -- npx -y --package=https://act.nodelane.net/downloads/nodelane-act-0.2.0.tgz nodelane-act

Claude Code:

claude mcp add --transport stdio --scope user nodelane-act -- npx -y --package=https://act.nodelane.net/downloads/nodelane-act-0.2.0.tgz nodelane-act

上述命令使用官网发布包。其他客户端配置、ZIP 和 MCPB 安装方式见安装说明

使用

连接后,直接向 AI 描述任务,例如:

  • “查看知乎推荐的前 5 条,只给标题、摘要和来源链接。”

  • “在 Reddit 搜索自托管相关讨论,展开最相关帖子的评论。”

  • “查看 X 首页推荐,同时告诉我通知和聊天的未读数量。”

  • “查看 WhatsApp 的未读会话,整理需要回复的消息。”

MCP 只暴露三个工具,站点操作按需发现:

工具

用途

site.context

选择或打开网站标签页,获取目标标识

site.discover

查找站点能力与操作参数

site.execute

执行操作或继续读取结果

列表默认返回少量条目与摘要,保留来源链接,支持分页和按需展开正文。X 的 home 可一次返回推荐、趋势、账号及未读计数。发帖、回复和消息发送按用户指令执行;结果不确定的写入不会自动重试。

从源码运行

git clone https://github.com/Wy2926/nodelane-act.git
cd nodelane-act
npm ci
npm run build

dist/extension 加载到浏览器,并将 node <项目绝对路径>/dist/server/index.js 配置为本地 stdio MCP。修改扩展代码后需重新构建并重新加载扩展。

开发、测试和打包见贡献说明,新增网站见适配包开发说明,安全边界见安全说明

Available Tools

3 tools
site.contextA

List browser targets with opaque targetIds. With a site or supported URL, automatically open a tab if missing; set openIfMissing=false for a pure lookup. Never replaces existing tabs. Returns no page bodies or credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
siteNo
openIfMissingNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavior beyond the annotations: it discloses auto-open semantics, that existing tabs are never replaced, and that credentials/page bodies are not returned. These are substantive traits that the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) do not convey. It could mention rate limits or side effects more explicitly, but the coverage is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly written sentences, each adding distinct information: what the tool does, how openIfMissing changes behavior, and safety boundaries. Zero waste, front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-param, no-output-schema tool with annotations covering safety traits, the description is complete enough: it covers the core action, the optional open behavior, and the non-return of sensitive data. It omits explicit notes on return shape or error conditions, but nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all 3 parameters, so the description must compensate. It explains the behavior of openIfMissing and the roles of site/url ('with a site or supported URL'), adding meaningful semantics beyond the raw schema. Some ambiguity remains (e.g., what 'supported URL' means), but it is effective.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List browser targets') and explains what the targetIds are (opaque). It clarifies the resource but does not distinguish itself from site.discover or site.execute, so it falls short of the 5 that requires sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear behavioral rule ('set openIfMissing=false for a pure lookup') that informs usage, and it states scope ('with a site or supported URL'). It lacks explicit when-to-use-this-vs-alternatives guidance against the sibling tools, but the openIfMissing toggle is a concrete usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site.discoverA
Read-only

Discover installed sites or relevant operations. site alone returns a compact catalog; site+query returns matching schemas; site+operation returns one exact schema. No unrelated website schemas are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
siteNo
limitNo
queryNo
offsetNo
operationNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false). The description adds the scoping behavior 'No unrelated website schemas are returned' plus the three output modes, which is useful context beyond annotations. It doesn't cover pagination (limit/offset) or result ordering, so it's not richer than a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose then mode behavior. The 'No unrelated website schemas are returned' clause is a deliberate scoping guarantee that earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should carry return-value information; it names the three conceptual return shapes (compact catalog, matching schemas, one exact schema), which is helpful. But pagination and two parameters are unexplained, and the sibling routing is missing, leaving notable gaps for a 6-param discovery tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the meaning of 'site', 'query', and 'operation' through the mode combinations (site alone, site+query, site+operation). It leaves 'url', 'limit', and 'offset' undocumented, but is otherwise the only source of parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Discover) and resource (installed sites / relevant operations), and explains the output varies by combination. It doesn't directly differentiate from siblings site.context and site.execute, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when each mode is used (site alone = catalog, site+query = matching schemas, site+operation = exact schema), which gives implied usage. However, it never names the alternatives (site.context, site.execute) or states when to use this versus them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site.executeB
Destructive

Execute a discovered operation on a targetId using its exact args schema. User-authorized writes execute directly in the browser. Pass returned pagination args for the next website page. For cached oversized output pass only resultId, offset and maxChars, which never repeats an operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNo
offsetNo
maxCharsNo
resultIdNo
targetIdNo
operationNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already disclose that the tool is not read-only, is open-world, and is destructive. The description adds useful context by clarifying that writes are user-authorized and execute directly in the browser, and that caching avoids repeating operations. It stops short of detailing permission requirements, side effects of different operation types, or error behavior, so it adds moderate value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three tight sentences that front-load the core action and then cover pagination and cached output. Every sentence contributes, though the cached-output sentence is slightly dense; overall it is efficient with no obvious filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero schema coverage, no output schema, and a complex multi-use tool with annotations, the description covers the main operational modes but omits details about what operations are discoverable, how args map to specific operations, and any error or permission handling. It is adequate but leaves clear gaps for an agent to call correctly in all cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description compensates by explaining key parameter semantics: targetId identifies the target, args must match the operation's exact schema, and resultId with offset/maxChars is used for cached output. It does not describe the 'operation' parameter's expected values or constraints, but overall adds substantial meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('execute') and resource ('discovered operation on a targetId'), which distinguishes it somewhat from siblings like site.discover and site.context. However, 'a discovered operation' is vague without explaining what operations are available or how they are obtained, leaving the exact purpose slightly nebulous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for writes ('User-authorized writes execute directly in the browser') and for pagination ('Pass returned pagination args') and cached output ('for cached oversized output pass only resultId, offset and maxChars'). Yet it does not explicitly state when to use this tool versus the siblings site.discover or site.context, or when not to use it, leaving the routing guidance incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.2.0
    • First observedsite.context
    • First observedsite.discover
    • First observedsite.execute

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool serves a distinct phase: site.context manages browser targets, site.discover retrieves operation schemas, and site.execute performs operations. The descriptions clearly delineate their roles, leaving little room for confusion.

Naming Consistency4/5

All tools use a consistent 'site.' prefix and lowercase dot notation, but site.context is a noun while the others are verbs, a minor deviation from a uniform verb-based pattern.

Tool Count5/5

Three tools are well-scoped for a meta-execution model: one to establish context, one to discover available operations, and one to execute them. This minimal surface avoids redundancy and each tool earns its place.

Completeness4/5

The set covers the core workflow of target selection, schema discovery, and execution, but lacks explicit tools for tab management (e.g., closing tabs) or direct page state inspection, which are minor gaps agents might work around via discovered operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Open-source MCP server that gives AI agents access to 100+ web applications through the user's authenticated browser session. No API keys, no screenshots, no DOM scraping — talks directly to web app internal APIs via a Chrome extension. Supports Slack, Discord, GitHub, Jira, Notion, Reddit, X, and 100+ more services with ~2,000 tools. Works with Claude Code, Cursor, Windsurf, and any MCP client.
    42
    933
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation, and network monitoring directly within your daily Chrome environment.
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An extension-based MCP server that enables AI assistants to control your existing Chrome browser, leveraging your active login states and settings for automation. It provides over 20 tools for tasks like semantic tab search, screen capture, network monitoring, and direct element interaction.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that enables AI tools to control local browser sessions for ChatGPT, Claude, and other AI services, supporting querying, navigation, file uploads, and artifact management.
    43
    550
    Mozilla Public 2.0