web3ctx

io.github.FarseenShPublished by GitHub account FarseenShv1.0.0Updated Nov 2, 2026

Version-true web3 docs, ABIs and human-validated integration recipes over MCP.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Remote, keyless MCP server that gives an assistant version-pinned web3 documentation, ABIs, deployment addresses, EIPs and human-validated integration recipes.

What you can do
  • Search the indexed web3 corpus with ranked, version-scoped results, including validated integration recipes when one applies
  • Look up exact identifiers across the corpus
  • Fetch full bodies by stable selector, with cursor paging for long content
  • Trace dependency closures around a selector, stepped by depth
  • Retrieve typed records such as deployment addresses, ABIs and EIPs, or an explicit not-found answer
When to use it
Useful when an assistant helps with web3 integration work and needs contract addresses, ABIs, EIP/ERC details or step-by-step recipes that are pinned to a specific project version and cite re-fetchable commits, rather than answers from general model memory.
Requirements
A remote HTTP MCP endpoint; no API key or signup is needed for the free read tier. Any MCP client that supports remote HTTP servers can connect. An optional CLI and Claude Code skill are offered separately.
Before you install
Read-only lookup and retrieval tools; no writes or transactions are performed. Returned content is excerpted from third-party open-source repositories under their own licences, and the README notes one recipe cited an archived repository, so verify citations and commit pins before relying on a recipe. No refresh cadence is claimed, so check the as_of dates.

Installation

In SourceWeft

  1. Open web3ctx in the dashboard and add it to a workspace.
  2. 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.FarseenSh%2Fweb3ctx/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.

{
  "mcpServers": {
    "web3ctx": {
      "type": "http",
      "url": "https://mcp.scarai.xyz/mcp"
    }
  }
}

README

web3ctx

The last mile before your agent signs.

Human-validated, chain-run web3 integration recipes, served version-true over MCP.

[integration projects 632] [specification ids 1,193] [units 1.35M] [recipes 26 · human-run] [endpoint live] [access free · no key]

Five tools

toolwhat it does
web3_searchranked, version-scoped units — plus the human-validated recipe when the question earns one
web3_grepexact identifier lookup across the corpus
web3_fetchfull bodies by stable selector, cursor paging for long content
web3_depsdependency closure, stepped by depth
web3_lookuptyped records — deployment addresses, ABIs, EIPs — or an honest NOT_FOUND

A real answer

“how do I bridge USDC with CCTP” — one call to the authless endpoint, 2026-08-28:

json
{  "intent": "lookup",  "recipe": {    "project_id": "cctp",    "version": "2",    "recipe_type": "usdc-bridge-send",    "last_validated": "2026-08-07",    "validated_by": "farseen (github: FarseenSh)",    "receipts": {      "validated_on": "2026-08-07",      "validated_by": "farseen (github: FarseenSh)",      "checks": [        "attest",        "test"      ],      "chains_exercised": [        "base-sepolia",        "arbitrum-sepolia"      ],      "on_chain": [        {          "kind": "txHash",          "hash": "0xd4b4e6395f52ad726dd6062e7a7ec47a2d3a7875d36f20fbb154cde756a3d0f5",          "role": "approve",  // … 207 more lines — the receipts, the  // validated recipe body, and ten citations each pinned to a commit or an exact package version.

The whole response is 26,191 bytes (sha256 bc58a9feba1f6309…) and it publishes byte-for-byte: evidence/showcase/cctp-search.json. Diff it against your own call.

Why this exists

It does not get fooled by a wrong premise. Ten questions built on premises verified false before the run — an archived repo, a renamed package, a version that does not exist. web3ctx was deceived 0 of 10; every other arm was deceived at least once (1–3 of 10). 🔴 Our own intent=integrate row was deceived once, and it publishes here beside the other: a stray line in one recipe cited an archived repository. The ten traps and every arm’s answer →

Citations you can re-fetch. Every unit carries project@version and a URL pinned to a 40-character commit: 142 of 144 across the audited payloads, against ~0 for every tool compared. The audit protocol →

When it does not know, it says so. Asked about eight projects it does not index, it declines all eight and names what would resolve each one. Competitors answer most of them. ⚠ Zero confabulated rows anywhere, including ours — that column separates nobody, and it is reported rather than claimed as an advantage. Abstention honesty →

The recipes are the moat. Each one was run by a human against live chains and ships with the transaction receipts, so anyone can check the claim by RPC rather than trusting the stamp.

Freshness, stated honestly

Every unit carries as_of — the committer date of the commit we pinned — and a citation that resolves to an immutable, re-fetchable reference. Rebuilds are dated events, stamped into corpus_version and visible on the coverage page along with when the index was last loaded. 🔴 No refresh cadence is claimed anywhere, because we could not keep one. A 2020 date on an archived repository is not staleness — it is the newest thing upstream ever published. Per-project dates and coverage →

Quickstart

bash
claude mcp add --transport http web3ctx https://mcp.scarai.xyz/mcp
json
{ "mcpServers": { "web3ctx": { "type": "http", "url": "https://mcp.scarai.xyz/mcp" } } }

Cursor, Windsurf, Zed and any MCP client: add the same URL — https://mcp.scarai.xyz/mcp — as a remote HTTP server. No key, no signup — the free tier is the read path and always will be.

Claude Code Skill — the same door with the escalation ladder and the two reading rules built in (~100 tokens idle): npx skills add FarseenSh/web3ctx, or copy skills/web3context/ into .claude/skills/.

CLI — the same five primitives outside an MCP client, same wire, same payload contract: npx web3ctx lookup eip 4337, or npm i -g web3ctx (npm). It prints what the server returned and reshapes nothing.

How a question is answered

[The web3ctx serving path — interactive architecture map]

Open the interactive map → — hover any component, trace routes, play the three guided views.

Resolve entities → bind or ABSTAIN the version from evidence → filter by SQL predicate, rank with BM25 within → budget-true payload, citations before bodies. Deterministic end to end — no model on the serving path.

The evidence

This repository carries every measurement behind the claims above — including the experiments that failed, the gates we did not clear, and the corrections to things we published wrong. Competitor payload bytes are withheld by rule; their protocol, hashes and counts are all here, so any count can be re-run against the live tools.

Read the evidence → · overview · evals · coverage — is your stack in there? · who runs it, and what it logs · architecture

Licensed MIT (code and site) and CC BY 4.0 (the evidence documents) — why there are two. Every unit the server returns is an excerpt of a third-party open-source repository, served under its own licence with a commit pin.


632 integration projects + 1,193 specification ids (609 ERC + 583 core EIP + 1 in both repos) = 1,825 total · 1,346,624 units · 26 human-stamped recipes. Every number on this page is read from the live database at publish time; none is typed.

Source: README.md at commit b3c573c

Tools

5

web3_lookup

Look up a typed record

Typed records by id: address, ABI, EIP. Does not search prose or rank.

Parametersidrequiredkindrequiredchainprojectversion

web3_grep

Exact identifier match

Exact lexical match on a known identifier. Does not rank semantically.

Parameterslimitpatternrequiredprojectversion

web3_deps

Dependency closure

Dependency closure around a selector. Does not follow calls across projects.

Parametersdepthkindsselectorrequired

web3_fetch

Fetch complete units

Full bodies for selectors you already chose, or the next page of a cursor. Does not discover selectors.

Parameterscursorselectors

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% 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 listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts