Skip to main content
Glama

Base Uniswap v4 Zero-Slippage RFQ Hook

Server Details

Zero-slippage swaps on Base (8453) via Uniswap v4 Hook 0xd72CD1d46bA05479583fbB561B558f133BA98088.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
Repository
lucascordone-spec/base-univ4-rfq-hook
GitHub Stars
0

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation3/5

The set has overlap: univ4_rfq_get_quote, univ4_rfq_get_hookdata, and univ4_rfq_quote_and_build_swap form a two-step vs one-step flow where the builder duplicates the other two. The relationship between the quoteId returned by get_quote and the hookData fetched by get_hookdata is implied but not explicit, making selection non-obvious. univ4_rfq_list_pools is clearly distinct.

Naming Consistency4/5

All tools share the univ4_rfq_ prefix and use snake_case, giving a predictable namespace. The verbs are mostly simple (get, list) with one compound exception, quote_and_build_swap, which slightly breaks the verb_noun pattern but remains readable.

Tool Count5/5

Four tools is well-scoped for a narrow Uniswap v4 RFQ hook integration. Each tool maps to a distinct step in the quoting/swapping lifecycle without redundancy that would bloat the surface.

Completeness4/5

The surface covers pool listing, indicative quoting, signed hookData retrieval, and one-step swap construction, which are the core operations for this RFQ hook. Minor gaps exist, such as a per-pool detail lookup or explicit quoteId lifecycle/refresh handling, but agents can work around them.

Available Tools

4 tools
univ4_rfq_get_hookdataAInspect

Retrieves the pre-fetched ECDSA-signed bytes hookData for a quoteId to pass to Uniswap v4 PoolManager.swap(key, params, hookData).

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesThe 32-byte hex quoteId returned by univ4_rfq_get_quote

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses that the value is pre-fetched and ECDSA-signed, implying no local signing is needed, but says nothing about quoteId lifetime/expiry, whether hookData can go stale, failure modes, or idempotency — meaningful gaps for an RFQ flow.

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

Conciseness5/5

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

A single efficient sentence that front-loads the action and resource and ends with the concrete integration target. No filler or redundancy.

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

Completeness4/5

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

With one parameter and no output schema, the description covers the essential contract: what is fetched and what the returned bytes are for. It is only slightly thin on lifecycle/failure context, but an agent has enough to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%: the single quoteId parameter already documents itself as the 32-byte hex value returned by univ4_rfq_get_quote. The description adds no format or constraint detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

The description gives a specific verb (retrieves) and a specific resource (pre-fetched ECDSA-signed hookData bytes for a quoteId), and even states the downstream consumer (PoolManager.swap). It is immediately distinguishable from get_quote and quote_and_build_swap, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the phrase 'for a quoteId' and the reference to passing the result to PoolManager.swap, which suggests a post-get_quote step. However, there is no explicit when-to-use, ordering, or when-not guidance relative to siblings like univ4_rfq_quote_and_build_swap, which may already bundle building.

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

univ4_rfq_get_quoteBInspect

Sub-millisecond (<1ms) indicative quote from Chainlink On-Chain Oracles on Base Mainnet (-0.30% fee) and speculative KyberSwap route pre-fetch.

ParametersJSON Schema
NameRequiredDescriptionDefault
isWeiNoSet true if amountIn is in raw wei
tokenInYesInput token symbol or address on Base
amountInYesInput amount
tokenOutYesOutput token symbol or address on Base

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does add real context: sub-millisecond latency, a -0.30% fee, Base Mainnet as the chain, and two data sources. But it omits critical behavioral facts for a quote tool — whether the quote is binding, how long it is valid, whether it requires auth, and whether the KyberSwap portion is merely speculative in the sense of unreliable.

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

Conciseness4/5

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

A single densely packed sentence that front-loads the headline benefit (sub-millisecond latency) before the sources. No wasted sentences, though the jargon and the ambiguous '-0.30% fee' (is it a fee or a rebate?) slightly reduce clarity.

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

Completeness3/5

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

The description is adequate for a quote-fetch call but thin given there are no annotations and no output schema. It never indicates what the agent receives back (amounts out, route, fee breakdown, expiry), which matters for deciding whether this quote is safe to act on.

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

Parameters3/5

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

Schema description coverage is 100%, so tokenIn, tokenOut, amountIn, and isWei are each documented in the schema itself. The description adds nothing about parameter format (e.g., address vs symbol handling, decimal units, how isWei interacts with amountIn), so the baseline of 3 applies.

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

Purpose4/5

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

States a clear verb+resource ('indicative quote') and names the concrete sources (Chainlink On-Chain Oracles on Base Mainnet, KyberSwap route pre-fetch). The word 'indicative' partially distinguishes it from the sibling quote_and_build_swap, but the description never names that sibling or explicitly contrasts get_quote with it, so differentiation is inferred rather than stated.

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

Usage Guidelines3/5

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

Usage is only implied: 'indicative' and 'speculative route pre-fetch' signal a preview/read call rather than an executable swap, which nudges the agent toward this tool before quote_and_build_swap. However, there is no explicit when-to-use, no when-not-to-use, and no mention of the alternatives despite three sibling rfq tools.

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

univ4_rfq_list_poolsBInspect

Lists all 21 initialized Uniswap v4 RFQ pools on Base Mainnet, live Chainlink oracle prices, and Morpho Blue flash liquidity stock.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations and no output schema, the description carries the full burden. It does disclose the payload contents (pools, live Chainlink prices, Morpho Blue flash liquidity stock) and the fixed count of 21, which is useful behavioral context, but it says nothing about data freshness, refresh cadence, permissions, or whether the call has side effects beyond the read implied by 'Lists'.

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

Conciseness4/5

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

A single dense sentence with no filler, front-loaded with the verb and the primary resource. Slight ambiguity in the trailing clause over whether oracle prices and flash liquidity are listed alongside the pools or are separate outputs.

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

Completeness3/5

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

For a zero-parameter read tool this covers the essentials, but with no annotations and no output schema the description is the only source of return-shape information, and it leaves the structure of the combined pool/price/liquidity response ambiguous. Adequate but with clear gaps.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 per the rubric. There are no parameter semantics for the description to clarify or omit.

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

Purpose4/5

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

States a specific verb ('Lists') and a well-scoped resource: the 21 initialized Uniswap v4 RFQ pools on Base Mainnet, plus oracle prices and flash liquidity. The enumeration framing implicitly separates it from the sibling get_quote/hookdata tools, but it never names or contrasts those siblings explicitly.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative-tool guidance is given. An agent could infer this is a discovery step before quoting, but that workflow is never stated, and nothing tells the agent whether to prefer this over get_hookdata for pool information.

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

univ4_rfq_quote_and_build_swapAInspect

One-step Zero-Slippage Atomic Swap builder on Base Mainnet (Chain ID: 8453) via Uniswap v4 RFQ Hook (0xd72CD1d46bA05479583fbB561B558f133BA98088). Quotes flat Chainlink Oracle price (-0.30% fee, 0% AMM curve price impact) backed by $3.25B+ Morpho Blue & KyberSwap liquidity, and returns the exact PoolKey, SwapParams, and ECDSA-signed bytes hookData for PoolManager.swap.

ParametersJSON Schema
NameRequiredDescriptionDefault
isWeiNoSet true if amountIn is already in raw wei/smallest unit
tokenInYesInput token symbol or address on Base (USDC, WETH, cbBTC, cbETH, wstETH, AERO, EURC)
amountInYesInput amount (human-readable by default, or wei if isWei=true)
tokenOutYesOutput token symbol or address on Base (USDC, WETH, cbBTC, cbETH, wstETH, AERO, EURC)

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does reasonably well: it discloses the fee (-0.30%), zero AMM curve price impact, the Oracle pricing source, and exactly what is returned (PoolKey, SwapParams, ECDSA-signed hookData for PoolManager.swap). It does not state whether anything is mutated, nor the security implications of server-side ECDSA signing, nor rate limits.

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

Conciseness4/5

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

Purpose is front-loaded in the first clause, and the details (chain ID, hook address, fee, returns) are informative. There is some puffery ('Zero-Slippage', '$3.25B+ Morpho Blue & KyberSwap liquidity') that is closer to marketing than operational guidance, but overall length is controlled.

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

Completeness4/5

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

No output schema exists, so the description must describe returns and it does so concretely (PoolKey, SwapParams, signed hookData). Combined with 100% schema coverage on inputs, the agent has enough to invoke it; the main gap is the absence of any safety/authorization context given there are no annotations.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all four parameters including the isWei flag and token lists. The description adds no per-parameter meaning (e.g., supported pair constraints or amount formatting) beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb+resource ('Atomic Swap builder') and names the chain, hook address, and pricing mechanism, so the agent knows exactly what it produces. It implicitly distinguishes itself from siblings get_quote/get_hookdata via 'One-step' and the combined return payload, but never names those siblings explicitly.

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

Usage Guidelines3/5

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

There is no explicit when-to-use/when-not statement, but 'One-step' plus the listing of returned artifacts (PoolKey, SwapParams, hookData) implies this consolidates the separate quote and hookdata calls into a single invocation. That implication is the only usage guidance present; alternatives are never named.

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.

  1. 4 tool updates
    • First observeduniv4_rfq_get_hookdata
    • First observeduniv4_rfq_get_quote
    • First observeduniv4_rfq_list_pools
    • First observeduniv4_rfq_quote_and_build_swap

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.