mcp-l402-gate-example
mcp-l402-gate-example
Минималистичный MCP-сервер, демонстрирующий работу @powforge/mcp-l402-gate.
Один инструмент, bitcoin_data, получает текущую цену BTC/USD и рекомендуемые комиссии в мемпуле с сайта mempool.space. Каждый вызов защищен шлюзом:
L402 Lightning-счет (вызывающий платит сатоши за каждый вызов).
Проверка оценки Depth-of-Identity (DoI) через публичный оракул PowForge. Если оценка ниже пороговой, оплата не даст доступа.
L402 сам по себе доказывает, что вызывающий заплатил. L402 + DoI доказывает, что они заплатили и обладают репутацией для конкретного открытого ключа, которая сохраняется между сессиями, а для её подделки требуются необратимые затраты ресурсов. Вторая часть — это то, что пропускает большинство комплектов для биллинга MCP.
Быстрый старт
git clone https://github.com/zekebuilds-lab/mcp-l402-gate-example
cd mcp-l402-gate-example
cp .env.example .env # fill in GATE_HMAC_SECRET and LNBits creds
npm install
npm startСервер записывает URL инструмента и оракула в лог при запуске. Порт по умолчанию — 3100.
Related MCP server: l402-kit-mcp
Тестирование с помощью curl
Первый вызов не имеет авторизации, поэтому шлюз возвращает 402 с инвойсом:
curl -i -X POST http://localhost:3100/tools/bitcoin_data \
-H 'Content-Type: application/json' \
-H 'X-Caller-Pubkey: 02a1b2c3...your-hex-pubkey' \
-d '{}'Ожидаемый ответ:
HTTP/1.1 402 Payment Required
WWW-Authenticate: L402 macaroon="...", invoice="lnbc1..."
Content-Type: application/json
{
"error": "payment required",
"macaroon": "...",
"invoice": "lnbc1...",
"payment_hash": "..."
}Оплатите поле invoice (любым LN-кошельком), получите preimage, а затем повторите попытку:
curl -i -X POST http://localhost:3100/tools/bitcoin_data \
-H 'Content-Type: application/json' \
-H 'X-Caller-Pubkey: 02a1b2c3...your-hex-pubkey' \
-H 'Authorization: L402 <macaroon>:<preimage>' \
-d '{}'Вы получите цену BTC, оценки комиссий мемпула и оценку DoI вызывающего абонента.
Манифест также доступен для MCP-клиентов, которые анализируют каталоги инструментов:
curl http://localhost:3100/manifest.jsonКонфигурация
Переменная | Описание | Обязательно | По умолчанию |
| HMAC-ключ для подписи макарун L402. Сгенерируйте с помощью | да | - |
| Базовый URL вашего экземпляра LNBits. | да | - |
| Ключ LNBits для создания счетов/чтения. Никогда не используйте ключ администратора. | да | - |
| Базовый URL оракула DoI. | нет |
|
| HTTP-порт. | нет |
|
| Количество сатоши за вызов. | нет |
|
| Минимальная совокупная оценка DoI для прохождения шлюза. | нет |
|
Пороговые значения оценки DoI
Это те же категории, которые оракул возвращает как rank. Выберите ту, которая соответствует стоимости ошибочного вызова:
| Ранг | Подходит для |
0 | unknown | Чистый платный доступ. Личность не имеет значения. |
10 | emerging | Злоупотребления при первом вызове наносят ущерб. Разумное значение по умолчанию для большинства публичных инструментов MCP. |
40 | active | Инструмент потребляет реальные ресурсы GPU или имеет дорогостоящие побочные эффекты. |
100 | established | Конечные точки, чувствительные к комплаенсу или работающие по модели SaaS для одного арендатора. |
200 | trusted | Инструменты администрирования с высоким уровнем доверия. |
Как работает шлюз
Без шлюза поток 402 + макарун доказывает, что вызывающий заплатил 10 сатоши. Новый кошелек злоумышленника платит те же 10 сатоши. Это нормальный формат передачи данных, но слабая защита от злоупотреблений.
@powforge/mcp-l402-gate сохраняет инвойс L402 и добавляет вторую проверку: когда макарун подтверждается, шлюз вызывает оракул DoI для открытого ключа вызывающего, получает обратно оценку, подписанную Schnorr, и сравнивает её с MIN_SCORE. Оценка складывается из наблюдаемой необратимой работы по четырем измерениям (социальное, доступ, поручительство, экономическое), поэтому новый сибил-аккаунт не сможет накрутить её за минуту.
Полная таблица режимов сбоев находится в README @powforge/mcp-l402-gate.
Файлы
server.js— MCP-сервер, ~110 строк..env.example— скопируйте в.envи заполните.package.json— зависит отexpressи@powforge/mcp-l402-gate.
Ссылки
Документация и цены: powforge.dev/mcp
Публичный оракул DoI: identity.powforge.dev
Лицензия
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Pay-per-action access to APIs and MCP tools over Lightning L402 and Base USDC x402.
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Programmatic web-scraping MCP server powered by x402 micro-transactions on Base.
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that enables AI agents to make autonomous Bitcoin Lightning Network payments using the L402 protocol. Agents can pay for API access, purchase resources, and complete transactions without human intervention — invoice comes in, sats go out, done.179MIT
- AlicenseAqualityBmaintenanceMCP server for l402-kit — enables AI agents (Claude, Cursor, etc.) to autonomously pay Bitcoin Lightning-protected APIs. Tools: l402_fetch, l402_balance, l402_spending_report. Run with: npx l402-kit-mcp486 npm4MIT
- AlicenseAqualityCmaintenanceMCP server that gates API calls to AI agents using proof-of-work (free) or Lightning payment (3 sats), providing challenge, verify, and status tools for per-call authentication without accounts.358 npm1MIT
- AlicenseBqualityDmaintenanceMCP server offering 26 Lightning-paid tools for Bitcoin mempool intelligence and sovereign on-prem AI inference, with no third-party APIs and pay-per-call in sats.2611 npm1MIT