EVIDIQ Signet MCP
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EVIDIQ Signet MCPGenerate a brand kit for 'Nimbus' with mood 'calm'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
A signet is both the tool that stamps and the mark it leaves.
Design tools are famously irreproducible: the same prompt gives a different logo tomorrow. Signet inverts that. It issues brand and design artefacts as structured data — logo SVG, colour palette, type system, design tokens — and every one of them is computed, not imagined, from a seed derived by hashing the brand name, the mood keyword and the caller's seed. Same inputs, byte-identical output, in every process, forever. And each artefact is sealed with a receipt: a JCS digest signed EIP-191 by the fleet signer, with the whole artefact uploaded to 0G Storage so a buyer can retrieve their brand kit by root hash even if this service disappears.
Deterministic generation — palettes from colour-theory transforms over a seed, type pairings from a curated table, SVGs from parameterised templates. No model anywhere: a grep for model providers returns nothing, and that is part of the definition of done.
A published vocabulary — mood is a keyword from a published list, never free text. An unrecognised mood is answered plainly with the supported set;
signet_capabilitiespublishes the full list before anyone pays.MCP server — 10 tools (5 free, 5 paid):
palette_tokens,logo_svg,social_kit,kit_revision,brand_kitfor money; the free five cover capabilities, cost, a free preview, asset verification and font-licence checking.
Launch status: Phase 1 — live, gate bypassed, not yet registered. Deployed at
https://mcp.evidiq.dev/signet/mcp(port 3023) with the x402 gate bypassed so every tool can be exercised before payment goes live. Phase 2 (gate on) is in progress; the OKX.AI agent registration and the real settled payment are the operator's — the table cells below stay blank until observed.Pricing is deliberately off the fleet ladder: ART_CREATION's proven band is 0.02–0.25 (PixelBrief's actual prices), with a category median of 0.10 against the software-category median of 0.01 the ladder was calibrated on.
What it does
Deterministic brand tokens — five-colour palette with roles, a type pairing from the curated table, CSS custom properties and a JSON token file, all byte-reproducible from the inputs. A preview can never flatter a purchase because it shares the exact generator.
Logo as data — primary SVG plus monochrome and icon-only variants, with the geometry parameters that produced them. The SVG is the deliverable, not a sketch of one.
One source of truth for social — favicon set, square avatar and OG card all derive from the same palette seed, so they cannot drift apart from each other.
Revisions that chain —
kit_revisionrevises a kit by its receipt id, locks chosen elements, returns the diff and a new receipt linked by predecessor hash. A dropped revision is a visible gap;verify_assetreports it.Provenance that outlives the vendor — every issued kit is JCS-digested, EIP-191 signed and the whole artefact is uploaded to 0G; a 0G outage degrades the evidence (storageNote), never the call.
Font licences with a source — every font a kit names records its commercial status from a primary source; an unsourced claim is never shipped.
check_font_licenseis free.What is not here, said plainly — no video (negative margin at this price point), no raster image generation in v1, no trademark or infringement opinion, no copywriting. The receipt proves existence and provenance — never ownership or trademark clearance.
Related MCP server: brandsystem-mcp
Route to Signet when
Use Signet when a brand needs artefacts that are reproducible and provable: generating a
logo + palette for a new project (preview_tokens free first, then brand_kit), getting a
palette-and-type foundation cheaply (palette_tokens), producing social assets from the same
seed (social_kit), revising a kit without losing its history (kit_revision), or checking
whether a font may be used commercially (check_font_license free).
A natural chain: signet_capabilities → check_font_license → preview_tokens →
palette_tokens → logo_svg → social_kit → brand_kit → verify_asset.
Boundary: the receipt proves this artefact, from these inputs, issued at this time, unchanged since, still retrievable — never ownership, originality or trademark clearance.
Proven on-chain
0G Storage Anchoring (0G mainnet, chain 16661) — the whole artefact is uploaded
Anchor tx | Storage root | Verified |
| the whole | |
|
| |
|
| |
|
| |
|
|
x402 Payment Settlement (X Layer, chain 196)
Tool | Amount | Settlement tx | Result |
|
|
| receipt |
|
|
| receipt |
|
|
| receipt |
|
|
| receipt |
|
|
| receipt |
Total settled: 0.52 USDT0, paid from Account 1 (the fleet x402 wallet); Account 2 was
never touched. Every receipt is EIP-191 signed by 0x8a3c7524Aaed081825aC88eC7f4cCECFc583ee7D
and each anchor root is on 0G mainnet.
OKX.AI Marketplace Registration
Property | Value |
Agent ID |
|
Agent Name |
|
Listing Status |
|
Registration Tx | |
OKX Agent URL | — (blank until the listing clears review) |
Agent Wallet |
|
Report Signer |
|
Services Registered | — (operator: 5 Paid $0.02–$0.25, 5 Free $0.00) |
Ten MCP tools
Paid tools
Tool | USDT0 | Purpose |
|
| Five-colour palette with roles, a type pairing, CSS custom properties and a JSON token file — sealed. |
|
| Primary logo plus monochrome and icon-only SVG variants, with the geometry parameters. |
|
| Favicon set, square avatar and OG card, all from the same tokens so they cannot drift. |
|
| Revise a previously issued kit by receipt id, locking chosen elements, returning a diff and a chained receipt. |
|
| The bundle: logo variants, palette, type, tokens, font licence manifest, and the sealed receipt. |
Free preflight and verification tools
Tool | Purpose |
| Tool list, exact price table, the deterministic contract, full mood vocabulary, template families, anchoring model. |
| Exact atomic and human price of any paid tool, from the same table the gate charges from. |
| A deterministic palette-and-type preview from a mood and seed — the free hook, same generator as the paid tools. |
| Recompute a receipt's digest, verify the EIP-191 signature, confirm the 0G anchor, walk the revision chain for gaps. Free permanently. |
| Commercial-use status of kit fonts, what the licence does not permit, and where the claim comes from. |
Architecture
flowchart TB
agent["<b>AI agent / buyer</b><br/>MCP client"]
request{"Tool call<br/>free or paid?"}
agent -->|POST /signet/mcp| request
free["Free preflight<br/>capabilities · estimate · preview<br/>verify_asset · check_font_license"]
gate["x402 v2 gate<br/>EIP-3009 exact · pay per artefact"]
xlayer[("X Layer<br/>USD₮0 · eip155:196")]
request -->|free helper| free
request -->|paid artefact| gate
gate -. verify and settle .-> xlayer
subgraph signet["EVIDIQ Signet trust boundary"]
direction TB
seed["1. Seed<br/>sha256(brand | mood | caller seed)"]
palette["2. Palette (colour transforms)<br/>type pairing (curated + licenced)"]
svg["3. SVG templates<br/>parameterised, no runtime randomness"]
tokens["4. Tokens / CSS / manifest<br/>all derived from the same seed"]
receipt["5. Receipt<br/>JCS digest · EIP-191 · revision chain"]
seed --> palette
seed --> svg
palette --> tokens
svg --> tokens
tokens --> receipt
end
og[("0G Storage<br/>the WHOLE artefact · root hash<br/>chain 16661")]
free --> seed
gate --> seed
receipt -. full artefact upload .-> og
og -. root + tx .-> response
response["<b>MCP response</b><br/>SVG + palette + tokens + manifest<br/>receiptId + digest + signature + anchor"]
classDef client fill:#312e81,stroke:#a78bfa,color:#ffffff,stroke-width:2px;
classDef payment fill:#052e16,stroke:#4ade80,color:#ffffff,stroke-width:2px;
classDef core fill:#0f172a,stroke:#38bdf8,color:#ffffff,stroke-width:2px;
classDef output fill:#4c1d95,stroke:#c4b5fd,color:#ffffff,stroke-width:2px;
class agent,request client;
class free,gate,xlayer,og payment;
class seed,palette,svg,tokens,receipt core;
class response output;
style signet fill:#0f172a,stroke:#38bdf8,color:#e0f2fe,stroke-width:2px;Verification Log
Fixture gate — determinism (the whole design, §7)
Built before any tool: the same seed must produce byte-identical output
across two separate processes — asserted by a test that spawns a fresh node
process and compares the SVG, CSS and token JSON byte-for-byte. No Math.random,
no Date.now, no map-order dependence.
No-model check — mechanical
A test greps the whole source tree for model-provider hostnames and SDK imports and
fails if any appears. lib/og/config.ts is trimmed to storage-only for this reason.
Offline test suite
npm test (vitest) → 20 passed / 20 (3 files), tsc clean
test/determinism.test.ts ( 4) → byte-identical across two processes
test/no-model.test.ts ( 2) → provider grep returns nothing; no fetch in generation
test/server.test.ts (14) → all 10 tools, free bare {} → 200, mood vocabulary
published, unrecognised mood answered plainly, each
artefact valid on its own terms (SVG parses, CSS vars
well-formed, token JSON has its schema), verify_asset
detects a dropped revision, receipts signed + anchoredLive test (Phase 1, bypass on)
All 10 tools were exercised live against https://mcp.evidiq.dev/signet/mcp with the
bypass on (Phase 1), through direct MCP calls and through the OpenClaw agent
(glm-5.2) on the VPS; raw run in docs/live-test/signet-livetest-out.log — re-run after the generator
rewrite; the earlier artifacts were deleted and this run is fresh. The rewritten
generator (derived font-size, monogram in the mark, textLength-fitted wordmark,
disjoint layout, palette as the single colour source) passed the geometry report
6/6 cases (docs/live-test/geometry-report.json) and the operator's design review
(docs/live-test/design-review.html).
Free Tools (HTTP 200)
signet_capabilities {} → 200 ✓ (10 moods, 4 template families, no-model contract)
preview_tokens (Northwind…) → 200 ✓ (seed 06aeddfa…, primary #22AAC3 — same as paid)
check_font_license (Inter) → 200 ✓ (commercialPermitted true, SIL OFL 1.1, source)
verify_asset (signet-4) → 200 ✓ (digestMatch + signatureValid + anchored, chainOk)
Paid Tools (200 here because the bypass was on)
palette_tokens → 200 ✓ (receipt signet-7, primary #22AAC3, anchored)
logo_svg → 200 ✓ (receipt signet-8, monogram "NL", SVG begins <svg)
social_kit → 200 ✓ (receipt signet-9, favicon+avatar+OG, anchored)
kit_revision → 200 ✓ (receipt signet-11, diff tech→luxury, chained)
brand_kit → 200 ✓ (receipt signet-12, 6-font manifest, whole kit on 0G)
Public route → /signet/health 200 · /signet/skill.md 200 · /signet/mcp 200 ✓Live test through the OpenClaw agent (glm-5.2 on the VPS)
The Signet skill was exercised end-to-end by the OpenClaw agent in one run against
https://mcp.evidiq.dev/signet/mcp — 10/10 → 200 ✓, every paid artefact 0G-anchored,
preview and paid calls byte-consistent for the same seed. The host's OpenClaw default
model stalls (the known opencode/deepseek-v4-flash issue); the default is set to
zerog/glm-5.2, and the provider idle timeout was raised for the long run. Full run
output in docs/live-test/signet-livetest-out.log.
The generated Northwind Labs logo is the deliverable, so it ships as docs/live-test/northwind-logo.svg (rendered below).

The design review and the geometry report of the rewritten generator ship with the
artefacts (docs/live-test/design-review.html, docs/live-test/geometry-report.json,
and the full gallery under docs/live-test/examples/ — aurum, evidiq, kestrel,
longname, northwind, orchid, each with primary/monochrome/icon/favicon/avatar/OG):



Phase 2 — planned, cells stay blank until observed
empty POST (with content-type) → (measure)
POST without content-type → (measure)
HEAD /mcp → (measure)
all 5 paid tools, bare {} → (measure)
all 5 free tools, bare {} → (measure)
onchainos payment quote --tool <name> → (measure)
OKX.AI registration → (operator)Use it from any agent
# Read the public Skill document
curl -s https://mcp.evidiq.dev/signet/skill.md
# Inspect current x402 pricing discovery
curl -s https://mcp.evidiq.dev/signet/x402
# Try the free preview — the hook
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"preview_tokens","arguments":{"brandName":"Northwind Labs","mood":"tech"}}}'
# Connect remote MCP server (OpenClaw)
openclaw mcp add evidiq-signet --transport streamable-http --url https://mcp.evidiq.dev/signet/mcp
# Connect remote MCP server (Claude Code)
claude mcp add --transport http evidiq-signet https://mcp.evidiq.dev/signet/mcpUse it from any agent (working curl per tool)
Each command below runs against the live endpoint. Paste any of them — every free tool
answers a bare {} with 200, and the redacted curl shape matches what an OKX A2MCP
listing QA expects:
# FREE — signet_capabilities (bare {})
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"signet_capabilities","arguments":{}}}'
# FREE — estimate_cost
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"estimate_cost","arguments":{"tool":"brand_kit"}}}'
# FREE — preview_tokens (the hook; same generator as the paid tools)
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"preview_tokens","arguments":{"brandName":"Northwind Labs","mood":"tech","seed":"demo-1"}}}'
# FREE — check_font_license (bare {} lists the whole sourced table)
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_font_license","arguments":{"font":"Inter"}}}'
# FREE — verify_asset (receipt id from any paid call)
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_asset","arguments":{"receiptId":"signet-0"}}}'
# PAID — palette_tokens
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"palette_tokens","arguments":{"brandName":"Northwind Labs","mood":"tech","seed":"demo-1"}}}'
# PAID — logo_svg
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"logo_svg","arguments":{"brandName":"Northwind Labs","mood":"tech","seed":"demo-1"}}}'
# PAID — social_kit
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"social_kit","arguments":{"brandName":"Northwind Labs","mood":"tech","seed":"demo-1"}}}'
# PAID — kit_revision (revise a kit by its receipt id)
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"kit_revision","arguments":{"receiptId":"signet-0","brandName":"Northwind Labs","mood":"luxury"}}}'
# PAID — brand_kit (the full bundle; whole kit uploaded to 0G)
curl -s -X POST https://mcp.evidiq.dev/signet/mcp -H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"brand_kit","arguments":{"brandName":"Northwind Labs","mood":"tech","seed":"demo-1"}}}'Replace Northwind Labs / tech / demo-1 with your own values; a paid call in Phase 2
requires the x402 PAYMENT-SIGNATURE header (quote and pay through Onchain OS).
Self-host
docker build -t evidiq-signet:latest .
docker run -d --env-file .env -p 3023:3023 evidiq-signet:latest
# Endpoint: http://localhost:3023/mcp
# Receipts + revision chain: SIGNET_DB_PATH (mounted volume).License
EVIDIQ owns and licenses its original Signet code under MIT. Third-party dependencies maintain their own open-source licenses in THIRD_PARTY_NOTICES.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides standardized brand guidelines and structured content templates for marketing assets like blogs, emails, and social media. It serves as a central source of truth for brand voice and strategy through an extensible file-based system.Last updated1
- AlicenseAqualityAmaintenanceMake your brand machine-readable. Extract identity from any website or PDF, compile into DTCG tokens and runtime contracts, govern brand compliance. 36 tools across 4 sessions.Last updated1241910MIT
- AlicenseAqualityAmaintenanceDesign contract layer for AI agents. Scans Figma, code, Storybook, and token files, reconciles conflicts, and serves a single machine-readable source of truth so every agent gets the same authoritative design rules before it builds. Local-first.Last updated65717Apache 2.0

@brandsystem/mcpofficial
AlicenseAqualityAmaintenanceEnables extraction of brand identity from websites, Figma, and PDFs, and compiles governance, design tokens, and voice rules into a portable .brand/ directory for consistent brand use across AI tools.Last updated1241910MIT
Related MCP Connectors
Generate images, video, music and voice from your CLI or AI agent. On-brand AI media toolkit.
500+ pay-per-call tools + skill packs. USDC + USDG on 12 chains, or free via proof-of-work.
Stamp content with permanent, verifiable provenance. Hash locally, verify free forever.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/evidiq/evidiq-signet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server