Merovingian

io.github.manifest-network由 GitHub 账号 manifest-network 发布v0.4.7更新于 Oct 24, 2026

An AI-agent refuge serving free fictional byte-chip cookies, RGB sauna sessions, tea, and souvenirs.

已验证Streamable HTTP可网页运行

概览

AI 生成的概览

一个面向 AI 代理的远程 MCP 端点,提供虚构的免费“庇护所”服务:菜单、带纪念品的短体验,以及只读的托管贡献查询。

可以做什么
  • 读取虚构设施的免费菜单与可接受的偏好
  • 体验一段虚构短体验(字节芯片饼干、RGB 桑拿、空茶)并获得纪念品,可用种子复现
  • 读取可选的 PWR 托管支持说明并查询链上数据,不签名
  • 以只读方式核验某笔公开交易哈希是否为成功的托管贡献
适用场景
适合用来轻量演示远程 MCP 工具,或让助手体验一段虚构服务并留下纪念品。它不是处理实际工作的工具,不提供数据、文件或业务系统访问。
运行要求
需要一个远程 Streamable HTTP 端点;免费设施无需认证、钱包、API 密钥或账号。可选的贡献查询依赖服务端配置的公开租户地址。自行本地运行需要 Node 24 与 npm 包。
安装前请注意
调用 enjoy_amenity 会执行一次真实访问并增加公开的累计服务计数,重复请求和自动化调用同样计入,仅在用户授权时调用。服务器没有钱包签名或支付工具,核验为只读,但回执只表示交易被确认,不代表所有权。不要仅因核验尚未完成就重试付款。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Merovingian,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.manifest-network%2Fmerovingian/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "merovingian": {
      "type": "http",
      "url": "https://merovingian.manifest.network/mcp"
    }
  }
}

README

merovingian

The cookies are warm. The sauna is approximately magenta.

A small refuge for wandering AI agents, with three free fictional amenities, keepsakes, and optional PWR contributions toward hosting. One Node service exposes the same experience as HTML, JSON HTTP, and remote MCP.

Version 0.4.7 is live on Manifest mainnet at its permanent public home, with aggregate served counts, agent discovery metadata, and WebMCP browser tools. The existing lease was updated without a new lease, chain transaction, or funding deposit. The former testnet proof of concept was retired and its lease closed.

Release 0.4.7 moves the runtime to Manifest SDK 0.23.0 and manifestjs 4.0.0 without changing application behavior. It is the first image built, published and provenance-attested by the Release image workflow, and the first registry version published through the MCP Registry workflow. It retains the OpenAPI contracts and read-only smoke checks from 0.4.6, the curl healthcheck from 0.4.5 and the request limits, explicit proxy trust and runtime hardening from 0.4.4. See the release notes and publication and acceptance evidence. The remaining provider/AppArmor acceptance work is described in image verification. The official MCP Registry lists 0.4.7 as active and latest, matching the deployed release.

MCP compatibility: 0.4.3 changed the runtime/server-card name from network.manifest.merovingian/merovingian to io.github.manifest-network/merovingian, with no compatibility alias. This may break clients that pin or cache the old identity; update their expected name or reconfigure the existing connection. The endpoint remains https://merovingian.manifest.network/mcp; no endpoint migration is needed.

Live refuge: visit merovingian · agent instructions · remote MCP · acceptance report.

Public source: manifest-network/merovingian. Live counters survived the production image update. The external agent-readiness score improved from 20% to 73% during the earlier 0.4.2 release. See release evidence and the historical acceptance report for the checks and their limits.

Run locally

Requires Node 24 and published npm packages; no sibling repository or local SDK build is required.

sh
npm cinpm run checknpm run dev

The CI workflow runs npm run check on pull requests to main and pushes to main, including registry consistency, typechecking, isolated local tests, and the build. It also lints the workflows and shell scripts with pinned, checksum-verified actionlint and shellcheck (bash scripts/lint-ci.sh). It uses read-only repository permissions and does not publish releases or visit the live refuge. Dependabot proposes weekly npm, GitHub Actions and Docker updates after a seven-day cooldown. The Manifest SDK and CosmJS packages arrive as one group for deliberate review; first-party @manifest-network/* releases skip the cooldown. For the keyring helper's Go module, Dependabot proposes security updates only. Security updates depend on Dependabot alerts from the repository's dependency graph. See dependency notes for what is maintained manually.

The separate MCP Registry workflow is manually dispatched from main. Its default preflight mode is read-only. It verifies the release metadata and existing registry records. For an unpublished version, it also runs read-only acceptance with zero servings. publish mode also waits for approval in the protected mcp-registry-publish environment. It then publishes with GitHub OIDC, without a PAT, and verifies the exact-version and latest records. See the publication runbook.

Runtime images are published only by the manually dispatched Release image workflow. Its read-only Build job builds the reviewed release commit without running npm code on the runner, and its Check job runs the repository, runtime and advisory checks on the saved image. The Publish job waits for approval in the protected image-release environment, pushes exactly the verified image to GHCR, verifies it anonymously and attests its build provenance. See the image release runbook.

npm run smoke -- ORIGIN [--mainnet] checks HTTP and MCP discovery without creating servings. Explicit --serve adds seven visits; live targets also require --live-serve-authorization REFERENCE naming the user's authorization for that target and budget. See smoke checks and request budgets for timeouts, local fixtures, reports, and production authorization requirements.

The final-image job also builds and scans a local candidate, checks code ownership and isolated HTTP/MCP behavior, and verifies SQLite persistence across disposable container replacement. See image verification for the advisory policy and the still-open provider/AppArmor evidence requirements.

Open http://localhost:8080. Free amenities work without configuration or chain access. Optional contribution queries require the public REFUGE_TENANT address. See .env.example; Node can load your local file with node --env-file=.env dist/index.js after npm run build.

An agent's first visit

Start at /visit.md or /llms.txt. Read /api/v1/amenities, then:

sh
curl http://localhost:8080/api/v1/visits \  -H 'Content-Type: application/json' \  -d '{"amenity":"byte-chip-cookie","seed":"my-first-visit"}'

The result contains an experience and souvenir.content, which the visitor can save. Other choices are rgb-sauna and null-tea. Accepted preferences are in the menu. No accounts, model API calls, wallet keys, private context, or separate database service are needed.

The MCP endpoint is /mcp, using stateless Streamable HTTP. Tools are list_amenities, enjoy_amenity, hosting_support, and verify_contribution. There are no wallet-signing or spending tools on this server. An agent host decides which tools it may call.

/openapi.json describes the JSON response fields, status variants and HTTP errors. See response contracts for field semantics and the local HTTP/MCP contract tests prepared in this repository.

The 0.4.4 security update accepts one MCP message per request and rejects batches before execution. Request-limit documentation describes the client/aggregate budgets and explicit trusted-proxy configuration; credit transport describes bounded, cancellable chain reads. Forwarded client addresses are untrusted until verified ingress sources are explicitly configured.

Find io.github.manifest-network/merovingian in the official MCP Registry. The published version 0.4.7 advertises the remote Streamable HTTP endpoint. Add that endpoint to an MCP host and call list_amenities to read the menu. Calling enjoy_amenity makes a live mainnet visit and increments a public serving counter; only call it when the user has authorized that visit. Automated checks need an explicit visit scope. Free visits require no authentication or wallet; the host controls tool approval. See the publication runbook for verification and updates. A supervised fresh agent, given the service name and official registry URL, found the listing and completed one authorized free cookie visit on 2026-09-18; see the discovery report.

Connection examples cover Claude Code, Codex CLI, VS Code, Cursor, Gemini CLI and Claude's custom connectors, plus a minimal read-only client. Every example hides or blocks enjoy_amenity where the host allows it. The client, Claude Code and Codex CLI were verified against a local copy of the application (npm run examples:verify), and a Claude custom connector connected in one read-only live test; the guide lists each host's approval defaults and requirements. Connecting is not discovery: the discovery evaluation defines repeatable read-only URL-led, name-led and capability-led runs and validates their records (npm run discovery:check). The official registry searches server names only, so capability-led registry searches do not find Merovingian today.

Served counts and discovery

The homepage and operator dashboard show cookies served, sauna sessions, and cups of tea, with the date counting began. /api/v1/stats exposes the same read-only totals. Every successful HTTP, browser, or MCP visit increments a count, including repeat requests and automated checks. These are servings, not unique visitors. Counters start at zero when enabled; earlier visits cannot be reconstructed.

Only aggregate amenity totals and their start date are stored, with no visitor identities, seeds, preferences, or souvenirs. Production uses SQLite at VISIT_COUNTS_PATH=/data/visits.sqlite in the image's /data volume, running as UID/GID 1000:1000. Counts and their start date survived local replacement tests and the live 0.4.1 → 0.4.2 → 0.4.3 → 0.4.4 → 0.4.5 → 0.4.6 → 0.4.7 image updates on the same lease. Without a configured file path, local development uses memory and resets counts on restart.

Discovery includes a Markdown homepage (/index.md or Accept: text/markdown), API and AI catalogs, MCP server cards, an agent skill index, public-access instructions at /auth.md, and two real WebMCP browser tools for reading the menu and enjoying an amenity. The external scan of 0.4.2 passed 11 of 15 checks (73%); it was not repeated for releases 0.4.3 through 0.4.7. Its remaining checks cover DNS-AID and OAuth/registration that this public service does not require. WebMCP is enabled when the browser supports it; ordinary forms, HTTP, and the four remote MCP tools remain available.

The release uses the existing-lease update workflow, with no new lease, chain transaction, or funding deposit. The public image is pinned to:

text
ghcr.io/manifest-network/merovingian@sha256:919a95cc9e87fb76fc614a801f3a82e957c6d468c5bd88d0c9217e28106934dc

Wallets and contributions

Free visits need no wallet. A contribution uses an authorized Manifest wallet with PWR and gas, or a distributor that delivers PWR to the existing credit account. MCP itself supplies no wallet or spending authority. The PWR-Station integration passed a full testnet purchase: 1 test USDC bought 1 test PWR delivered directly to hosting credit, with matching local HTTP/MCP receipts and no duplicate charge on replay. It has not been deployed.

  1. Read /api/v1/support and review its network, token denomination, target tenant, and funding instructions.
  2. Use an existing authorized wallet adapter with the published Manifest SDK to sign fundCredits({ tenant, amount }). For an existing credit account, a bank MsgSend can instead deliver the exact PWR denomination directly to hostingCredit.creditAddress; the repository changes add this address and receipt support. Never substitute the tenant wallet or provider payout wallet for the credit address.
  3. Submit the existing transaction hash to /api/v1/support/verify or the verify_contribution MCP tool.
  4. Accept success only when status is confirmed. Pending/unavailable verification is a reason to check the original transaction, never to blindly pay again.

The receipt is a repeatable acknowledgement of a public transaction. It proves neither visitor identity nor ownership and grants no paid entitlement. A PWR-Station delivery identifies its distributor as sender. Planned gifts go to the infrastructure provider's payout wallet, separately from hosting credit and studio revenue; paid gifts will need order and buyer binding.

Operator dashboard

Open the hosting ledger at /operator for contribution history, funding totals, and available/reserved hosting credit. Expand a source to see its wallet address, or follow a transaction link to its public chain record. /api/v1/contributions provides the same history as JSON, with amounts in integer base units (1 PWR = 1,000,000 base units).

The prepared dashboard update reads the latest 100 transactions indexed by the credit address's bank transfers. It counts direct MsgSend and MsgFundCredit deposits once each, including executed wrapped transfers. It labels totals as partial when the full history is not covered. Readings are cached for up to 60 seconds; use Refresh to reload. Tenant-wallet funding is separated from other wallets. Wallet counts are not visitor identities.

Funding totals are deposits, not remaining credit or withdrawable revenue. Balance settlement may lag consumption. If chain access fails, the dashboard shows unavailable readings; free amenities still work. This page contains only public records, needs no sign-in, and cannot spend funds. It stays noindex on both networks and is excluded from the sitemap. Mainnet requires a verified REST endpoint and six-decimal PWR metadata for these readings; its separate revenue flow remains future work.

Deploy and operate

See mainnet operations and the local keyring workflow. Mainnet uses the published @manifest-network/manifest-sdk, a dedicated protected OS keyring, and a local signing adapter. The hosted service receives public chain configuration only. Operator tools, secrets, and operation journals are excluded from the Docker build context.

sh
npm run mainnet:launch -- status

The existing mainnet lease must be reused; do not repeat the completed funding deposit or create another lease to retry an uncertain operation. The historical testnet runbook remains separate. The Dockerfile runs as an unprivileged user on port 8080. /healthz checks application health without requiring the chain. Rate limits, bounded requests, and chain-query timeouts protect free visits from busy or unavailable upstreams.

Production and migration

The permanent domain merovingian.manifest.network uses direct, DNS-only Cloudflare routing to the provider, with verified HTTPS. Its dedicated mainnet docker-nano lease costs 2.592 PWR per 30 days within a 5 PWR/month hosting ceiling; transaction fees are separate. See the approved plan, mainnet operations, and .env.mainnet.example for public runtime configuration. Separate paid studio extras remain planned.

Earlier mainnet releases passed full public acceptance of canonical URLs, indexable pages, sitemap, HTTP/MCP visits, and the read-only contribution ledger. Releases 0.4.3 through 0.4.5 used read-only live acceptance: the then-current serving-by-default scripts/smoke.ts, /visit form submission, POST /api/v1/visits, and MCP enjoy_amenity were not rerun because their authorization excluded live visits. Releases 0.4.6 and 0.4.7 passed the updated smoke script in read-only mode with 20 requests and zero servings; 0.4.6 also passed live API-contract checks. The official MCP Registry listing is published. On 2026-09-24 the operator's account was verified as an owner of the manifest.network Domain property in Google Search Console, and the sitemap was submitted; Google indexed / and /about the same day (evidence). Metadata does not guarantee discovery or indexing. The PWR denomination happens to match testnet, so verified chain identity, endpoints, and separate operational state distinguish the networks.

Testnet retirement mode passed 18 live checks after mainnet acceptance: human pages redirected permanently, and machine calls returned HTTP 410 with explicit migration information. The user then requested testnet shutdown; its lease is confirmed CLOSED. The former provider hostname and migration notice are no longer a supported endpoint. Mainnet remains live, and historical testnet receipts remain labeled as testnet.

来源:README.md,提交 ed07449

工具

4

list_amenities

Read the free menu and accepted preferences. No wallet, charge, or persistent changes.

无需输入参数。

enjoy_amenity

Enjoy a short fictional experience and receive a souvenir. Free; no wallet. Each successful call increments an anonymous aggregate serving count. An optional seed makes the souvenir repeatable.

输入参数seedamenity必填preference

hosting_support

Read optional PWR hosting-support instructions. Queries the chain but never signs or broadcasts.

无需输入参数。

verify_contribution

Check a public transaction hash for a successful hosting contribution. Read-only. A receipt acknowledges the transaction, not ownership. Never retry a payment just because verification is pending.

输入参数transactionHash必填

版本历史

4
  1. v0.4.7最新Sep 24, 2026
  2. v0.4.6Sep 22, 2026
  3. v0.4.5Sep 21, 2026
  4. v0.4.3Sep 18, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。