{
  "markdown": "# Say Ur Intent\n\n**JUST SAY \"CONNECT WALLET.\"**\n\nSay Ur Intent is a local-first Sui review and evidence layer for AI clients.\n\nIt turns a supported AI-requested Sui action into a local review page where the\nuser reads the transaction summary, inspects the transaction (PTB) as a graph,\nand signs in their own wallet. The AI client never receives signing authority or\nexecutable transaction bytes.\n\n![Say Ur Intent local review page](https://raw.githubusercontent.com/stelis-dev/say-ur-intent/main/assets/sui1.png)\n\n*The local review page: deterministic review checks, review-time simulation\nevidence, and the transaction shown as a labeled PTB graph — what the user\nreviews before signing in their own wallet.*\n\nFor natural-language Sui DeFi questions, the current release also returns\nverified, AI-readable evidence before any transaction is built. That answer path\nstays separate from account-bound swap review, where the review server builds\nlocal unsigned transaction material internally and, once every review evidence\nstage completes, the local review page offers a digest-gated byte handoff,\nand user-controlled wallet signing. After the page reports the signed transaction\ndigest, the review server re-reads Sui mainnet and records normalized chain\nreceipt evidence. MCP responses never sign, execute, or return transaction\nbytes; the only transaction-byte path is the same-machine, digest-gated wallet\nhandoff initiated from the local review page.\nThe review page shows the server-read chain receipt facts inline, and a public\nReceipt Analytics page reads on-chain receipt facts for any transaction digest,\nwithout adding wallet, signing, or execution authority.\n\nBecause the AI never holds keys, never signs, and never builds the transaction —\nthe tool builds it against pinned, known protocol packages, and you review the\ndecoded bytes and sign in your own wallet — the failure modes that make AI and\nDeFi dangerous together (an agent acting on its own, signing on your behalf, or\nslipping in an opaque or substituted transaction) are closed by design, not\npatched by asking you to trust the model.\n\nThat guarantee is byte-level: the bytes you approve are the bytes your wallet\nsigns — not a claim that the human-readable review captures every detail of the\ntransaction, so the raw PTB structure and addresses stay inspectable beside it.\n\nUsers can ask ordinary questions:\n\n- \"Can I cover a 1000 dollar payment with my assets?\"\n- \"How much are my USD-denominated assets together?\"\n- \"What is the shortfall?\"\n\nThe broader product direction does not stop at pre-execution review. From\nverified evidence, Say Ur Intent aims to carry an AI client's or MCP server's Sui\npayment or action request through a human-readable local review and on to\nuser-controlled wallet signing and execution receipt evidence — only after Say Ur\nIntent independently builds or verifies the transaction material. The three\nlayers below state what is implemented today, what is deliberately sequenced\nnext, and what stays permanently out of scope. For any\nsuch request, Say Ur Intent explains what current verified evidence supports, what\nchoices remain with the user, and what claims are unsupported.\n\n## Product Scope in Two Layers\n\nSay Ur Intent is one product, but it must be read at two distinct layers. Do not collapse them:\n\n- **Implemented:** Sui mainnet evidence, local review, and signable review adapters for the DeepBook and FlowX swap routes, registered through protocol-agnostic adapter contracts. The account-bound DeepBook and FlowX swap reviews build unsigned transaction material into a local in-process material store, internally bind a Sui transaction digest to that stored material, derive object ownership, quote/policy provenance, human-readable review facts, review-time simulation evidence, and PTB visualization evidence from the same private review artifacts, emit a schema-validated wallet review contract on a `ready_for_wallet_review` state, and serve a digest-gated byte handoff to the same-machine review page for user-controlled wallet signing. After the page reports a signed transaction digest, the review server re-reads Sui mainnet and records normalized chain receipt evidence on the session. The review page shows the server-read chain receipt facts inline, and a public Receipt Analytics page reads on-chain receipt facts for any transaction digest. MCP responses do not contain transaction bytes, signing data, or signing readiness.\n- **Never (permanently unsupported at every layer):** no private-key custody, no MCP or AI autonomous execution, no forwarding of opaque external transaction bytes to a wallet, no silent settlement-token or route choice, no fiat cash-out, no P&L, no peg guarantee.\n\nIn one sentence: Say Ur Intent is a local-first Sui intent evidence and review layer that progresses from verified evidence to user-controlled wallet signing only after Say Ur Intent independently builds or verifies the transaction material and shows a human-readable local review.\n\nDeepBook and FlowX are the current Sui liquidity and price sources in this\nrelease: DeepBook provides scoped conversion, price, and orderbook evidence, and\nFlowX provides indicative CLMM route quotes. Wallet and Sui balance reads\ndescribe held assets. They do not define the whole product.\n\nSay Ur Intent does not custody funds, hold private keys, or autonomously trade\non behalf of users.\nBy current design, it does not rank venues, choose routes, make best-price\nrecommendations, or silently choose settlement tokens for users.\n\nThe current release can build local unsigned transaction material inside the\naccount-bound DeepBook and FlowX swap review paths. It does not expose\ntransaction bytes.\nWallet signing is user-controlled on the local review page after a\ndigest-gated handoff; MCP responses never request signatures, provide signing\nreadiness, or execute payments.\n\nCurrent review sessions are local evidence-review records only. DeepBook and\nFlowX review state may show that local transaction material was built,\ninternally bound to a Sui transaction digest, and used to derive object\nownership, quote/policy provenance, human-readable review facts,\nreview-time simulation evidence, and PTB visualization evidence. Review\nsessions do not contain public transaction bytes, signing requests, or\nexecutable wallet actions; the dedicated same-machine handoff endpoint is the\nonly transaction-byte path and is gated by recomputed digest equality.\n\nThe current release flow is:\n\n```text\nThe user states an intent in natural language.\nSay Ur Intent resolves the supported Sui mainnet evidence surface.\nThe AI answers only from returned evidence and boundaries.\nSupported swap transaction material build is an account-bound review step, not\npart of the natural-language intent evidence answer.\n```\n\nThe current release implements intent evidence for supported Sui mainnet reads.\nIt can also create a read-only, non-signable local review session from a\nstructured external payment or Sui action proposal. External proposal ingestion\ndoes not trust external transaction material or send anything for wallet signing.\n\nFor setup, see [docs/MCP_SETUP.md](docs/MCP_SETUP.md).\nFor the MCP API reference, see [docs/MCP_TOOLS.md](docs/MCP_TOOLS.md).\nFor the AI-client answer playbook, see [docs/AGENT_BEHAVIOR.md](docs/AGENT_BEHAVIOR.md).\nFor manual maintainer and developer utilities, see [docs/UTILITY_INDEX.md](docs/UTILITY_INDEX.md).\n\nUser-question flows for USD-denominated coverage, balance totals, and shortfall answers live in [docs/AGENT_BEHAVIOR.md](docs/AGENT_BEHAVIOR.md). The response fields for those answers live in [docs/MCP_TOOLS.md](docs/MCP_TOOLS.md).\n\n## What Works Today\n\nThe current release can run as a local stdio MCP server and expose mainnet Sui DeFi evidence:\n\n- wallet balances with verified display units;\n- coin-balance classification;\n- USD-denominated settlement asset groups derived from pinned DeepBook SDK registry metadata;\n- intent evidence with response summaries for natural-language USD-denominated payment coverage, balance-total, and shortfall questions;\n- DeepBook pools, tokens, mid price, orderbook context, raw quotes, display-amount quotes, and account inventory;\n- FlowX CLMM pools and indicative single-hop swap route quotes from the chain-verified pinned registry;\n- user-requested bounded Sui transaction digest lookup, account activity scans, sent-function activity scans with known-wallet-only persistence, and stored normalized activity summaries;\n- read-only external proposal review sessions that display proposed action, asset flow, recipient or target, freshness, missing evidence, user choices, unsupported claims, and non-signable reason;\n- local Say Ur Intent review evidence and review-session status reads;\n- account-bound DeepBook and FlowX swap review progress through local unsigned transaction material build, internal Sui transaction digest binding, object ownership evidence, quote/policy provenance binding, human-readable review facts, and review-time simulation evidence; when every stage completes the review reaches `ready_for_wallet_review` and the local review page offers a digest-gated byte handoff and user-controlled wallet signing. After the page reports the signed transaction digest, the review server re-reads Sui mainnet and records normalized chain receipt evidence. MCP responses never sign, execute, or return transaction bytes; transaction bytes flow only through the same-machine, digest-gated wallet handoff initiated from the local review page.\n- the review page's inline server-read chain receipt facts for terminal review\n  sessions, and a public Receipt Analytics page that reads on-chain receipt\n  facts (execution status, balance changes, object changes, and Move calls) for\n  any transaction digest.\n\nIt also includes:\n\n- a local review server bound to `127.0.0.1`;\n- a local SQLite store for active account read context and review evidence;\n- MCP output checks that reject forbidden executable, signing, token, seed, and\n  key-material field names from responses.\n\n## Screens\n\n**Review → result.** The review page shows exactly what you are about to sign\nwhile nothing is committed; after you sign in your own wallet, the server\nre-reads Sui mainnet and renders the chain-verified receipt.\n\n![Chain-verified receipt](https://raw.githubusercontent.com/stelis-dev/say-ur-intent/main/assets/sui2.png)\n\n**The transaction as a labeled graph.** Every review and receipt renders the\nPTB as a graph, so the structure of what is signed is visible — not just the\namounts.\n\n![PTB transaction graph](https://raw.githubusercontent.com/stelis-dev/say-ur-intent/main/assets/ptb-graph.png)\n\n**DeepBook USDC chart.** A local, theme-aware candlestick view of the official\nDeepBookV3 Indexer USDC candles.\n\n![DeepBook USDC chart](https://raw.githubusercontent.com/stelis-dev/say-ur-intent/main/assets/sui0.png)\n\n## Current Limits\n\n### Not Implemented\n\nExternal proposal execution is not implemented. Further local analysis views\nbeyond the current inline review receipt and public Receipt Analytics page are\nnot implemented. Transaction material build, contract emit, digest-gated wallet\nhandoff, user-controlled signing, signed-digest reporting, server-read chain\nreceipt recording, the inline review receipt, and the public Receipt Analytics\nread are implemented for the account-bound DeepBook and FlowX swap review\nthrough a plan-factory registry.\n\nExternal proposal ingestion is implemented only for read-only local review\nsessions. It accepts structured proposal facts, rejects forbidden executable or\nsigning fields, recognized Sui private-key strings, valid English BIP39\nmnemonic phrases, obvious sensitive markers, and suspicious raw secret-like\npayloads before storage, and records why the review is non-signable.\n\nBlocked review state is session-scoped: a review session stays blocked while\nrequired review evidence is missing for that session (for example\n`wallet_review_contract_emit_missing`). When an account-bound supported swap\nreview completes local transaction material, digest binding, object ownership,\nquote/policy provenance, human-readable review evidence, and review-time\nsimulation evidence, the review layer emits a schema-validated\n`WalletReviewAdapterContract` bound to the same transaction commitment on a\n`ready_for_wallet_review` state. Wallet handoff is gated on a recomputed\ndigest matching that commitment, and the review page then offers\nuser-controlled wallet signing. After the signed transaction digest is\nreported, the review server re-reads Sui mainnet and records a normalized chain\nreceipt on the session. Review-time simulation and the emitted contract are\nevidence about stored local material only; they are not signing readiness,\nwallet readiness, or execution readiness. The chain receipt is post-execution\nserver-read evidence for that digest; it is not an economic-outcome guarantee,\nnot route quality, not fiat value, not P&L, not tax evidence, not best-price\nevidence, and not peg evidence.\nNone of these is a user bypass state.\n\nThe signable adapter and PTB visualization boundary is documented in\n`docs/SIGNABLE_ADAPTER_CONTRACT.md`. The runtime path emits\n`WalletReviewAdapterContract` as pre-signing review evidence when every\nrequired evidence stage is complete; the contract carries the transaction\ncommitment hash only.\n\nWallet signing and the digest-gated byte handoff happen only on the local\nreview page through the user's own wallet, never through MCP responses. MCP\nresponses do not return executable transaction material or signing data, and\ndo not provide signing readiness.\n\nFiat cash-out, P&L, tax, and cost-basis support are not part of the current release.\n\n### Permanent Safety and Correctness Boundaries\n\nThese are product boundaries and must not be relaxed by ordinary feature work:\n\n- Say Ur Intent does not custody funds, hold private keys, or autonomously trade.\n- It does not treat USDC, USDT, or any USD-denominated settlement asset as fiat\n  USD, a bank cash-out amount, or a USDC/USD peg guarantee.\n- It does not turn quote-only conversion candidates into payment coverage, shortfall evidence, funding readiness, payment execution readiness, or signing readiness.\n\n### Out of Scope by Current Design\n\nThese product behaviors are out of scope in the current release by design:\n\n- It does not silently choose USDC, USDT, or another settlement token for a\n  user. It can report supported settlement asset groups and can use a settlement\n  token only when the user selected it explicitly.\n- It does not rank venues, choose routes, or make best-price recommendations.\n\n### Quote Response Limits\n\nQuote tools such as `read.quote_deepbook_action` and\n`read.quote_deepbook_display_amount` return scoped quote facts and raw quote\nevidence only.\n\nTheir semantics mark quote output as price evidence, not payment coverage or shortfall evidence. Coverage and shortfall answers come from `read.preview_intent_evidence.responseSummary`.\n\nFor quote responses alone, these conclusions are unsupported:\n\n- payment coverage is not available;\n- shortfall contribution is not available;\n- route-dependent payment support is not available;\n- final min-out values are not available;\n- route recommendations are not available;\n- venue comparisons are not available;\n- effective-price claims are not available;\n- price-impact calculations are not available;\n- quote-vs-mid slippage is not available;\n- fiat cash-out estimates are not available;\n- external market lookups are not available;\n- USDC/USD peg assumptions are not available;\n- P&L is not available;\n- cost basis is not available;\n- actionable signing data is not available.\n\n## Install\n\nInstall from the MCP registry (server `io.github.stelis-dev/say-ur-intent`) or with `npx -y @stelis/say-ur-intent`. For per-client configuration (Claude Code, Claude Desktop, Codex, Cursor) and running from a local checkout, see [docs/MCP_SETUP.md](docs/MCP_SETUP.md).\n\nAfter the MCP server is connected, use [docs/MCP_SETUP.md](docs/MCP_SETUP.md#first-use-flow) for first-use setup, [docs/MCP_TOOLS.md](docs/MCP_TOOLS.md) for API fields and statuses, and [docs/AGENT_BEHAVIOR.md](docs/AGENT_BEHAVIOR.md) for user-question flow and response wording.\n\n## Mainnet-Only Product Surface\n\nProduct docs, registry, AI responses, UX copy, and signable actions are mainnet-only.\n\nUnsupported protocol experiments are not product functionality and are not included in the package docs, MCP resources, registry support lists, UX copy, or signable-action lists.\n\n## MCP Tools\n\nThe canonical MCP API reference lives in [docs/MCP_TOOLS.md](docs/MCP_TOOLS.md).\n\nThe server also exposes `read.get_server_status`. It returns the package version, evidence policy version, `implementedToolsCount`, and implemented tool list at runtime.\n\nDeepBook pool-price context is exposed through `read.get_deepbook_mid_price`. Use `docs/MCP_TOOLS.md` for the response fields and unsupported conclusions.\n\nTool names use dot prefixes because the MCP spec recommends ASCII letters, digits, underscore, hyphen, and dot for tool names. `action.prepare_sui_action_review` returns a `reviewSessionId` and `reviewUrl`; it does not return executable transaction bytes.\n\n## Documentation Map\n\nThe server exposes only a subset of repository documents as MCP resources.\n\nRuntime-facing MCP resources currently include:\n\n- this README;\n- `docs/MCP_SETUP.md`;\n- `docs/MCP_TOOLS.md`;\n- `docs/WALLET_IDENTITY.md`;\n- `docs/AGENT_BEHAVIOR.md`;\n- `protocols/deepbook-v3.md`;\n- `protocols/deepbook-margin.md`.\n\nProtocol resources are explanatory references. Current support is declared by `read.get_server_status`, `read.list_supported_protocols`, concrete tool schemas, and concrete tool responses, not by protocol Markdown alone.\n\nDevelopment-only or release-review documents can define contributor rules and checks.\n\nAI client answer behavior must be mirrored in runtime-facing instructions, resources, prompts, schemas, or returned evidence fields before it is treated as product behavior.\n\n- `README.md`: Public entry document: product purpose, current release boundary, setup path, and documentation map.\n- `docs/MCP_SETUP.md`: Setup guide: installation, MCP client connection, first-use flow, settings, and troubleshooting.\n- `docs/MCP_TOOLS.md`: API reference: tool contracts, response fields, statuses, follow-up fields, and output boundaries.\n- `docs/AGENT_BEHAVIOR.md`: Answer playbook: user-question flows, tool selection, and response wording boundaries.\n- `docs/WALLET_IDENTITY.md`: Wallet identity reference: active-account read context and same-machine capture boundaries.\n- `protocols/deepbook-v3.md`: Protocol reference only; use MCP tool responses and read.list_supported_protocols for current support.\n- `protocols/deepbook-margin.md`: Protocol reference only; no margin MCP read tools or signable actions are exposed in this release.\n- `docs/golden-scenarios/INTENT_EVIDENCE_MATRIX.md`: current-release question, tool-path, and standard-answer matrix for AI client release review.\n- `docs/golden-scenarios/BEHAVIOR_MATRIX.md`: broader behavior scenario matrix for supported and unsupported user prompts.\n- `docs/TRANSACTION_ACTIVITY_LOG.md`: transaction activity evidence, storage, scan, and summary boundaries.\n- `docs/UTILITY_INDEX.md`: manual maintainer and developer utilities. Utility rows are not MCP tools unless they explicitly name an MCP tool, and source-checkout scripts are not packaged product commands.\n- `docs/LOCAL_DB_ARCHITECTURE.md`: local SQLite storage boundaries for maintainers.\n- `docs/SDK_API.md`: pinned SDK API notes and source-verification boundaries.\n- `docs/FRONTEND_POLICY.md`: review-app frontend implementation policy for coding agents.\n- `docs/SIGNABLE_ADAPTER_CONTRACT.md`: wallet-review adapter and PTB visualization contract. It defines the pre-signing review evidence and commitment boundary; wallet signing still happens only through the local review page, not through MCP.\n- `AGENTS.md`: root repository development contract and non-negotiable product boundaries for coding agents working on this codebase.\n- `docs/AGENT_DEVELOPMENT_POLICY.md`: detailed binding development, review, documentation, source-of-truth, and completion policies for coding agents.\n\n## Contract Name Registry\n\nThe PTB visualization on the review page can show human-readable labels in place\nof raw addresses, with a toggle back to raw addresses and a copyable Mermaid\nsource that always keeps raw addresses. A label is identity display only, not a\nsafety, trust, route-quality, or signing-readiness signal, and only registered\naddresses are relabeled.\n\nTwo pinned, context-aware registries in\n[`src/core/action/contractNameRegistry.ts`](src/core/action/contractNameRegistry.ts)\ndrive this:\n\n- packages, relabeled only in `<address>::` path position — the DeepBook swap\n  package by its Move Registry (MVR) name `@deepbook/core`, and the Sui framework\n  packages by their Move aliases (`std`, `sui`, `sui_system`);\n- well-known Sui system objects, relabeled only as a bare object id — `Clock`,\n  `SuiSystemState`, `Random`, `DenyList`, `CoinRegistry`, and the address-based\n  balance `AccumulatorRoot`.\n\nIf you maintain a Sui DeFi protocol that has a registered MVR name and want its\npackage to display that name in the review graph, open a pull request adding your\nmainnet package address and MVR name to the package registry. Every unregistered\naddress keeps its raw form.\n",
  "bytes": 21444,
  "sha": "e521430c74140fe2a0a467629186b81de90e1dfc4af547c291651614ab1e1f72",
  "repo_slug": "stelis-dev/say-ur-intent",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_stelis_dev_say_ur_intent_de4f19d3/readme"
}