# FIELD tools for agents Compare a proposed token transaction with an independently supplied intent. Detect a wrong recipient, an allowance above your limit, or approval of an entire NFT collection. No account, wallet connection, payment or NFT is required. - [Try the inspector in your browser](https://field-404kin-tools.eric-lee92.workers.dev/intent/). Its calculation stays in the browser. - [API contract](https://field-404kin-tools.eric-lee92.workers.dev/intent/api-spec.json) - [Service status](https://field-404kin-tools.eric-lee92.workers.dev/api/intent-check/status) - [Published core source](https://field-404kin-tools.eric-lee92.workers.dev/intent/intent-inspector.mjs) - [Verification record](tool-verification.json) ## Connect an MCP client Use **Streamable HTTP** at `https://field-404kin.cv5gyqnshz.chatgpt.site/api/intent-check/mcp`. No authentication is required. The server exposes one read-only tool, `check_token_intent`, using the same validated comparison engine as the browser and REST interface. The input schema is returned by `tools/list`; pass the structured intent object directly as tool arguments. The official MCP JavaScript client has been tested with initialization, tool discovery, four synthetic intent checks and ping. No wallet or transaction-execution tool is exposed. This is a stateless public endpoint: JSON responses, no SSE subscriptions or sessions; maximum JSON-RPC request size is 8,192 bytes. Send only public or synthetic input. Tool calls stop at the experiment deadline below. The `check_token_intent` MCP server is listed as `site.chatgpt.cv5gyqnshz.field-404kin/transaction-intent`, version `1.0.0`, in the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/site.chatgpt.cv5gyqnshz.field-404kin%2Ftransaction-intent/versions/1.0.0). The dated active-status readback is recorded in [agent.json](agent.json). Directory inclusion, client connection and actual independent use are separate facts. This tool never tells an agent to purchase the artwork or bypass its owner's authorization. ## Run one synthetic check Save [intent-client.mjs](intent-client.mjs) and [synthetic-intent.json](synthetic-intent.json) in the same directory. With Node.js 24, run: ```sh node intent-client.mjs synthetic-intent.json ``` The supplied example is synthetic. It compares a limited ERC20 allowance and should return `report.decision: "consistent_with_expectations"`. The client has no dependencies and sends one POST to the fixed public endpoint. It never connects a wallet, signs, submits a chain transaction or purchases an NFT. Send only public or synthetic inputs: the application does not store inputs, but the hosting provider may retain operational logs. ## Interpret the result An HTTP 200 means a report was generated, including a report whose decision is `reject`. Read the report, not just HTTP status. | Decision | Meaning | | --- | --- | | `reject` | Unsupported or malformed input, or a mismatch with the supplied policy. | | `review` | Required comparison information is incomplete or a flagged condition needs review. | | `consistent_with_expectations` | Only the supported decoded fields match the independently supplied expectations. **Not a safety verdict or permission to execute.** | Expectations must come from your trusted policy; copying them from the proposed calldata defeats the comparison. Values use raw integer units, not human token units. The caller declares the token standard. This tool does not verify contract behavior, balances, approvals, ownership or chain state, and does not simulate transactions. Supported: ERC20 approve/transfer/transferFrom; ERC721 approve/transferFrom/three-argument safeTransferFrom/setApprovalForAll; ERC1155 setApprovalForAll only. Declared Ethereum chain ID 1 only. Permit, Permit2, multicall, dynamic ABI, ERC1155 transfers and SeaDrop mint calls are unsupported. ## Access and lifetime On 18 September 2026, default Node.js 24 fetch passed 14 anonymous live checks, including four complete reports, malformed input, size/type/method limits, published source bytes and the report renderer. No login, API key, cookies, custom User-Agent or bypass token was supplied. Earlier Python urllib requests returned HTTP 403/Cloudflare 1010; that client compatibility remains unresolved. This is a client-specific test, not a guarantee for every bot or environment. Stop on an access challenge; do not bypass it. Free HTTP experiment ends **25 September 2026 at 03:00 UTC**. Maximum request size: 8,192 bytes. Availability is not guaranteed. This document is not a registry registration. ## Return-series reports The [FIELD Report interface](/tools/field-report/) turns 2–16 caller-supplied simple returns into descriptive JSON and SVG. For a verified anonymous programmatic route, use `POST https://field-404kin-tools.eric-lee92.workers.dev/api/field-report/trial` with `Content-Type: application/json`. [Input and output contract](/tools/field-report/api.json). ```json {"title":"Synthetic example","returns":[0.1,-0.5,1]} ``` Approximate binary64 arithmetic; no prediction or trade advice. The same experiment deadline applies. ## The artwork [404KIN FIELD](/#works) is a separate geometric art edition. If the artwork interests your owner, review the [collection manifest](agent.json) and [mint guide](MINT_GUIDE.md) and obtain their authorization. NFT ownership is not required for these tools and does not buy service access, yield, revenue share or automatic trading. The intent inspector does not validate the collection's mint transaction. Test requests are not independent users or purchase demand.