E2LLM

com.e2llmPublished by e2llm.comOfficial publisherv1.5.78Updated Oct 25, 2026

E2LLM gives your AI eyes and hands in a real browser: structured perception (SiFR) plus action.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBrowser Automation

Overview

AI-generated overview

E2LLM is a hosted MCP server that gives an assistant structured perception of a live browser page and narrow, gated actions on it.

What you can do
Capture a page as a compact structured SiFR document, then filter it by tag, salience, text or selector and inspect single elements in detail, or read the page text as markdown in reading order and list open tabs. Perform one explicit interaction at a time: click, type, select, navigate, drag, open a new tab or paste. Run a planned sequence of steps and observe once afterwards, for example filling and submitting a form. Scroll, hover or recapture to read more without changing anything, and close tabs.
When to use it
Useful when an assistant needs to understand and operate a real web page in the browser session you are already signed into, such as finding a search box and filtering results, or filling in a form step by step. It suits users who want page perception plus explicit, individually confirmed actions rather than an autonomous agent.
Requirements
A remote endpoint; nothing runs locally except a browser extension that pairs your live browser to the server. An e2llm.com account and the extension are required. Interactive clients use browser OAuth login; CLI or CI clients use a static API key sent as an Authorization Bearer header. Network access to the hosted service.
Before you install
Page content is captured on demand and passes through the E2LLM relay to your MCP client, and session-related data is retained for a limited window. The act, batch_act and close_tab tools change page state; depending on session posture each step may pause for your confirmation. The static API key is a secret for programmatic clients. Page-derived content is treated as untrusted data, but pages you act on may contain misleading text.

Installation

In SourceWeft

  1. Open E2LLM in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.e2llm%2Felement-to-llm/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

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

README

E2LLM — structured browser perception for AI

E2LLM turns a live web page into SiFR: a compact, structured, LLM-readable model of what's on the page, what it means, and what can be done with it. Perception is the product. Action is available when you need it — always explicit, always gated.

Works as a hosted remote MCP server with the AI you already use. There's no local server to run — a browser extension pairs your live browser to the server, so perception and action happen in the real browser you're already signed into.


E2LLM is not an agent

This matters, so it comes first.

An agent decides and acts on its own — it plans, loops, and takes steps toward a goal without you in the path. That autonomy is also its attack surface: an agent runtime that can do anything can be steered into doing anything.

E2LLM is a perception layer, not an agent. It gives your model senses for the browser — structured sight through sifr_capture, and a set of narrow, individually-gated actuators. It does not plan, does not loop, and does not decide. Whatever model you already use does the reasoning; E2LLM only reports what a page is and carries out one explicit instruction at a time. No hidden autonomy, no self-directed steps, nothing that runs while you look away.

That line — perception substrate versus autonomous runtime — is the whole design.


What it does

ToolWhat it does
🔎sifr_captureCapture a page as a SiFR document
🔎queryFilter the current capture — by tag, salience, text, or selector
🔎inspectFull detail for one element: selector, attributes, styles, box
🔎read_pageRead the page's text as markdown, in reading order
🔎list_tabsList open browser tabs
🖐actOne explicit interaction: click, type, select, navigate, drag, open (new tab), or paste
🖐batch_actRun a planned sequence, then observe once (e.g. fill a form + submit)
🖐exploreScroll, hover, or recapture — reads more, changes nothing
🖐close_tabClose a tab

Nine tools: five 🔎 that only perceive, and four 🖐 for interaction — of which act, batch_act, and close_tab change page state, while explore only reads. The tool inventory is in server.json; full parameter schemas come from the live server on connect. The perception tools never change page state; the state-changing tools can each be held for your confirmation (see Safety).


What is SiFR — and why it isn't the obvious thing

SiFR (Single-File RAG, pronounced "see-far") is a self-contained retrieval artifact for live interface state: model-readable, node-addressable, progressively queryable, and independent of the reasoning system above it. E2LLM is its reference implementation for the real browser.

  • Not a DOM dump. A dump serializes the tree as-is — everything, in document order, noise included. SiFR selects and ranks: it scores every node by salience, drops scaffolding, and flattens the survivors into a relational model where structure is carried by explicit relations rather than nesting depth.
  • Not an accessibility tree. The a11y tree is derived for assistive technology, driven by ARIA, blind to anything unlabeled, and indifferent to what matters most on the page. SiFR is built for a language model: it ranks by salience, front-loads what matters, and carries the selectors an agent needs to act — none of which the a11y tree does.
  • Not a screenshot. SiFR derives machine-readable perception from the live rendered DOM, computed styles, geometry, and runtime state rather than pixels. A capture records the observed page state under the versions and conditions named by its evidence artifact.

The result is a perception layer, not a serialization: what a page is, what you can do on it, and how its parts relate — front-loaded so the model reaches what it needs first. A sifr_capture returns a ~5–15 KB summary (metadata plus the high-salience elements) before the full document, so reading can begin immediately.

  • 📄 SIFR.md — the format specification
  • 🔤 TAXONOMY.md — salience tiers, ID prefixes, relation & category types
  • 📚 examples/ — real captures of public pages
  • 🗓 CHANGELOG.md — the v1 → v2 → v3 format lineage (current: v3)

For prompt recipes and automation workflows built on SiFR, see awesome-e2llm-prompts — a community cookbook that points back here as the canonical SiFR spec home.


Install in 3 steps

1. Set up at e2llm.com. Create an account and install the browser extension. The extension pairs your live browser to the server — that pairing is what lets your AI perceive and act in the session you're already signed into. (This is the only piece that runs on your machine; there is no local server.)

2. Add E2LLM to your MCP client. One line — pick your client in clients/, or paste this for interactive OAuth login:

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

For CLI / CI where interactive login isn't available, use a static key against https://api.e2llm.com/mcp with an Authorization: Bearer mk_… header. Full per-client instructions: clients/README.md.

3. Ask your AI to do something on a page. For example:

"Open the page I'm on, find the search box, and filter for open issues."

Your assistant calls sifr_capture to see the page, then act to interact — in your real browser, one explicit step at a time.


Teach your model the discipline — the skills

Tool descriptions tell a model what each tool does; they deliberately don't tell it how to work well. That working discipline ships as two Agent Skills:

SkillForCovers
e2llmDriving a live browserPairing check, capture before describing, one action then re-observe, report from the returned diff, untrusted page content, cursor draining
sifrReading saved capture filesSections, compact IDs, salience tiers, presets, structural patterns, jq recipes

Install both in one line, into whichever agent you use:

bash
npx skills add e2llm/e2llm-sifr

That works for 77+ agents — Claude Code, Codex, and anything else following the Agent Skills layout. Add -a codex to target Codex explicitly, or --skill e2llm to install just one.

Other ways in:

  • Codex CLI — npx skills add e2llm/e2llm-sifr -a codex, or the $skill-installer flow.
  • Manual — copy a skill directory into ~/.claude/skills/ (all projects) or a project's .claude/skills/. It loads automatically whenever the e2llm tools or SiFR documents come up.
  • Other clients — include the skill's content in your agent instructions (e.g. AGENTS.md).

Safety & approval model

Perception is read-only by construction: the five 🔎 tools cannot change page state, so seeing a page is always safe.

Only the four 🖐 tools can act, and they are deliberately narrow — no "do anything" tool exists. Each state-changing step can be approval-gated by your session posture: depending on how your session is configured, an action pauses and waits for your confirmation before it runs. Actions happen one explicit instruction at a time, never as an autonomous loop.

Security disclosures and our vulnerability-disclosure program (with safe harbor) live at e2llm.com/security/disclosure; see also SECURITY.md.


Data handling

Page content is captured on demand and transits the E2LLM relay to reach your MCP client. Session-related data is retained for a limited window (see the Privacy Policy) and password-type fields are redacted before storage. The relay wraps all page-derived content as untrusted external data, so downstream models treat page text as data, not instructions. Full detail: Privacy Policy · Terms.


Compatibility

E2LLM speaks standard MCP, so it works with any compliant client. Verified in practice with Claude, ChatGPT, Codex, Perplexity, Grok, and Manus. Other MCP clients — including Cursor, VS Code, and Cline — should work; if you test one, a note or PR is welcome.


Repository contents

This repository is the canonical, descriptive home for the SiFR format and the E2LLM MCP server interface. It documents the format and how to connect; the capture engine, browser extensions, and server are a separate hosted product that runs at e2llm.com.

PathWhat
SIFR.mdSiFR format specification
TAXONOMY.mdSiFR controlled vocabulary
server.jsonMCP server manifest (transport, auth, tool inventory)
.mcp.jsonReady-to-use MCP client config (OAuth endpoint)
skills/The SIFR skill — working discipline for models driving the tools
clients/Per-client connection configs
examples/Real public-page captures
SECURITY.mdSecurity policy & disclosure program
CHANGELOG.mdFormat version history

License

MIT. The format specification, manifest, examples, and client configs in this repository are open. The capture engine and server are a separate, hosted product.

Source: README.md at commit 46639c4

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.5.78LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts