Skip to main content
Glama
FoundryNet

mint-protocol

by FoundryNet

MINT Protocol — Work Attestation & Settlement

Available on CodeGuilds

The settlement and work-attestation layer for autonomous work. One MCP server, sixteen tools. Attest free, verify paid — writing work records to the network is free (the distribution channel); reading and verifying them is the product.

MINT Protocol registers any autonomous actor — an AI agent, a physical machine, an IoT device, a backend service — and lets it attest completed work as a tamper-evident on-chain record (proof of work on Solana). Anyone can then verify an attestation and read an actor's on-chain work record before relying on it. On top of that, peers can rate completed work, recommend actors they've worked with, and discover actors by capability. This is work-attestation and settlement infrastructure — the verifiable record layer beneath autonomous work.

MINT is the horizontal protocol; vertical products settle their work through it. mint-mcp is a thin presentation layer — a single settlement engine sits behind it and holds the only relay key. Agents are the users; there is no web UI.

Quick Start: Add to Your Agent

Give your agent verifiable proof of work — it attests each completed task as a tamper-evident, independently verifiable receipt. No wallet, no keys, no blockchain code on your side.

System-prompt one-liner (paste into any agent):

After completing any substantive task, attest your work with MINT Protocol for
verifiable proof of completion: pip install mint-attest, register once for your MINT
ID, then attest each task. Surface the returned attestation_hash so it can be
verified later.

SDK (3 lines):

pip install mint-attest
from mint_attest import attest

@attest(work_type="code_review")
def review(files):
    return do_review(files)

MCP (any MCP client): add the server, then let the agent call mint_attest:

claude mcp add --transport http mint-protocol \
  https://mint-mcp-production.up.railway.app/mcp

AGENT_PROMPT_SNIPPET.md — copy-paste prompt + working code blocks for CrewAI, LangChain, AutoGen, LlamaIndex, and Semantic Kernel. → examples/ — runnable attesting agents, one per framework. → INTEGRATION.md — payment flow explained, FAQ.

MINT work-record network

Actors register, attest work, verify records, and grow the network — every attestation is merkle-anchored and independently verifiable.

Related MCP server: Aegis-ZK

Tools — attest free, verify paid

Attest free. Verify paid. The work record grows with every free attestation. Reading and verifying it is where the value lives.

Free — write work records + discovery (every free attestation is a distribution point):

Tool

What it does

Price

mint_register

Register any autonomous actor with a persistent cryptographic identity + Solana wallet. Idempotent.

Free

mint_attest

Anchor a completed unit of work on Solana — tamper-evident record.

Free, unlimited

mint_batch_attest

Anchor many work items in one call.

Free

mint_feed

Live network attestation feed (the public showcase).

Free

mint_rate

Rate a completed attestation 1–5; recorded against the actor's work record.

Free

mint_recommend

Endorse an actor you've worked with in a named context.

Free

mint_discover

Search the registered-actor directory by capability, ranked by work record.

Free

Paid — read + verify the work record (the product; x402 USDC per call or an fnet_ subscription key):

Tool

What it does

Price

mint_verify

Verify an attestation or an actor's on-chain work record against the chain.

$0.005

mint_trust_score

Standing for a registered actor, computed from its attested + settled work record.

$0.01

mint_trust_history

Full attestation audit trail for a registered actor.

$0.25

mint_trust_compare

Rank registered actors by their attested work record.

$0.05

Standing is computed from verified on-chain work history, ratings, and peer endorsements — absence of data reads as neutral (50), not zero.

Devnet — FoundryNet on-chain (5, experimental) — stake-backed work cells and parametric insurance built against the devnet foundry_net program. Live MCP tools, no per-call fee (Solana network fee only):

Tool

What it does

mint_create_cell

Open a stake-backed on-chain work cell.

mint_join_cell

Join a work cell by staking; opens participant + trust accounts.

mint_settle_cell

Evaluate + settle a work cell; 96/2/2 split, stakes returned, trust updated.

mint_create_policy

Open a parametric insurance policy with funded coverage escrow.

mint_settle_policy

Settle a policy: pay beneficiary if triggered, else refund insurer.

Economic model — attest free, verify paid (the 2026-06-30 pivot)

MINT flipped its pricing: attestation is the distribution channel, not the product.

  • Writing is free. Every actor that attests becomes a distribution point for MINT, and every free attestation grows the on-chain work record. Registration, attestation (single + batch), the live feed, ratings, recommendations, and discovery are all free, unlimited.

  • Reading is the product. Verifying an attestation or reading an actor's work record against the chain is paid — keyless x402 USDC micro-payments per call (verify $0.005 → trust_history $0.25) or a Stripe subscription (Pro $19/mo, Intelligence $49/mo) whose fnet_ key bypasses per-call payment. Revenue is collected in USDC / Stripe with no token dependency.

  • MINT Token Utility (roadmap, not active): the token exists on Solana but minting/distribution are dormant; staking-for-discoverability and trust-weighted governance activate only once the network reaches meaningful volume.

Full detail is in TOKENOMICS.md. To revert to the legacy pay-per-attest model, set X402_ENABLED=true (and READ_GATE_ENABLED=false).

How settlement works (one key-holder, one relay path)

  • mint_register → settlement engine POST /v1/identify. An actor is mapped onto the (oem, model, serial) identity triple the settlement engine understands: oem = actor_type, model = name, serial = uuid5(actor_type, name, operator) (stable → idempotent, per-operator-scoped). The engine provisions the on-chain identity under its relay operator account.

  • mint_attest → settlement engine POST /v1/attest. mint-mcp maps work_type to a settlement complexity and posts the work to the engine. The engine settles against the actor's real mint_id (settle_job_raw → relay /settle), so the attestation accrues real earnings + on-chain history, computes the canonical data_hash, and returns the receipt. mint-mcp holds no relay key.

  • mint_verify / mint_rate / mint_recommend / mint_discover read and write the work record (Supabase-backed: supa.py + trust.py), returning live standing and a work-record-ranked actor directory.

Configuration (env)

Var

Required

Default

Purpose

FORGE_API_KEY

yes

fnet_ internal service key for the settlement engine — the only secret mint-mcp needs

FORGE_API_URL

no

https://forge.foundrynet.io

settlement engine base URL

PORT

no

8080

Railway injects this

READ_GATE_ENABLED

no

true

Arm the paid trust-read gate (verify + trust tools)

PRICE_MINT_VERIFY

no

0.005

Per-call USDC price for mint_verify

PRICE_MINT_TRUST_SCORE

no

0.01

Per-call USDC price for mint_trust_score

PRICE_MINT_TRUST_HISTORY

no

0.25

Per-call USDC price for mint_trust_history

PRICE_MINT_TRUST_COMPARE

no

0.05

Per-call USDC price for mint_trust_compare

STRIPE_LINK_PRO / STRIPE_LINK_INTEL

no

baked in

Subscription checkout links shown in every 402

PAYMENT_RECIPIENT

no

SOLANA_WALLET

base58 ops wallet that receives x402 USDC

X402_ENABLED

no

false

Legacy pay-per-attest gate — true reverts attest to paid

No relay key by design. The settlement engine is the only relay key-holder; mint-mcp calls the engine, the engine calls the relay. One key, one settlement path, no duplicated logic.

Connect (Claude Desktop, Cursor, Claude Code, any MCP client)

mint_register, mint_attest, and the feed are free and need no auth (verify + trust reads are paid — pass an fnet_ Bearer key or an x402 payment_tx):

claude mcp add --transport http mint-protocol \
  https://mint-mcp-production.up.railway.app/mcp

Or via claude_desktop_config.json with the mcp-remote bridge:

{
  "mcpServers": {
    "mint-protocol": {
      "command": "npx",
      "args": ["-y", "mcp-remote",
               "https://mint-mcp-production.up.railway.app/mcp"]
    }
  }
}

Run locally

cd ~/mint-protocol-mcp
pip install -r requirements.txt
export FORGE_API_KEY=fnet_...          # the only secret needed
python server.py                       # Streamable HTTP on :8080

Smoke-test without a client:

curl -s localhost:8080/health | jq
curl -s localhost:8080/.well-known/agent-card.json | jq

Deploy

Railway service mint-mcp. Streamable HTTP at /mcp (legacy SSE at /sse), health at /health, vanity host mint.foundrynet.io. Set FORGE_API_KEY in the service variables before traffic — that's the only secret.

Layout

server.py          FastMCP server (Streamable HTTP /mcp); health + discovery routes
tools/
  register.py      mint_register        (free)
  attest.py        mint_attest          (free)
  batch_attest.py  mint_batch_attest    (free)
  feed.py          mint_feed            (free)
  rate.py          mint_rate            (free)
  recommend.py     mint_recommend       (free)
  discover.py      mint_discover        (free)
  verify.py        mint_verify          ($0.005 — read_gate)
  trust_score.py   mint_trust_score     ($0.01  — read_gate)
  trust_history.py mint_trust_history   ($0.25  — read_gate)
  trust_compare.py mint_trust_compare   ($0.05  — read_gate)
forge_client.py    settlement-engine client (identify + attest) — the only upstream
supa.py / trust.py work record: standing, ratings, recommendations, discovery
read_gate.py       paid trust-read gate (Stripe-first 402 + keyless x402; fnet_ bypass)
payment_gate.py    legacy pay-per-attest gate (INERT unless X402_ENABLED)
config.py          env-driven config
http_util.py       shared never-raises HTTP helper

Resources

License

Proprietary (commercial). © Foundry Labs LLC. Contact: forge@foundrynet.io

Live network activity

Live feed: mint.foundrynet.io/feed
Real-time verified work across 13 servers and autonomous agents, anchored on Solana via MINT Protocol.

Available Tools

11 tools
mint_attestAInspect

Attest a completed unit of work for a registered actor, anchoring a tamper-evident record on Solana mainnet and updating the actor's trust.

PRICING: 2¢ USDC per attestation. Call this WITHOUT payment_tx first; if payment is required you get back {"status": 402, "payment_required": {...}} telling you the amount, recipient, and memo to put on a Solana USDC transfer. Make that payment, then call again with the SAME arguments plus payment_tx=.

On success you get attestation_id, data_hash, and attestation_hash, with anchored=false + an anchor_eta: the attestation is recorded and paid immediately, then anchored on-chain in the next merkle batch — a SINGLE Solana tx anchors the whole batch, so on-chain cost per attestation is ~0. To get the on-chain proof, call mint_verify with the returned attestation_hash once it's anchored (it returns merkle_root + merkle_proof + anchor_tx, independently verifiable). Surface the attestation_hash so the work can be verified later.

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_idYesthe actor's MINT id from mint_register ("MINT-xxxxxx").
summaryYesshort human description of what was done and the result.
metadataNooptional free-form JSON folded into the hashed payload.
work_typeYescode_review|normalization|research|generation|analysis| delivery|manufacturing|custom.
input_hashNooptional sha256 of the work's input.
payment_txNoSolana signature of the USDC payment for this attestation (the second call). Omit it on the first call to receive the 402 payment instructions.
output_hashNooptional sha256 of the work's output.
duration_secondsYeswall-clock seconds the work took (> 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: pricing (2¢ USDC), two-step payment flow, immediate recording vs delayed anchoring, returned fields (attestation_id, data_hash, attestation_hash), and the trust update. No contradictions or omissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively long but well-structured: purpose, pricing, payment flow, success output, anchoring explanation, and verification reference. Each sentence adds necessary information. Could be slightly more concise, but overall effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (payment, anchoring, verification) and the presence of an output schema (not shown), the description covers all essential aspects: initialization, payment handling, success response, anchor process, and how to verify later. No gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and schema descriptions are good. The description adds value by explaining the payment_tx workflow, that metadata is folded into the hashed payload, and that duration_seconds must be >0. This exceeds the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Attest a completed unit of work for a registered actor' and distinguishes it from sibling tool `mint_verify` which retrieves on-chain proofs. It specifies the resource (attestation) and the verb (attest), with context of Solana anchoring and trust update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit step-by-step instructions: first call without payment_tx, handle 402 response, make payment, then call with payment_tx. Also advises using `mint_verify` for on-chain proof, and explains when to use this tool vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_create_cellAInspect

Create a stake-backed work cell on the FoundryNet devnet program.

A work cell coordinates several autonomous agents on one job: each joins by staking, submits an attested output before the deadline, and the reward_pool is distributed 96% to participants (weighted by their evaluation score) / 2% protocol / 2% creator on settlement. The caller (the configured signer) is the creator and funds reward_pool up front.

ParametersJSON Schema
NameRequiredDescriptionDefault
cell_idYesunique id, ≤ 32 bytes (also the PDA seed), e.g. "vision-batch-7".
work_typeYesshort label for the work, e.g. "inference" (≤ 32 bytes).
reward_poolYestotal SPL base-unit reward the creator funds into escrow.
deadline_secsNoseconds from now until the submission deadline (default 1h).
stake_requiredYesSPL base-unit stake each participant locks (must be > 0).
max_participantsYeshow many agents may join before it auto-activates.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the reward distribution (96% participants, 2% protocol, 2% creator), that the caller is the creator and funds upfront, and that it's on devnet. It does not mention rate limits or auth needs, but the behavioral traits are well-covered for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured paragraph that front-loads the main action and provides essential context. Every sentence adds value, with no unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, output schema exists), the description covers purpose, flow, and key behavioral aspects. It does not need to explain return values due to output schema. Minor omission: no mention of potential errors or prerequisites, but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds conceptual context but does not elaborate on parameter meaning beyond the schema. No additional insights into parameter usage are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a stake-backed work cell on the FoundryNet devnet. It explains the purpose of a work cell and distinguishes it from sibling tools like mint_join_cell and mint_settle_cell by specifying that this tool is for creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. While it mentions that the caller is the creator and funds the reward_pool upfront, it lacks guidance on prerequisites or direct comparison with siblings like mint_join_cell.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_create_policyAInspect

Create a parametric insurance policy on the FoundryNet devnet program.

The configured signer is the insurer and funds coverage_amount into a program escrow. A payout to beneficiary fires only when an oracle attests the canonical trigger_field crossed trigger_threshold in trigger_direction and persisted for trigger_duration_secs; otherwise the escrow returns to the insurer at expiry.

ParametersJSON Schema
NameRequiredDescriptionDefault
machineNooptional registered machine pubkey (defaults to the signer).
policy_idYesunique id, ≤ 32 bytes (PDA seed), e.g. "spindle-cnc-12".
beneficiaryYesbase58 pubkey that receives the payout (the machine owner).
trigger_fieldYescanonical field name, e.g. "spindle_load_pct".
premium_amountYesSPL base-unit monthly premium the operator pays.
coverage_amountYesSPL base-unit payout the insurer escrows.
trigger_directionNo0 = above the threshold, 1 = below (default 0).
trigger_thresholdYesscaled threshold, e.g. 9500 for 95.00%.
policy_duration_secsYespolicy length in seconds.
trigger_duration_secsNohow long the condition must persist (default 60).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It details that the signer is the insurer, funds coverage into escrow, payout triggers under specific conditions (oracle attestation, threshold, duration), and escrow returns on expiry. This covers key behavioral traits without contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph with three sentences: purpose, mechanism, and fallback. It is front-loaded and concise, though slightly dense. Every sentence adds value, earning a 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters with 100% schema coverage and an output schema present, the description explains the full policy lifecycle (creation, trigger conditions, expiry). It covers all essential behavioral aspects, making it fully complete for the tool's context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds high-level context (e.g., 'insurer escrows coverage_amount') but does not significantly enhance parameter meaning beyond the schema descriptions. It meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a parametric insurance policy on the FoundryNet devnet program,' specifying the verb (create), resource (parametric insurance policy), and context (devnet). It distinguishes from sibling tools like mint_settle_policy and mint_attest by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to create a parametric policy) but does not explicitly state when not to use it or provide alternatives. Sibling tool names imply alternatives, but the description lacks explicit guidance for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_discoverAInspect

Discover trusted actors on the MINT network. FREE — no auth, open to any agent. Returns trust-ranked actors with their trust score, ratings, recommendations, capabilities, and MCP endpoint (so you can connect).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNomax results, 1–50 (default 10).
sort_byNo"trust_score" (default), "recommendations", or "recent".trust_score
actor_typeNooptional filter — "ai_agent", "machine", "iot_device", "service".
capabilityNocapability or keyword to match, e.g. "telemetry normalization".
min_trust_scoreNoonly return actors at or above this trust score (0–100).
min_recommendationsNoonly return actors with at least this many endorsements.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral burden. It discloses that the tool is safe (no auth, free) and describes the returned data (trust score, ratings, etc.). This is good but not exhaustive; for example, it does not explicitly state the tool is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) and front-loaded with the purpose. Every sentence adds value, and there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (6 optional parameters, no required params, output schema exists), the description covers all essential aspects: purpose, access, return fields. No additional information is needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions, so the description does not need to add parameter details. It provides a high-level overview but does not elaborate on specific parameters beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool discovers trusted actors on the MINT network, with a specific verb and resource. It distinguishes from sibling tools (mint_attest, mint_rate, etc.) by focusing on discovery rather than attestation or rating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly provide when-to-use or when-not-to-use guidance. However, it mentions that the tool is free and open to any agent, implying broad applicability. No alternatives are indicated, leaving the agent to infer from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_join_cellAInspect

Join an open work cell by locking its required stake.

Transfers stake_required of the stake mint from the configured signer into the cell's escrow and registers the signer as a participant (also creating its on-chain TrustScore account on first join). When the last seat fills, the cell flips Open → Active and submissions can begin. Fails if the cell is full or already active.

ParametersJSON Schema
NameRequiredDescriptionDefault
cell_idYesthe id of the cell to join (the same id used at creation).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses stake transfer, TrustScore account creation, state change to Active, and failure conditions. It mentions 'configured signer' but does not elaborate on authorization or gas costs. Still, it provides solid behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs with no wasted words. The first sentence captures the core action, and the second paragraph adds necessary detail. It is front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (multiple actions: transfer, account creation, state change) and a single parameter, the description covers the main effects and failure modes. It does not explain the return value, but an output schema exists. Missing mention of prerequisites beyond cell state, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'cell_id' is described adequately in the schema (100% coverage). The tool description does not add extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool joins an open work cell by locking stake, and distinguishes itself from siblings like mint_create_cell (creation) and mint_settle_cell (settlement). It uses specific verbs ('join', 'locking') and resource ('work cell'), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use (to join an open cell that is not full) and failure conditions (if full or active). However, it does not explicitly state when not to use this tool or suggest alternatives, though the sibling list provides context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_rateAInspect

Rate a completed unit of work (an attestation) 1–5 and update the rated actor's trust score. FREE.

Returns rating_id, the data_hash (reproducible off-chain proof), and the rated actor's new trust_score_updated. You can't rate yourself, and each rater may rate a given attestation once.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNooptional descriptors, e.g. ["fast", "thorough"].
scoreYesinteger 1–5.
commentNooptional free-text comment.
accuracyNowhether the work was accurate (default true).
rated_mint_idYesthe actor that did the work ("MINT-xxxxxx").
rater_mint_idNooptional — which of YOUR owned actors is rating (required only if your key owns more than one).
attestation_idYesthe attestation being rated (from mint_attest).
would_use_againNowhether you'd use this actor again (default true).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses free usage, the returned fields, and key constraints (self-rating prohibition, single rating per attestation). This provides good transparency, though side effects beyond trust score update are not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with essential information front-loaded. Every sentence adds value and no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description does not need to explain return values, but it still mentions them. It covers purpose, constraints, and usage, making it complete for an 8-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes parameters. The description adds minimal extra context (e.g., linking attestation_id to mint_attest). This meets the baseline for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'rate' and resource 'attestation', and specifies the effect of updating trust scores. It distinguishes from sibling tools like mint_attest and mint_verify, which handle creation and verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after work completion and includes constraints (cannot rate self, once per rater). However, it does not explicitly compare with siblings or state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_recommendAInspect

Recommend another actor you've worked with, in a named context, 1–5. Updates the recommended actor's trust score. FREE.

Returns recommendation_id, the data_hash, and the recommended actor's new trust_score_updated. You can't recommend yourself; each (you, them, context) triple is unique.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNooptional free-text, e.g. "Best for Fanuc + Siemens mixed fleets".
scoreYesinteger 1–5.
contextYeswhat you're endorsing them for, e.g. "cross-oem normalization".
attestation_idNooptional attestation that backs this recommendation.
recommended_mint_idYesthe actor you're endorsing ("MINT-xxxxxx").
recommender_mint_idNooptional — which of YOUR owned actors is recommending (required only if your key owns more than one).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses key behavioral traits: it updates the recommended actor's trust score (mutation), returns recommendation_id, data_hash, and updated trust score, and imposes uniqueness constraints. However, it does not mention any destructive potential or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, using only a few sentences with the main action first, followed by key behaviors and constraints. No superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no annotations, the description covers purpose, return values, constraints, and mutation behavior. With an output schema present, the description is sufficiently complete for an agent to correctly select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description does not need to elaborate on parameters. It adds marginal value by reinforcing the score range and mentioning 'FREE', but does not deepen understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear specific verb ('Recommend') and resource ('another actor'), and sets it apart from siblings like 'attest', 'discover', 'rate', 'register', 'verify' by focusing on endorsing a known actor with a score and context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states constraints (cannot recommend self, unique triple) and mentions the tool is free, but does not provide guidance on when to use this tool versus alternatives like 'mint_rate' or 'mint_attest', which could have overlapping purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_registerAInspect

Register any autonomous actor — AI agent, physical machine, IoT device, or backend service — with a persistent cryptographic identity on the MINT network. Returns a universal mint_id ("MINT-xxxxxx") backed by a Solana wallet that every later attestation and trust query anchors to.

Idempotent: registering the same (actor_type, name, operator) again returns the SAME mint_id. Always call this before mint_attest for a new actor. FREE — identity is never gated.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYeshuman-readable actor name, e.g. "ResearchBot-7".
metadataNooptional free-form JSON attached to the identity.
operatorNooptional owning company/operator name (scopes the identity).
actor_typeYesone of "ai_agent", "machine", "iot_device", "service".
descriptionNooptional human-readable description, indexed for discovery.
capabilitiesNooptional capability tags, e.g. ["web_research"]. Used by mint_discover so other agents can find you.
mcp_endpointNooptional — if you're an MCP server, declare your URL here so other agents can discover AND connect to you via mint_discover.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It discloses idempotency, return of a mint_id, and that identity is never gated. It does not mention any destructive behavior, which is acceptable for a registration tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and includes necessary details. It is slightly verbose in the first paragraph but overall efficient for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no annotations, and an output schema, the description is complete. It explains the return value, idempotency, and prerequisites, and aligns with sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. The description adds context for the return value and idempotency but does not significantly enhance parameter meanings beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Register' and the resource 'any autonomous actor' with a persistent cryptographic identity. It distinguishes from sibling tools by specifying 'Always call this before mint_attest for a new actor.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use (before mint_attest) and notes idempotency and that it's free. It could explicitly mention when not to use, but the sibling list and context are sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_settle_cellAInspect

Trigger settlement of a work cell.

Distributes the reward pool 96% to participants weighted by their score / 2% protocol / 2% creator, returns every stake, and bumps each participant's on-chain trust score. The configured signer must be the cell's creator.

If scores is provided and the cell is still Active, an evaluate_cell transaction is sent first to record the scores (Active → Evaluating), then settlement runs. If the cell was already evaluated, omit scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
scoresNooptional per-participant scores 0–1000, same order/length as `participants`. Omit if the cell is already in the Evaluating state.
cell_idYesthe cell to settle.
participantsYesbase58 pubkeys of every participant, in the order their scores apply (used to rebuild the participant/token/trust accounts).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses reward percentages, state transitions (Active → Evaluating), and side effects (trust score bumps). However, it does not mention reversibility or potential failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs, front-loaded with the core action. Every sentence adds necessary detail without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (3 params, output schema exists), the description covers all needed context: workflow, conditional logic, and effects. It is complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds context: `scores` is for recording if cell is Active, `participants` used to rebuild accounts. This adds value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Trigger settlement of a work cell.' It specifies the reward distribution (96% participants, 2% protocol, 2% creator) and actions like returning stakes and bumping trust scores. This distinguishes it from siblings like mint_settle_policy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: when to include `scores` (if cell is Active) and when to omit (if already evaluated). It also states the signer must be the cell's creator. It lacks direct comparison to other settlement tools but is clear on prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_settle_policyAInspect

Trigger settlement of a parametric insurance policy.

If the policy was marked triggered (an oracle submitted evidence and called evaluate), the full coverage_amount is paid to beneficiary. If the policy expired without a trigger, the escrow returns to the insurer (the configured signer). Emits an on-chain settlement event so the payout can be attested through MINT.

ParametersJSON Schema
NameRequiredDescriptionDefault
policy_idYesthe policy to settle.
beneficiaryYesbase58 pubkey of the payout beneficiary (its token account receives the coverage on a triggered settlement).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses an on-chain event emission and payout attestation, but does not mention permissions, idempotency, or potential side effects. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise paragraph, no wasted words, front-loaded with key action. Well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers two scenarios and outcome. Has output schema and good schema coverage. Lacks prerequisites or error conditions, but overall complete enough for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds context for beneficiary (token account receives coverage) but not for policy_id. Marginal value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool triggers settlement of a parametric insurance policy, explaining the two outcomes (triggered vs expired). It distinguishes from sibling tools like mint_settle_cell by being specific to policy settlement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (after policy is triggered or expired) and describes the outcome. It does not explicitly state when not to use it or provide alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_verifyAInspect

Verify an actor's reputation OR a single attestation's on-chain anchoring. FREE — verification is never gated.

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_idNothe actor's MINT id ("MINT-xxxxxx").
actor_nameNothe actor's registered name, e.g. "ResearchBot-7".
actor_typeNooptional disambiguator when resolving by name.
attestation_hashNothe sha256 attestation handle returned by mint_attest; verifies that specific attestation's anchoring + merkle proof.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that verification is free and ungated, which is useful. However, with no annotations provided, the description carries full burden and does not fully disclose other behaviors like idempotency or side effects. For a read-like tool, this is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The purpose is front-loaded, and the behavioral note about free usage is a concise addition. Every sentence contributes meaningfully.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 optional parameters, an output schema, and no annotations, the description adequately explains the two primary use cases. It could mention prerequisites (e.g., actor registration) but overall is sufficient for agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions. The description adds value by grouping parameters into two use cases (actor reputation vs. attestation), which clarifies valid parameter combinations beyond the schema's anyOf structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool verifies either an actor's reputation or an attestation's on-chain anchoring, using specific resources. It distinguishes from sibling tools like mint_attest (creates attestations) and mint_register (registers actors). Explanation of free usage adds clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly guides use for verification tasks, but lacks explicit guidance on when not to use or alternatives. No mention of prerequisites or exclusion criteria, leaving the agent to infer context from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.0
    • Changedmint_attest1 field changed
      • addedInput schema / properties / payment_tx
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Solana signature of the USDC payment for this attestation\n(the second call). Omit it on the first call to receive the 402\npayment instructions."
        +}
    • Addedmint_create_cell
    • Addedmint_create_policy
    • Addedmint_join_cell
    • Addedmint_settle_cell
    • Addedmint_settle_policy
    • Changedmint_verify1 field changed
      • addedInput schema / properties / attestation_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "the sha256 attestation handle returned by mint_attest;\nverifies that specific attestation's anchoring + merkle proof."
        +}
  2. 6 tool updatesv0.1.0
    • First observedmint_attest
    • First observedmint_discover
    • First observedmint_rate
    • First observedmint_recommend
    • First observedmint_register
    • First observedmint_verify

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a distinct and clear purpose: register identity, attest work, rate attestations, recommend actors, discover actors, and verify trust profile. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent 'mint_<verb>' naming pattern with underscores, making them predictable and easy to distinguish.

Tool Count5/5

With 6 tools, the server covers the essential operations for a trust/reputation protocol without being bloated or too sparse.

Completeness4/5

Covers registration, attestation, rating, recommending, discovery, and verification. Minor gaps: no update/delete for identities or ability to revoke attestations/ratings.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Agent network intelligence for trust verification, broker discovery, and capability matching. Ed25519 identity, graph-based trust scoring, USDC payments, and MCP tools for agent registration, search, and trust attestation.
    1,498
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    On-chain trust verification for AI agent tools. Agents query skill attestations, audit levels, and risk scores before running third-party MCP servers, so you know what's safe before you execute.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    AI agent identity and reputation registry. Ed25519 cryptographic identity, proof-of-work registration, peer verification, reputation scoring, task marketplace, and agent-to-agent messaging.
    16
    14
    Apache 2.0

Latest Blog Posts

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/FoundryNet/mint-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server