Skip to main content
Glama
Asklear

Asklear Browser MCP

Official
by Asklear

Asklear Browser MCP

Local browser collection gateway for Asklear — a stdio MCP server that drives your Chrome browser via the Asklear extension.

Page content and login state never leave your computer. All browser operations run locally; the Asklear service never sees your cookies, credentials, or page data.

What you get

Six browser tools, usable from any MCP-compatible agent (Claude Code, Codex, WorkBuddy, Trae, …):

Tool

Purpose

navigate

Open a URL in a background tab

observe

Snapshot the current page's accessibility tree

click

Click an element

fill

Type into an input

scroll

Scroll the page

extract

Extract structured text/markdown from the page

Related MCP server: Browser Jet Pilot

Install

uv tool install git+https://github.com/Asklear/asklear-browser-mcp.git

Or, if you prefer pip:

pip install git+https://github.com/Asklear/asklear-browser-mcp.git

Configure

Add this to your MCP client configuration:

{
  "mcpServers": {
    "asklear-local": {
      "command": "asklear-browser-agent",
      "args": []
    }
  }
}

Prerequisites

  • Google Chrome installed

  • macOS, Windows, and Linux are supported

  • Asklear Chrome extension installed and bound to your account

  • Verify: curl http://127.0.0.1:8765/health{"extension_connected": true}

How it works

Agent (Claude Code / Codex / …)
  │ stdio JSON-RPC
  ▼
asklear-browser-agent (this package)
  │ probe / call over loopback HTTP (127.0.0.1:8765)
  ▼
asklear-browser-connector (independent background daemon)
  │ WebSocket
  ▼
Asklear Chrome extension → your Chrome tab

The first browser tool call starts the Connector in the background when it is not already running. A second Agent reuses the same loopback daemon; its session is isolated by session_id. When an Agent exits, the Connector stays running for the next Agent.

The daemon keeps only local runtime state under ~/.asklear/browser-connector/:

  • connector.pid — current process ID

  • connector.log — daemon output

  • process-token-* — a private local process token

You normally do not need to manage it. For troubleshooting, the same package provides:

asklear-browser-connector start
asklear-browser-connector status
asklear-browser-connector stop
asklear-browser-connector restart

start and the automatic start path do not need an API key or OAuth. The token is read from the private local state file and is never put in the command line.

Two connections, one Asklear

This package provides browser collection only. For data queries (JD/Tmall/PDD/Douyin market data), use the hosted Asklear MCP:

Connection

Purpose

Transport

asklear

Data queries, market research

Remote HTTP (OAuth)

asklear-local (this package)

Browser collection, page extraction

Local stdio

Both can coexist. Your agent picks the right tool automatically.

License

Apache-2.0. See LICENSE.

Available Tools

6 tools
clickC

Run the local Chrome browser click operation. Page results stay local to the Agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
session_idYes
element_refYes
snapshot_idYes

TDQS

C2.4/5.0
Behavior2/5

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

With zero annotations provided, the description carries the full burden of behavioral disclosure. It mentions that 'page results stay local to the Agent,' which hints at scope isolation, but doesn't disclose whether the click navigates the page, triggers async events, requires snapshot freshness, or can fail (e.g., stale element). The non-empty sentence adds one useful behavior detail but is insufficient.

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?

Two short sentences with the operation front-loaded. The phrasing 'Run the...operation' is slightly indirect but efficient. The second sentence is a single behavioral note. No wasted words, though the 'local' repetition ('local Chrome' and 'local to the Agent') is redundant.

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

Completeness2/5

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

With no output schema, no annotations, and four parameters with 0% schema coverage, the description should compensate significantly but doesn't. Missing details: what the click does (navigation? form submission?), return values, error behavior, prerequisites like valid session/snapshot, and whether clicking may trigger side effects. The description is too thin for real-world invocation safety.

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

Parameters2/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, but it explains none of the four parameters. The names session_id, snapshot_id, and element_ref suggest their roles, but request_id is entirely unexplained among three required params. The description adds zero parameter meaning beyond the schema.

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 the tool performs a click operation in a local Chrome browser, which is a clear verb+resource combination. However, it doesn't differentiate from siblings like fill, scroll, or navigate beyond the generic notion of clicking — the scope (what element, what outcome) is implied rather than specified.

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

Usage Guidelines2/5

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

The description provides no guidance on when to invoke this tool versus alternatives like navigate, fill, or scroll. It mentions the local browser context but offers no exclusions, prerequisites, or selection criteria to help an agent choose it over siblings.

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

extractC

Run the local Chrome browser extract operation. Page results stay local to the Agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
session_idYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states that 'Page results stay local to the Agent.' It does not disclose whether extraction mutates browser state, requires authentication, how failures surface, or what the output shape is — a significant gap for a tool with zero annotation coverage.

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?

Two sentences with no filler; the purpose statement is front-loaded and the locality caveat is a useful second beat. Efficient prose overall, though the brevity edges toward under-specification, which is penalized in other dimensions rather than here.

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

Completeness2/5

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

Given no output schema, no annotations, and 2 params at 0% coverage, the description must compensate for all missing context but does not. An agent cannot determine what the tool returns, how to format the required session_id, or what side effects (if any) extraction has on the browser session — leaving it incomplete for a mutating browser operation.

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

Parameters1/5

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

Schema description coverage is 0% and the description references neither parameter. session_id is required but its meaning (how to obtain it, what session it refers to) is completely unexplained, and request_id is equally opaque. The description adds zero value over the bare schema, which itself provides no semantics.

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?

'Run the local Chrome browser extract operation' clearly ties the verb (extract) to a resource (local Chrome browser), and the sibling set (navigate, observe, click, fill, scroll) makes it distinct as the data-pulling tool. However, it stops short of specifying what kind of extraction happens (DOM text, attributes, structured data?), so it's clear but not fully precise.

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

Usage Guidelines2/5

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

No guidance is given on when to use extract versus observe (which could also retrieve page data), nor are prerequisites stated — e.g., whether the agent must first call navigate to establish a session. The lone phrase about results staying local hints at context but provides no when/when-not direction.

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

fillD

Run the local Chrome browser fill operation. Page results stay local to the Agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
request_idNo
session_idYes
element_refYes
snapshot_idYes

TDQS

D1.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry all behavioral disclosure. The only hint is 'Page results stay local to the Agent,' which is vague and could be interpreted in multiple ways (e.g., no server submission, local state only?). It fails to disclose common aspects like whether the fill triggers events, overwrites existing values, or requires focus.

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

Conciseness2/5

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

The description is concise (two sentences) but not effective. The first sentence is redundant with the tool name, and the second adds little actionable information. It is under-specified rather than efficiently written.

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

Completeness1/5

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

Given 5 parameters, no schema descriptions, no output schema, and no annotations, the description is severely incomplete. It omits return values, error conditions, side effects, and any usage context, making it impossible to invoke correctly without additional external knowledge.

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

Parameters1/5

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

With schema description coverage at 0%, the description must clarify meaning for parameters like element_ref, snapshot_id, and value. The description does not mention any parameters or how they relate to the operation. This is a critical gap.

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

Purpose2/5

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

The description says 'Run the local Chrome browser fill operation,' which largely restates the tool name ('fill'). It does not clearly specify that this tool populates a form field or input element with a given value. The phrase 'Page results stay local to the Agent' hints at some scope behavior but does not clarify the core purpose.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus sibling tools like click, navigate, or extract. No prerequisites, when-to-use, or alternatives are mentioned, leaving the agent without context for appropriate invocation.

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

observeC

Run the local Chrome browser observe operation. Page results stay local to the Agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
session_idYes

TDQS

C2.4/5.0
Behavior3/5

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

The description adds one useful behavioral note that page results stay local to the Agent, which is valuable privacy-related context. However, it does not disclose whether the operation is read-only, any side effects, or the nature of the results, so the core behavior remains largely opaque.

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

Conciseness3/5

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

The description is a single, non-redundant sentence, but it is so terse that it under-specifies the tool. It is concise but not appropriately sized for the information needed, bordering on under-specification rather than efficient clarity.

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

Completeness2/5

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

For a browser automation tool with siblings and no output schema, the description should clarify what output 'observe' produces and when to use it. It offers no detail on return values, side effects, or session requirements, making it difficult to invoke correctly in practice.

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

Parameters1/5

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

The schema has two parameters (request_id and session_id) with zero description coverage, and the tool description does not explain either. Session_id is required but its meaning must be inferred from the name; request_id is entirely unexplained. The description fails to compensate for the lack of schema detail.

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 identifies the action as running an 'observe operation' on the local Chrome browser, but does not specify what observing entails (e.g., snapshot, accessibility tree, page state). It distinguishes itself from siblings only by the name 'observe', not by the description's content.

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

Usage Guidelines2/5

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

No guidance is provided on when to use observe versus alternatives like extract or click. There are no prerequisites, exclusions, or typical use cases, leaving the agent to infer when this tool is appropriate.

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

scrollB

Run the local Chrome browser scroll operation. Page results stay local to the Agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
pixelsYes
request_idNo
session_idYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions 'results stay local' which is a useful behavioral note (probably indicating side effects or data handling). However, it does not describe the return value, error behavior, or how scrolling works (e.g., it might scroll a specific element or the whole page). The description also doesn't mention any prerequisites or side effects, which is a gap for a tool that likely mutates the browser state.

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 a single concise sentence that conveys the essential purpose. It is front-loaded with the verb and resource. It includes a unique detail about locality. No fluff, but it could include a bit more detail without becoming verbose. The structure is effective for a simple tool.

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?

The tool is relatively simple (scroll operation) with a small schema. The output schema is absent, so the description should ideally mention what the tool returns (e.g., a confirmation, the new scroll position) and provide usage context. Given the complexity, the description is adequate but misses details about the return value and how the scrolling is applied (e.g., vertical vs horizontal). Since there are no annotations and no output schema, the description could be more complete.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate for the undocumented parameters. However, the description does not mention any parameters. It only says 'scroll operation', which implies the 'pixels' parameter controls the scroll amount, but that is not explicit. The description adds almost no semantic meaning beyond the schema names, so it fails to help the agent understand the meaning of 'pixels' or 'session_id' in context. Since it doesn't compensate, the score is low, but the schema itself is relatively clear (e.g., pixels has min/max), so a 3 is given because the tool is simple.

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?

The description clearly states the tool performs a 'scroll' operation in the local Chrome browser session, which is a specific verb+resource. It also adds a key detail that results stay local to the Agent, which is unique and distinguishes it from other browser actions like navigate or click. However, it does not explicitly contrast with siblings, but the purpose is still very clear.

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 the tool is used to scroll within the current browser session, based on the phrase 'local Chrome browser scroll operation'. It does not explicitly state when to use it versus alternatives (e.g., when you need to scroll vs. observe or click). No exclusion or alternative is mentioned, so it provides basic context but lacks explicit guidance.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedclick
    • First observedextract
    • First observedfill
    • First observednavigate
    • First observedobserve
    • First observedscroll

TDQS

C2.8/5.0
Disambiguation4/5

Each tool maps to a distinct browser action (navigate, observe, extract, click, fill, scroll), but 'observe' and 'extract' could overlap in purpose—observe might imply page state while extract implies data retrieval. The identical description phrasing doesn't help clarify boundaries.

Naming Consistency5/5

All tool names are single lowercase verbs with no prefixes or suffixes, creating a perfectly uniform naming pattern. This is internally consistent even though it doesn't follow a verb_noun structure.

Tool Count5/5

Six tools is a well-scoped set for a browser automation server, covering the essential actions without being overwhelming. Each tool earns its place in the minimal set.

Completeness4/5

The core browsing lifecycle (navigate, interact, fill, scroll, extract, observe) is covered, but common operations like wait, reload, or go_back are missing, which agents may need for robust workflows. Still, the current surface is functional for basic tasks.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • 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.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Standalone browser automation MCP server supporting both BrowserOS and standard Chrome. Enables 16 MCP tools for browser control including navigation, interaction, and content extraction.
    27
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Local browser automation MCP server for Claude Code, enabling navigation, clicking, typing, and inspecting real web pages via Google Chrome.
    15
    1
    MIT

Latest Blog Posts

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/Asklear/asklear-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server