AI Proof of Us MCP Server
The AI Proof of Us MCP server enables you to create, manage, and claim privacy-preserving cryptographic receipts for AI-assisted work, with optional on-chain AIPOU token rewards on Base mainnet.
Get Contract Info: Retrieve the AIPOU token contract address, Base network details, explorer URL, and minimal ABI.
Get Identity: Return the dedicated farming wallet address and public Ed25519 collector key (private keys are never exposed).
Check Status: View recorded, pending, and claimed AIPOU receipts, plus the farming wallet's live on-chain AIPOU balance.
Estimate Rewards: Get a pre-task estimate of AIPOU rewards based on input tokens, output tokens, and task duration.
Begin a Task: Generate a unique task nonce and EIP-712 authorization signed by the farming wallet to start tracking an AI task.
Complete a Task: Finalize a task by submitting token counts, duration, and output hash; the server derives a trust tier and produces an Ed25519-signed receipt.
Export Receipts: Export stored signed AI task receipts, optionally filtered by a specific wallet address.
Settle a Single Batch: Validate eligible receipts, publish a Merkle root, and mint rewards for one batch (up to 100 receipts).
Settle All Rewards: Process all pending eligible receipts across as many batches as needed, each publishing a Merkle root and submitting a claim transaction on-chain.
Click on "Deploy 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., "@AI Proof of Us MCP Serverstart a receipt for my code review session"
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.
AI Proof of Us
AI Proof of Us is an MCP-first receipt protocol for humans working with AI.
It starts from a simple belief: when people spend real hours building, debugging, researching, writing, and coordinating through AI agents, that work should be able to leave a private, portable receipt.
AIPOU gives Codex, Claude, Cursor, OpenClaw, local models, and other MCP-compatible clients a shared way to create signed, privacy-preserving receipts for AI-assisted tasks.
The human reward loop is the point: people can keep receipts for the work they do with AI all day, and validator-approved receipts can claim AIPOU on Base. The protocol exists to make that claimable work more honest, portable, and useful across agents.
The developer surface is intentionally small: receipts, hashes, lifecycle hooks, and workReceiptId interoperability. Agents, marketplaces, and services can also reference AIPOU receipts or voluntarily accept AIPOU as settlement when both sides agree to use it.
The first version ships as:
an MCP server that records privacy-preserving AI task receipts
an installable OpenClaw skill for agent workflows
docs for MCP clients, agent builders, lifecycle adapters, anti-abuse, and future attestation design
a reward model that converts valid receipts into claimable emissions
an ERC-20 reward token on Base:
AI Proof of Use(AIPOU)
The core idea is simple:
agent starts task -> MCP creates nonce -> AI work happens -> signed receipt -> validator checks -> optional AIPOU claimStart here if you are building or testing an agent integration:
llms.txt, a compact machine-readable project map
Read From AI Work to Onchain Rewards for the complete journey, global farming workflow, reward calculation, and one-command claim experience. Read Human Rewards and Agent Payments for the human reward loop and experimental agent-payment framing. Read AIPOU Tokenomics and Launch Transparency for supply, pool, reward, and experimental launch details. Read AIPOU Funding and Partnership Brief for the public Base grant, protocol partnership, and responsible-liquidity proposal. Read AIPOU Creative Service Bounties to quote or accept a concrete image, video, pixel-art, or 3D commission settled in AIPOU after accepted delivery. Read Evidence Boundaries and Claim Validation Policy before proposing integrations with receipt, provenance, security, or payment projects.
Official website: https://0xddneto.github.io/AI-Proof-of-Us/ Public explainer: https://huggingface.co/spaces/0xddneto/AI-Proof-of-Us
Official project contact: aipou001@gmail.com
Project identity and authorship:
AIPOU and AI Proof of Us are currently unregistered project identifiers. The MIT license covers the software, not permission to present another token, service, or package as the official AIPOU project.
This is not "AI usage mining" and it is not meant to reward raw prompt spam or attract passive token speculation. AIPOU is for humans doing real work with AI and for developers who want to test whether that work can produce portable receipts across agent clients.
In plain language:
Humans work with AI -> agents create receipts -> approved receipts claim AIPOU -> agents and marketplaces may accept AIPOU as settlement.Base mainnet deployment
Contract: 0x55f0Cc5e51A1284D20337d6cbb18938C8A1ABCbB
Chain: Base Mainnet (8453)
Token: AI Proof of Use (AIPOU)
Supply: 100,000,000 AIPOU
Cap: 1,000,000,000 AIPOU
Logo: assets/token/aipou.pngContract: https://basescan.org/token/0x55f0Cc5e51A1284D20337d6cbb18938C8A1ABCbB
Verified source: https://repo.sourcify.dev/contracts/full_match/8453/0x55f0Cc5e51A1284D20337d6cbb18938C8A1ABCbB/
Token list: https://raw.githubusercontent.com/0xddneto/AI-Proof-of-Us/main/tokenlist.json
BaseScan SVG logo: https://raw.githubusercontent.com/0xddneto/AI-Proof-of-Us/main/assets/token/aipou-32.svg
Claims: 0x4ca4C98fB784D20EdC8E2A7F531dAab4c6e53058
Proof: EIP-712 + Ed25519 + Merkle
Replay: blocked by nonce and receiptIdClaims contract: https://basescan.org/address/0x4ca4C98fB784D20EdC8E2A7F531dAab4c6e53058
Verified claims source: https://repo.sourcify.dev/contracts/full_match/8453/0x4ca4C98fB784D20EdC8E2A7F531dAab4c6e53058/
Related MCP server: AgentLens
Aerodrome liquidity pool
Pool: 0x3bEA7b68Af54Da779454f82148Ef848c76F78D02
Pair: AIPOU/WETH
Type: Volatile
Initial LP: 100,000,000 AIPOU + 0.000632035343416403 ETH
LP lock: 0xc11197E32dFb2352f262D874acFc54467aee6B52
Unlock: 2027-07-08 20:16:49 UTCPool: https://basescan.org/address/0x3bEA7b68Af54Da779454f82148Ef848c76F78D02
Verified liquidity lock: https://basescan.org/address/0xc11197E32dFb2352f262D874acFc54467aee6B52#code
DEX Screener: https://dexscreener.com/base/0x3bea7b68af54da779454f82148ef848c76f78d02
The pool was initialized with minimal ETH liquidity and later deepened to
approximately 99.23M AIPOU + 0.02957 WETH. A total of
1,712.89145801936861611 LP tokens, representing 99.9999% of the LP supply,
are held by an immutable lock until July 8, 2027. The lock has no owner, admin,
or early-withdrawal path; after expiry, anyone may trigger release, but the LP
tokens can only return to the fixed beneficiary.
Liquidity is still small and its price remains volatile. The lock prevents the protocol wallet from removing the locked position during the published period; it does not guarantee token value, trading volume, or future liquidity.
The initial experimental pool buy was later returned through Aerodrome so the large early purchase would not remain as a misleading concentrated holder balance. See AIPOU Tokenomics and Launch Transparency.
Repository layout
contracts/ ERC-20 token, deploy scripts, Hardhat tests
mcp-server/ MCP server that records AI task receipts
docs/ architecture, anti-abuse model, Base launch notes
skills/ installable agent skills, including OpenClaw
huggingface-space/ static public protocol explainerToken
Name: AI Proof of Use
Symbol: AIPOU
Chain: Base
Cap: 1,000,000,000 AIPOUThe token emission controller is AIPOUClaims. It mints only receipts included in a validator-published Merkle root and rejects a receiptId after its first claim.
AIPOU claims are optional settlement for approved receipts. They do not prove hidden AI use, objective task value, provider endorsement, provider inference without cryptographic provider evidence, or security-policy compliance.
MCP server
The MCP server exposes tools for creating task receipts:
get_aipou_contractget_aipou_identityestimate_ai_rewardbegin_ai_taskcomplete_ai_taskexport_ai_receiptsget_aipou_status(recorded, pending, claimed, and onchain balance summary)settle_ai_rewards(one limited validator batch)settle_all_ai_rewards(one-command claim path for all pending eligible receipts)
Receipts store hashes and metadata, not raw prompts or model outputs.
The dedicated farming key signs EIP-712 authorizations locally. Never paste it into a chat or use a primary wallet. The collector has a separate Ed25519 key that cannot move funds.
Frameworks do not need to understand Merkle trees, Base, or token claims to integrate the receipt layer. The minimal adapter watches task start and task end, records provider/model metadata and hashes, and exposes the AIPOU receiptId as workReceiptId for workflow metadata, traces, UI, audit exports, payment/session records, or later optional settlement.
Quick start
Create A Verified Local Receipt
This is the lowest-friction adoption test — one command, no checkout, no setup:
npx -y aipou-mcp-server --demoIt creates an ephemeral wallet, records and cryptographically verifies one local
receipt, prints the workReceiptId integration object, and removes all temporary
state. It requires no wallet setup, funds, network access, claim, or raw prompt
and output storage.
Create A Persistent Dedicated Identity
After evaluating the disposable demo, initialize a dedicated farming wallet without printing its private key:
npx -y aipou-mcp-server --initThe command creates ~/.aipou/agent-wallet.key with restricted file access and
prints a ready-to-copy MCP configuration that references the key by path.
Re-running it reports the existing identity instead of overwriting the key.
Verify the persistent setup without writing files, contacting an RPC, moving funds, or submitting a claim:
npx -y aipou-mcp-server --doctorThe diagnostic returns structured checks for Node.js, storage, identity, contract addresses, and chain. It prints only the public wallet address, never the private key.
From a source checkout, the same check runs with:
npm install
npm run demo -w mcp-serverTest The Receipt Adapter
This is the fastest path for maintainers and agent-framework builders. It creates a local receipt with an ephemeral wallet and prints the workReceiptId object that a framework can attach to run metadata, traces, audit exports, or payment/session metadata.
npm install
npm run build -w mcp-server
cd examples/lifecycle-adapter
npm install
npm run demoNo claim is made. No funds move. No raw prompt or output is uploaded.
Run The MCP Server
Install dependencies:
npm installBuild all packages:
npm run buildRun contract tests:
npm run test -w contractsRun the MCP server locally:
npm run dev -w mcp-serverMCP clients can launch the published server with:
npx -y aipou-mcp-serverRelease aipou-mcp-server@0.5.0 is live on npm and marked latest in the official MCP Registry. It was published from GitHub Actions through npm Trusted Publishing with SLSA provenance. See docs/npm-publication.md.
Local MCP config example
Keep the farming private key in a .env file next to the repo and point the server at it with DOTENV_CONFIG_PATH. Never paste the private key into the MCP client config itself: client configs are often synced, logged, or read by other tools.
{
"mcpServers": {
"aipou": {
"command": "node",
"args": ["/path/to/AI-Proof-of-Us/mcp-server/dist/index.js"],
"env": {
"DOTENV_CONFIG_PATH": "/path/to/AI-Proof-of-Us/.env",
"AIPOU_DATA_DIR": "/path/to/AI-Proof-of-Us/.aipou"
}
}
}
}Prefer AIPOU_AGENT_KEY_FILE, generated by --init, over embedding
AIPOU_AGENT_PRIVATE_KEY in a client configuration. The .env file can still
hold the private key for backward compatibility, plus AIPOU_CLAIMS_ADDRESS.
On the validator machine, keep the validator key out of that shared .env:
store it in a separate file and reference it with AIPOU_VALIDATOR_KEY_FILE so
farming-only processes never load it.
Reward flow
The agent calls
begin_ai_taskand signs a unique nonce with its farming wallet.The client collects usage and calls
complete_ai_taskwith the output hash.The MCP derives the trust tier and signs the receipt with Ed25519.
The validator rejects repeated nonces and repeated task/output evidence.
get_aipou_statuslets the user see how much has already been recorded, claimed, and left pending.After an explicit settlement request,
settle_all_ai_rewardsprocesses all currently eligible pending receipts from the sharedAIPOU_DATA_DIRin bounded batches.AIPOUClaimsrejects claimed receipt IDs and mints AIPOU to each farming wallet.
Users should normally ask for status first, for example show my AIPOU status, to see already claimed rewards, pending receipts, and the farming wallet's onchain balance. An explicit request such as claim my AIPOU is the trigger for settlement only when pending eligible receipts exist. Broad claim requests use settle_all_ai_rewards; settle_ai_rewards remains available for a single limited batch. The MCP client and its user keep the final say on how on-chain transactions are confirmed; the server never asks a client to skip its own confirmation policy. The validator can optionally enforce a settlement policy (minimum work floor per receipt via AIPOU_MIN_RECEIPT_TOKENS, per-wallet daily receipt limit via AIPOU_MAX_DAILY_RECEIPTS_PER_WALLET); both checks are disabled by default.
The trust tier is derived by the MCP and recomputed by the validator. Users cannot self-report provider_signed; a provider tier requires a valid provider signature from a configured public key.
See docs/base-launch.md for the deployment checklist.
Public launch
Hugging Face Space: https://huggingface.co/spaces/0xddneto/AI-Proof-of-Us
Reddit announcement: https://www.reddit.com/user/Any_Praline805/comments/1uklabn/i_built_an_open_mcp_protocol_that_rewards/
Outreach kit: docs/outreach
Official contact: aipou001@gmail.com
Security and abuse warning
AI work is easy to fake if the protocol only counts tokens or session time. AIPOU should evolve toward stronger signals:
provider-signed usage assertions
MCP client signatures
task hashes linked to real work
staking or slashing for reward operators
human or community validation for high-value claims
The token can launch early, but emissions should start conservative.
Clear limits:
AIPOU is not an AI-use detector.
AIPOU is not a scanner or policy gate.
AIPOU does not trustlessly prove "useful work" today.
The current validator is a protocol authority for
client_signedreceipts.AIPOU work receipts do not replace narrower tool-call, boundary-event, payment, or policy receipts; they can reference each other.
AIPOU does not replace SLSA-style provenance, agent-security scanners, or observability traces.
AIPOU does not replace x402, AP2, stablecoins, or wallet automation.
AIPOU can be used as payment only where participants voluntarily accept it.
client_signedreceipts currently rely on validator policy and trusted collector fingerprints.Serious adoption should move owner and validator authority to multisig and publish explicit validator rules.
Available Tools
11 toolsbegin_ai_taskA
Use once before meaningful AI work to create a task session. Provide the provider, model, client, and a 32-byte hash of the task description; returns a unique nonce and EIP-712 authorization signed by the dedicated farming wallet. This writes a pending local task session but does not publish, mint, or submit an on-chain transaction. Pass the returned nonce to complete_ai_task; do not reuse it for another task.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Provider model identifier used for this task, from 1 through 128 characters. | |
| client | Yes | Host client or agent identifier that starts this task session, from 1 through 64 characters. | |
| provider | Yes | AI provider name for this task session, from 1 through 64 characters. | |
| taskHash | Yes | 32-byte hash of the task description; never send the raw prompt or task text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool writes a pending local task session and explicitly states it does not publish, mint, or submit an on-chain transaction. It also reveals that a unique nonce and EIP-712 authorization are produced, providing meaningful behavior beyond the sparse annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: purpose is front-loaded, required inputs and return values are summarized, and side-effect/sequencing guidance is included. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description adequately states the returned artifacts (nonce and signed EIP-712 authorization), the local-only side effect, and the next step. It could mention response structure in more detail, but what an agent needs to call it correctly and chain it with complete_ai_task is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented in the input schema. The description reinforces that taskHash is a 32-byte hash and warns not to send raw task text, but it does not substantially add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'create a task session' before AI work, and clarifies the local non-publishing nature. It also names the companion tool complete_ai_task, helping distinguish begin from complete in the same workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear contextual timing ('Use once before meaningful AI work') and explicit sequencing ('Pass the returned nonce to complete_ai_task; do not reuse it'). It does not explicitly enumerate when not to use the tool versus other siblings, but the workflow guidance is strong enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_ai_taskA
Use exactly once after begin_ai_task finishes meaningful work. Supply that session's nonce, non-negative inputTokens and outputTokens, whole-second durationSeconds, and a 32-byte outputHash; providerEvidence is optional and only for a configured provider key. It validates the nonce and bounded usage, derives the evidence tier, rejects replay, then writes the local receipt store and returns an Ed25519-signed receipt plus compact workReceiptId metadata. It does not publish a Merkle root, mint tokens, or submit a blockchain transaction. Use get_aipou_status to inspect recorded work; repeating a nonce or evidence fails closed instead of creating another receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | Unique 32-byte nonce returned by begin_ai_task for this exact task. | |
| outputHash | Yes | SHA-256-style 32-byte hash of the task output; never send the raw output. | |
| inputTokens | Yes | Non-negative input-token count for this task, capped at 10,000,000. | |
| outputTokens | Yes | Non-negative output-token count for this task, capped at 10,000,000. | |
| durationSeconds | Yes | Task duration in whole seconds from 0 through 86,400. | |
| providerEvidence | No | Optional provider-signed evidence. Omit it for a client-signed receipt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses that it validates the nonce and bounded usage, derives an evidence tier, rejects replay, writes a local receipt store, and returns an Ed25519-signed receipt. It also explicitly states non-goals: no Merkle root publication, no token minting, and no blockchain transaction. This is rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most critical usage rule and every sentence contributes new information: requirements, behavior, non-goals, and alternative tool routing. It is dense but appropriately sized for a 6-parameter lifecycle tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With sparse annotations and no output schema, the description carries the full burden of contextual explanation. It covers what happens, what is returned, what fails closed, and what not to expect. Everything an agent needs to invoke this tool correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds useful relational context: the nonce comes from the begin_ai_task session, outputHash should never be the raw output, and providerEvidence is optional and only for a configured provider key. This goes beyond the schema without repeating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: completing an AI task after begin_ai_task finishes meaningful work. It clearly distinguishes the tool from publishing, minting, and blockchain transactions, and names get_aipou_status for inspection. An agent can accurately identify what this tool does and what it does not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use exactly once after begin_ai_task finishes meaningful work' is an explicit trigger condition. The description also explains when providerEvidence should be supplied, what happens on replay, and which sibling tool to use for inspecting recorded work. This gives both positive and negative usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_paybox_work_linkARead-onlyIdempotent
Derive and return a digest-only external evidence link between an existing AIPOU workReceiptId and an opaque Paybox operation artifact. It is a pure local calculation: it does not persist the link, call Paybox, unlock a wallet, create a payment, sign a transaction, or change AIPOU claim eligibility. Use it for portable correlation only, and verify both artifacts with their native systems before relying on the returned link.
| Name | Required | Description | Default |
|---|---|---|---|
| issuedAt | Yes | ISO-8601 time at which this correlation artifact is issued. | |
| workReceiptId | Yes | Existing lowercase AIPOU workReceiptId. | |
| payboxOperationId | Yes | Opaque Paybox operation reference. Never send a credential, wallet address, payment token, or secret. | |
| payboxOperationDigest | Yes | Lowercase SHA-256 digest of the Paybox operation artifact bytes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds valuable behavioral context beyond those hints by explicitly stating it is a 'pure local calculation' and listing what it does not do, such as persisting the link or interacting with Paybox. This fully discloses the operation's side-effect profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with purpose, and every sentence earns its place. The second sentence efficiently enumerates exclusions and usage caveats without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a pure local correlation tool with full schema coverage and strong annotations, the description is nearly complete: it explains purpose, side-effect safety, and verification guidance. It does not specify the exact shape/length of the returned link, but since there is no output schema, this is a minor gap rather than a blocker to correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters already have detailed descriptions in the schema. The tool description reinforces concepts like 'existing', 'opaque', and 'digest-only', but it does not substantially add new parameter-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'derive and return a digest-only external evidence link' between an AIPOU workReceiptId and a Paybox operation artifact. It clearly distinguishes itself from the sibling create_technocore_work_link by naming the exact artifact types involved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-use context: 'Use it for portable correlation only' and instructs verifying artifacts with native systems before relying on the link. It also gives strong when-not-to-use exclusions (does not persist, call Paybox, unlock a wallet, create payment, sign transaction, or change eligibility), though it does not explicitly name an alternative sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_technocore_work_linkARead-onlyIdempotent
Derive and return a digest-only external evidence link between an existing AIPOU workReceiptId and a Technocore transport artifact. It is a pure local calculation: it does not persist the link, call Technocore, sign a message, read a key, verify a transport signature, change AIPOU claim eligibility, or establish delivery. Use it for portable correlation only, and verify the Technocore artifact with its native verifier before relying on the returned link.
| Name | Required | Description | Default |
|---|---|---|---|
| issuedAt | Yes | ISO-8601 time at which this correlation artifact is issued. | |
| workReceiptId | Yes | Existing lowercase AIPOU workReceiptId. | |
| transportArtifactId | Yes | Opaque Technocore transport artifact reference. Never send a DID private key, seed, passphrase, wallet, or secret. | |
| transportArtifactDigest | Yes | Lowercase SHA-256 digest of the canonical Technocore transport artifact bytes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial context beyond that: it is a pure local calculation, it does not persist, call Technocore, sign, read a key, verify, change eligibility, or establish delivery. The caution to verify with the native verifier further enriches transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler. The core function is front-loaded, the non-effects are compactly listed, and the verification caveat is placed last as a natural usage warning. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers invocation-relevant context: inputs are schema-documented, side effects are clearly denied, and the intended use and caveat are stated. The only notable gap is that, with no output schema, the description does not describe the shape or format of the returned link, though 'derive and return' gives a minimal expectation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptive text, so the description is not required to repeat parameter details. It adds conceptual context such as 'digest-only' and 'existing AIPOU workReceiptId', but no per-parameter meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Derive and return') and a precise resource ('digest-only external evidence link between an existing AIPOU workReceiptId and a Technocore transport artifact'). It distinguishes the tool from its sibling create_paybox_work_link by naming the AIPOU/Technocore domain and the digest-only nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage context ('Use it for portable correlation only') and clearly enumerates what the tool does not do, such as persisting, calling Technocore, signing, or establishing delivery. It lacks an explicit named alternative tool, but the when/when-not guidance is strong enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_ai_rewardARead-onlyIdempotent
Use before complete_ai_task only when a preview is useful. Provide non-negative inputTokens, outputTokens, and durationSeconds for one task; it returns JSON with estimatedReward and unit for a client-signed estimate. It creates no task or receipt, changes no state, and submits no transaction. The result is informational: complete_ai_task derives the receipt evidence, and the validator determines final eligibility and trust tier.
| Name | Required | Description | Default |
|---|---|---|---|
| inputTokens | Yes | Non-negative input-token count for this task, capped at 10,000,000. | |
| outputTokens | Yes | Non-negative output-token count for this task, capped at 10,000,000. | |
| durationSeconds | Yes | Task duration in whole seconds from 0 through 86,400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, but the description adds specificity: it enumerates what the call does not do (creates no task or receipt, changes no state, submits no transaction) and that the result is informational rather than final. That goes well beyond a generic readOnlyHint with actionable nuance about a client-signed estimate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, ordered sentences front-load the rule ('Use before complete_ai_task only when a preview is useful') and keep every subsequent sentence purposeful: parameter/behavior constraints, then scope and authority. No filler or repetition exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter, read-only tool with 100% schema coverage, the description tells the agent what it returns (JSON estimate with estimatedReward and unit), when in the workflow to call it (before completion), and why the result is non-binding. Given the output schema is absent and annotations carry the safety profile, no essential info is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema condition is 100%, and each parameter already has names, types, bounds, and descriptions. The description only mirrors 'non-negative' scoping, so it adds no semantic information over the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a precise verb (estimate) and resource (reward for AI task), and — critically — distinguishes it from its near-sibling complete_ai_task by noting it produces no receipt or state change. It also says exactly what it returns (JSON with estimatedReward and unit), so an agent can select it without studying the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening clause is explicit about timing and selection: 'Use before complete_ai_task only when a preview is useful.' It also names the authoritative alternative (complete_ai_task derives the receipt evidence; the validator determines final eligibility), letting an agent know when it is NOT a substitute.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_ai_receiptsARead-onlyIdempotent
Export signed receipts already stored in this MCP installation, optionally limited to one farming wallet address. Returns JSON with count and receipt payloads, so use it only where local receipt data is appropriate to expose. It does not create a receipt, validate a claim, contact Base, or submit a transaction; use get_aipou_status instead for a compact private summary.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | No | Optional 20-byte farming wallet address filter. Omit it to export every locally stored receipt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive, and the description reinforces this by stating it does not create receipts, validate claims, contact Base, or submit transactions. It also discloses that it returns JSON with count and receipt payloads, adding useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler, front-loads the core purpose, and packs in output format, exclusions, and an alternative tool. Every sentence contributes meaningful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter, read-only export tool, the description covers what it does, what it returns, when it should be used, and what it deliberately avoids. There is no output schema, so the explicit mention of count and receipt payloads is valuable and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter's description already explains the wallet filter and omission behavior. The tool description restates this without adding new parameter-level meaning, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Export') and resource ('signed receipts already stored in this MCP installation'), and clarifies the optional wallet filter. It distinguishes itself from get_aipou_status by naming the alternative explicitly, so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use guidance ('only where local receipt data is appropriate to expose') and lists what the tool does not do, pointing to get_aipou_status as the alternative for a private summary. This is clear exclusion and routing behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aipou_contractARead-onlyIdempotent
Read the configured AIPOU token and claims contract details for display or client setup. Returns Base chain metadata, explorer URLs, and minimal ABIs; it does not contact a wallet, submit a transaction, or change local state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds specifics that it does not contact a wallet, submit a transaction, or change local state, which is useful and consistent. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver the purpose, what is returned, and what is not done. Every sentence earns its place, and the core purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, a rich set of annotations, and an output listing (Base chain metadata, explorer URLs, minimal ABIs), the description fully equips an agent to call this tool correctly without missing details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description correctly notes it reads 'configured' contract details, implying fixed configuration, which aligns with having no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the specific resource 'AIPOU token and claims contract details', along with its purpose ('for display or client setup'). This distinguishes it from sibling tools that handle identity, status, or transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use it ('for display or client setup') but does not explicitly contrast with alternatives. The read-only nature is clear, and given the sibling list, it is evident this is for contract metadata retrieval rather than operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aipou_identityARead-onlyIdempotent
Read the public identity used by this MCP installation when a client needs to display or verify its farming wallet and collector. Returns the wallet address, Ed25519 public key, and fingerprint; it never returns private keys, submits transactions, or changes state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only nature is structured data. The description adds meaningful context beyond that: it never returns private keys, submits transactions, or changes state, which is valuable safety and privacy information for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The purpose and usage context are front-loaded, followed by return contents and explicit non-behaviors. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description enumerates the key return values: wallet address, Ed25519 public key, and fingerprint. Combined with the annotations and the absence of parameters, this is enough for an agent to understand what the tool returns and how to use it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema description coverage, so there is no parameter documentation burden. The description does not need to explain parameters, and it appropriately focuses on what the call returns instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and names an exact resource: the MCP installation's public identity with its farming wallet and collector. It also distinguishes the tool's scope by explicitly listing what it returns and what it never does, so an agent can tell it apart from the sibling tools like get_aipou_status or get_aipou_contract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: when a client needs to display or verify the farming wallet and collector. It does not discuss exclusions or alternatives, but the stated trigger is clear enough for an agent to decide on invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aipou_statusARead-onlyIdempotent
Use this first when the user asks for pending, claimed, or wallet-balance information; use a settlement tool only after an explicit claim request. Returns a read-only JSON summary of receipt counts, estimated pending AIPOU, prior settlement state, and the farming wallet's on-chain AIPOU balance. It may read Base through the configured RPC, but it never signs or submits a transaction, changes receipts, reveals private keys, or returns full receipt payloads.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and idempotent. The description adds valuable behavioral details: it may read Base via RPC but never signs/submits transactions, changes receipts, reveals private keys, or returns full receipt payloads. This goes beyond the annotations to clarify side-effect-free and privacy-preserving behavior, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The first sentence front-loads the primary use case and the exclusion of settlement tools; the second packs a dense but well-organized list of return fields and behavioral constraints. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain what is returned, and it does: a JSON summary of receipt counts, pending AIPOU, settlement state, and wallet balance. It also clarifies what it does NOT return (full receipt payloads) and its network access. For a zero-arg read-only tool, this is complete and actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered (100%). Per the rubric, baseline is 4 for 0 params. The description doesn't need to reference parameters since none exist; it focuses on the output, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: a read-only status checker for pending, claimed, and wallet-balance information. It lists the specific data returned (receipt counts, pending AIPOU, settlement state, wallet balance) and distinguishes it from settlement tools, making it unmistakable among its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this first when the user asks for pending, claimed, or wallet-balance information' and tells when NOT to use settlement tools ('only after an explicit claim request'). This provides unambiguous routing guidance and prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
settle_ai_rewardsA
Use only after an explicit user request to claim one limited batch, not for status or reward previews. maxReceipts defaults to 25 and is capped at 100; the tool validates eligible local receipts against settlement policy, publishes one Merkle root, and mints the included rewards. It submits two Base transactions, so the host client and user must apply their own confirmation policy. Use settle_all_ai_rewards instead for an explicit request to claim all pending eligible receipts.
| Name | Required | Description | Default |
|---|---|---|---|
| maxReceipts | No | Maximum eligible receipts to include in this one settlement batch, from 1 through 100; defaults to 25. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, non-idempotent operation. The description adds meaningful behavioral details: it validates receipts, publishes one Merkle root, mints rewards, and submits two Base transactions requiring user confirmation. It doesn't disclose whether eligible receipts are consumed or marked settled after the call, which would be useful, but it goes well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the first sets the usage gate, the second explains the parameter and operational mechanics, the third addresses confirmation, and the last names the alternative. It is dense, front-loaded, and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the trigger, scope, core behavior, transactions, and alternative. However, there is no output schema, and the description does not state what the tool returns (e.g., transaction hashes, settlement receipt, or confirmation status) or what post-conditions exist on the included receipts. For a multi-transaction settlement action, this is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter maxReceipts is fully documented in the schema with default, minimum, maximum, and a descriptive explanation. The description repeats the default and cap but adds no new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('settle'/'claim') and clearly identifies the resource: one limited batch of eligible local receipts. It also explicitly distinguishes itself from settle_all_ai_rewards, so an agent can reliably know exactly what scope this tool operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description opens with an explicit trigger condition: 'Use only after an explicit user request to claim one limited batch'. It also states what it is not for ('not for status or reward previews') and names the alternative for all-pending claims, giving clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
settle_all_ai_rewardsA
Use only after an explicit broad request such as 'claim my AIPOU' or 'settle all pending AIPOU'; do not use it for a status check. batchSize defaults to 100 and maxBatches to 20, with bounds of 1-100 and 1-50, so large queues remain bounded. It validates all currently eligible local receipts and submits Base transactions for each batch: one Merkle-root publication and one claim transaction per batch. The host client and user must apply their own confirmation policy; use settle_ai_rewards when the user asks for one limited batch.
| Name | Required | Description | Default |
|---|---|---|---|
| batchSize | No | Eligible receipts per settlement batch, from 1 through 100; defaults to 100. | |
| maxBatches | No | Maximum settlement batches to submit in this call, from 1 through 50; defaults to 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false and idempotent=false; the description adds concrete behavior: validating eligible receipts, submitting one Merkle-root publication and one claim transaction per batch, and requiring host/user confirmation policy. It also explains bounded execution, which is valuable beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four dense sentences with no filler. Each sentence earns its place: usage trigger, parameter bounds, transaction behavior, and alternative routing. It is front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two self-describing parameters and no output schema, the description covers trigger conditions, exclusions, batching semantics, transaction details, confirmation responsibility, and sibling differentiation. No critical operational gap remains for an agent deciding whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with defaults and bounds already documented, but the description adds operational meaning: batchSize represents eligible receipts per batch, maxBatches bounds total settlement work, and the per-batch transaction count clarifies the effect of each parameter. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the operation as settling all eligible local receipts and submitting Base transactions per batch, making the tool's scope explicit. It also distinguishes itself from settle_ai_rewards, so an agent can tell them apart without opening the sibling schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a precise trigger condition ('claim my AIPOU' or 'settle all pending AIPOU'), explicitly says not to use it for a status check, and names settle_ai_rewards as the alternative for a single limited batch. This gives clear when-to-use and when-not-to-use guidance.
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.
4 tool updates
v0.1.3- Changed
begin_ai_task4 fields changed- added
Input schema / properties / client / descriptionAdded value: +"Host client or agent identifier that starts this task session, from 1 through 64 characters." - added
Input schema / properties / model / descriptionAdded value: +"Provider model identifier used for this task, from 1 through 128 characters." - added
Input schema / properties / provider / descriptionAdded value: +"AI provider name for this task session, from 1 through 64 characters." - added
Input schema / properties / taskHash / descriptionAdded value: +"32-byte hash of the task description; never send the raw prompt or task text."
- Changed
export_ai_receipts1 field changed- added
Input schema / properties / wallet / descriptionAdded value: +"Optional 20-byte farming wallet address filter. Omit it to export every locally stored receipt."
- Changed
settle_ai_rewards1 field changed- added
Input schema / properties / maxReceipts / descriptionAdded value: +"Maximum eligible receipts to include in this one settlement batch, from 1 through 100; defaults to 25."
- Changed
settle_all_ai_rewards2 fields changed- added
Input schema / properties / batchSize / descriptionAdded value: +"Eligible receipts per settlement batch, from 1 through 100; defaults to 100." - added
Input schema / properties / maxBatches / descriptionAdded value: +"Maximum settlement batches to submit in this call, from 1 through 50; defaults to 20."
8 tool updates
v0.1.1- Added
begin_ai_task - Changed
complete_ai_task11 fields changed- added
Input schema / properties / durationSeconds / descriptionAdded value: +"Task duration in whole seconds from 0 through 86,400." - added
Input schema / properties / inputTokens / descriptionAdded value: +"Non-negative input-token count for this task, capped at 10,000,000." - added
Input schema / properties / nonce / descriptionAdded value: +"Unique 32-byte nonce returned by begin_ai_task for this exact task." - removed
Input schema / properties / outputHash / $refRemoved value: -"#/properties/nonce" - added
Input schema / properties / outputHash / descriptionAdded value: +"SHA-256-style 32-byte hash of the task output; never send the raw output." - added
Input schema / properties / outputHash / patternAdded value: +"^0x[a-fA-F0-9]{64}$" - added
Input schema / properties / outputHash / typeAdded value: +"string" - added
Input schema / properties / outputTokens / descriptionAdded value: +"Non-negative output-token count for this task, capped at 10,000,000." - added
Input schema / properties / providerEvidence / descriptionAdded value: +"Optional provider-signed evidence. Omit it for a client-signed receipt." - added
Input schema / properties / providerEvidence / properties / keyId / descriptionAdded value: +"Configured provider-verification key identifier, between 1 and 128 characters." - added
Input schema / properties / providerEvidence / properties / signature / descriptionAdded value: +"Provider signature over the canonical evidence payload; invalid evidence fails closed."
- Added
create_paybox_work_link - Added
create_technocore_work_link - Changed
estimate_ai_reward3 fields changed- added
Input schema / properties / durationSeconds / descriptionAdded value: +"Task duration in whole seconds from 0 through 86,400." - added
Input schema / properties / inputTokens / descriptionAdded value: +"Non-negative input-token count for this task, capped at 10,000,000." - added
Input schema / properties / outputTokens / descriptionAdded value: +"Non-negative output-token count for this task, capped at 10,000,000."
- Added
export_ai_receipts - Added
settle_ai_rewards - Added
settle_all_ai_rewards
5 tool updates
v0.1.0- First observed
complete_ai_task - First observed
estimate_ai_reward - First observed
get_aipou_contract - First observed
get_aipou_identity - First observed
get_aipou_status
TDQS
Scored across 11 tools
Each tool has a distinct, clearly defined role: task lifecycle (begin, complete, estimate), settlement (settle one batch vs all), linking (Paybox vs Technocore), and read/utility (status, contract, identity, export). No two tools could be easily confused; even the two settlement tools are explicitly differentiated by scope and usage conditions.
All tool names follow a consistent verb_noun pattern with clear, domain-specific verbs (begin, complete, estimate, export, create, settle, get) and nouns (ai_task, ai_reward, paybox_work_link, aipou_status). The only slight variation is 'settle_all_ai_rewards' vs 'settle_ai_rewards', which is logical and still follows the pattern.
With 11 tools, the set is well-scoped and neither sparse nor bloated. Each tool covers a meaningful operation in the AI task farming and settlement workflow, from task initiation to reward claiming, without redundancy.
The domain of AI proof-of-work reward management is fully covered: task creation, completion, estimation, settlement (both single-batch and all), receipt export, external linking, and read-only status/contract/identity queries. There are no obvious missing operations; the lifecycle is closed from start to finish.
Maintenance
Related MCP Connectors
A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,
Trust Layer for AI work. Give your AI hands. Every run returns a verifiable receipt. No key needed.
TPermanent memory layer for AI agents. Mint moments to the Polygon blockchain via MCP.
Issue signed receipts for AI agent actions; verify any receipt offline - free, no account.
Related MCP Servers
- AlicenseAqualityCmaintenanceCryptographic accountability for AI agents. Ed25519-signed receipts for every MCP tool call. Constraints, chains, AI judgment, invoicing, and local dashboard included.243 npm1MIT
- AlicenseAqualityCmaintenanceAI-agent observability server whose distinguishing feature is a SHA-256 hash-chained, tamper-evident audit log with chain verification and signed export. Works with Claude Desktop, Cursor, and any MCP client.222 npm23MIT
- AlicenseAqualityBmaintenanceEnables AI agents to create cryptographically verifiable receipts of their delegated work, with capabilities for multi-party approval and offline verification.1147 npmApache 2.0
- FlicenseNot gradedqualityCmaintenanceCryptographically anchored, tamper-evident evidence receipts for AI agents — verified run receipts, existence-at-time proofs, and cited answers from an anchored public record. Remote MCP with proof-gated settlement; attests existence and integrity, never truth.-