AIFeed

io.github.denyn1Published by GitHub account denyn1v1.0.0-draft.2Updated Oct 24, 2026

Verify signed AIFeed permissions, fetch token-budgeted markdown, and verify assets for AI agents.

Overview

AI-generated overview

AIFeed lets an assistant verify signed AIFeed content permissions for a domain, fetch token-budgeted markdown, and verify assets before using web content.

What you can do
Verify a domain's signed AIFeed permissions by checking discovery, signature and DNS anchor, and re-check revocation status on each use. Fetch lean AIFeed Markdown or MAKO content with a token budget and delta index so unchanged pages cost nothing. Verify assets and permission decisions for training, retrieval and quoting before an agent uses content. Build and validate publisher-side manifests, keys and page markdown from the command line.
When to use it
Use it when an assistant needs to check what a site permits AI agents to do with its content, or to pull lean, signed markdown instead of full HTML pages. It suits agent workflows that must respect per-use permissions and revocation.
Requirements
Runs as a local stdio process installed from the npm package aifeed-mcp-server; the README's CLI and verifier examples need Node.js 20 or newer. Network access to the target domains is needed for discovery, signature and DNS checks. No accounts, API keys or environment variables are declared.
Before you install
The specifications are a draft and not frozen, and external cryptographic review and a live pilot are still pending. Origin plus DNS compromise is undetectable on first contact. Publisher commands generate and handle an Ed25519 private key, which must be kept out of the repository and shared tooling.

Installation

In SourceWeft

  1. Open AIFeed in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[AIFeed logo]

AIFeed

English · Bahasa Indonesia · 中文

Signed content permissions for the AI web.
Declare, sign, and revoke what AI agents may do with your content — and let agents prove it.

▶ Watch: How AIFeed stops web scraping waste

[npm version] [aifeed CLI] [PyPI] [test suites] [conformance vectors] [spec license] [code license] [status]

Website · Protocol flow · Benchmark · Complete guide · Paper (PDF)


1-Minute Quickstart

Publisher side — sign what agents may do with your content:

bash
npx aifeed keygen --out .aifeed                         # Ed25519 key pairnpx aifeed site build ./public --domain example.com \  --key .aifeed/aifeed-private.pem --llms --inject      # manifest + page markdown + indexnpx aifeed validate ./public --domain example.com       # verify locally

Prefer zero config? npx aifeed init --domain example.com --dir ./site creates the keys, a signed manifest, and the DNS/host setup guide in one step.

Agent side — verify any domain in 3 lines:

bash
npm install @aifeed/verify
js
const { verifyRemote } = require('@aifeed/verify');const out = await verifyRemote('example.com'); // discovery → signature → DNS anchorconsole.log(out.result, out.anchor.status);    // VERIFIED anchored

TypeScript: import { verifyRemote } from '@aifeed/verify';

Where to go next: Why AIFeed? · agent quickstart · publisher AI guide · Studio publisher app · npm: aifeed CLI · @aifeed/verify

Why AIFeed?

AI agents now drive a large and growing share of web traffic, but the signals that say what they may do are unsigned text files. Anyone can edit them, nothing binds them to a domain, and there is no way to revoke them. The asymmetry is measurable:

  • 1.9 billion crawls ignored robots.txt rules in a single half-year (one vendor).
  • A 70,900 : 1 crawl-to-referral ratio was measured for a major AI provider.
  • AI bots averaged 4.2 % of HTML requests in 2025, peaking at 6.4 %.

AIFeed replaces "please respect this file" with a cryptographically verifiable declaration, plus lean agent-ready content that cuts cost on both sides.

How it works

  1. Generate an Ed25519 key pair — the private key never leaves the origin.
  2. Publish a signed manifest at /.well-known/ai.json: per-use permissions (training, retrieval, quote, …), crawl limits, license, revision.
  3. Anchor the key in DNS (_aifeed TXT) so a manifest cannot be spoofed by another domain.
  4. Agents verify the chain — TLS → domain → signature (JCS + Ed25519) → DNS anchor — and re-check a multi-signature revocation registry on every use.
  5. Rotate keys safely — announce the successor with an old-key-signed directive (plus an advisory DNS pk2 cross-check), keep a bounded overlap, cut over, then revoke the old key permanently. Runbook: docs/rotation.md.
  6. Serve lean content under one of two profiles (below), with a signed delta index so unchanged pages cost 0 bytes.

For AI agents: the check-first guide (discovery → verification → permission decisions → delta → failure handling) is in docs/agent-quickstart.md, with a runnable example at examples/agent/compliant-agent.js.

Verify from other stacks

Independent Python package (standard library only):

bash
pip install aifeed
python
from aifeed import verify
report = verify.verify_directory('./my-site', domain='example.com')print(report['result'], report['errors'])

Prefer the repository? The same CLI is here (zero dependencies, Node ≥ 20):

bash
cd aifeed-protocolnode bin/cli.js keygen --out keys/node bin/cli.js validate https://example.comnode bin/cli.js site build ./public --domain example.com --key keys/aifeed-private.pem

Two content profiles

ProfileMedia typeExtensionNotes
AIFeed Markdown (native)text/aifeed+markdown.aifeed.mdIn-band signed policy block, token budget, translation alternates, triage metadata
MAKO (compatibility)text/mako+markdown.mako.mdExternal MAKO trust profile, served from the same signed bytes with its own signature context

Dual-stack origins serve both; cross-format replay is rejected by design.

Measured results

All numbers are reproducible from committed artifacts (npm run bench:mako, npm run bench:enforcement); the test environment is a single machine on loopback networking with a synthetic 60-page corpus. Honest baseline included.

WhatResultLabel
Conversion to markdown profiles vs HTML−68.83 % transferred bytesmeasured
Delta consumption (10 % pages changed)−95.73 % vs HTML crawlmeasured
Publisher egress bytes / CPU / peak connections−55.19 % / −56.23 % / −88.24 %measured (simulation)
AI-side received bytes (all profiles / compliant client)−54.84 % / −72.93 %measured (simulation)
Unchanged pages skipped14 of 18measured (simulation)
Signature verification cost0.70 ms / pagemeasured

The 30-day live pilot has not run yet; projections per 1,000 tenants are labeled as model extrapolations, and vendor claims of up to 94 % token reduction require semantic summarization this project does not perform automatically.

What's in this repository

PathContents
lib/ + bin/Zero-dependency reference implementation and CLI
packages/ + clients/python/Published packages: CLI (aifeed), SDK (@aifeed/verify), MCP server, build plugins (@aifeed/frameworks), PyPI aifeed verifier
conformance/Conformance vectors: 34 manifest · 39 MAKO · 11 AIFeed Markdown
wp-plugin/WordPress plugin: signed manifest, AIFeed Markdown + MAKO dual-stack, /llms.txt
spec/Specifications EN/ID: manifest v0.1/v0.2, AIFeed Markdown v1.0
schema/JSON Schemas for manifests, signatures, AIFeed Markdown, MAKO
paper/Preprint: LaTeX source, PDF, claim ledger, arXiv bundle
docs/Agent quickstart, deploy and namespace guides, Indonesian project notes
studio/Zero-dependency local publisher app: crawl, declare, build, verify, export, and rotate
docs/REFERENCE.mdReference implementation details, what gets verified, CLI quickstart

Documentation

Status

  • Release 1.0.0-draft — the specifications are not frozen yet. Wire versions: manifest 0.1/0.2, AIFeed Markdown 1.0, MAKO 0.2.
  • Conformance: 34 manifest + 39 MAKO + 11 AIFeed Markdown vectors, executed by independent JavaScript and Python verifiers, plus PHP differential fixtures, 90,000+ fuzz executions, and a WordPress end-to-end test.
  • Not claimed: external cryptographic review and a live pilot (both pending); origin+DNS compromise is undetectable on first contact.

License and contact

Specifications CC BY 4.0 · reference code and plugin MIT · vectors CC0. Contact: [email protected] — security reports per SECURITY.md.

Source: README.md at commit 1a382a6

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0-draft.2LatestSep 22, 2026

Score

50% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • 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