Web Intel

io.github.ArceeDevPublished by GitHub account ArceeDevv0.2.0Updated Nov 7, 2026

Web pages to clean Markdown, metadata, links, tech stack and scored SEO audits. Pay per call.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

Pay-per-call web intelligence server that turns pages into clean Markdown, metadata, links, tech stack and scored SEO audits.

What you can do
  • Read a URL and return its main content as clean Markdown
  • Extract page metadata: title, description, canonical, Open Graph, JSON-LD types, headings and image alt stats
  • List deduplicated internal and external links with anchor text
  • Detect frameworks, CMS, analytics, payments, CDN/hosting and security headers
  • Score SEO with a 0-100 grade, weighted checks and top fixes, and compare 2-5 pages
  • Show the price list and remaining credits
When to use it
Useful when an assistant needs to read web pages reliably without navigation clutter, audit or compare SEO of a page against competitors, or profile a site's tech stack. Each call costs credits, so it suits occasional research rather than bulk crawling.
Requirements
A KeyFlint license passed as KEYFLINT_LICENSE, obtained from the provider (free trial mentioned). Runs either as a remote Streamable HTTP endpoint or locally via uvx from the PyPI package web-intel-mcp. Optional settings include KEYFLINT_URL, KEYFLINT_PUBLIC_KEYS, KEYFLINT_CHECKOUT_URL, WEB_INTEL_PRICES, WEB_INTEL_MAX_BYTES and WEB_INTEL_TIMEOUT. Network access to the target pages and the billing gateway.
Before you install
Paid service: each tool call debits credits (read_url 1, tech_stack 2, seo_audit 3, compare_seo 3 per URL), and out-of-credit calls fail with a checkout link. The license key is a secret and is sent to the KeyFlint gateway for quota deduction. Fetched URLs are sent to the gateway's billing flow and the pages are retrieved by the server. WEB_INTEL_ALLOW_PRIVATE=1 disables the private-address check and is meant for tests only.

Installation

In SourceWeft

  1. Open Web Intel 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/io.github.ArceeDev%2Fweb-intel-mcp/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": {
    "web-intel": {
      "type": "http",
      "url": "https://mcp.keyflint.dev/web-intel/mcp"
    }
  }
}

README

Web Intel MCP

Agent-ready web intelligence as a pay-per-call MCP server. Licensing and credits are handled by KeyFlint (offline Ed25519 license check + credit ledger), used here only as the billing backend. Failed fetches are refunded automatically; invalid input is rejected before any debit.

ToolCreditsReturns
read_url1Main content as clean Markdown (nav, footer, cookie banners removed)
page_metadata1Title, description, canonical, lang, robots, Open Graph, JSON-LD types, H1-H3, image alt stats
extract_links1Deduplicated internal / external links with anchor text
tech_stack2Frameworks, CMS, analytics, payments, CDN/hosting, security headers
seo_audit30-100 score, A-F grade, 16 weighted checks, top 5 fixes
compare_seo3 x URLsRanks 2-5 pages (you vs competitors); only fetched URLs are billed
pricing, credits_balancefreePrice list, remaining credits

Prices are overridable: WEB_INTEL_PRICES="seo_audit=5,read_url=2".

Install

All you need is your KeyFlint license (LIC-...). The gateway URL, its public key and the checkout link have defaults.

Claude Desktop, one click: download web-intel-mcp-X.Y.Z.mcpb from the latest release, double-click it and paste your license. No terminal, no JSON.

Claude Code:

bash
claude mcp add web-intel -e KEYFLINT_LICENSE=LIC-... -- uvx web-intel-mcp

Cursor, Windsurf, Claude Desktop (JSON):

json
{  "mcpServers": {    "web-intel": {      "command": "uvx",      "args": ["web-intel-mcp"],      "env": { "KEYFLINT_LICENSE": "LIC-..." }    }  }}

Optional: KEYFLINT_URL, KEYFLINT_PUBLIC_KEYS (fetched from the gateway and cached in ~/.keyflint/keyring.json when unset), KEYFLINT_CHECKOUT_URL.

Visual cards (MCP Apps)

In Claude, ChatGPT, VS Code and Goose every paid tool and credits_balance renders as an interactive card in the chat: credit balance with a refill bar and a buy button, or a result summary (key figures, issues, table preview and credits charged). It is the ui://web-intel/card.html resource, self-contained with no network access. Other clients keep getting the same JSON as before.

Hosted mode (sellers)

Paid logic stays on your server. One process bills many buyers; each request carries the buyer's license.

bash
docker build -t web-intel .docker run -p 8080:8080 \  web-intel

Buyers connect to https://<host>/mcp (Streamable HTTP, stateless) with Authorization: Bearer LIC-... (or X-License-Key). Missing or forged licenses get -32060.

Billing flow per call

  1. URL validated (http/https only). Bad input: error, nothing charged.
  2. Offline Ed25519 license check (keyflint-verify), cached 60 s.
  3. POST /api/v1/quota/deduct with a fresh idempotency key. Out of credits: -32062 with the checkout link.
  4. Fetch + analysis. If anything fails: POST /api/v1/quota/refund (same key), the client gets isError.

Safety

Requests to private, loopback and link-local addresses are refused (checked on every redirect hop), responses are capped at 3 MB (WEB_INTEL_MAX_BYTES), 15 s timeout (WEB_INTEL_TIMEOUT), max 5 redirects. WEB_INTEL_ALLOW_PRIVATE=1 disables the address check (tests only).

Tests

End-to-end with a fake KeyFlint quota gateway, locally signed licenses and a local test site (no network needed):

bash
pip install -e ".[test]"python -m pytest -q

License

Business Source License 1.1. Source available; production use needs a KeyFlint license (or must be non-commercial). Each version becomes Apache 2.0 four years after release. See LICENSE.

Source: README.md at commit 1661078

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. v0.2.0LatestNov 7, 2026

Score

75% 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

    Declare a license in the repository or the registry entry.