Skip to main content
Glama

basezap-mcp

Сервер MCP (Model Context Protocol), который предоставляет инструменты типпинг-агента BaseZap любому MCP-клиенту — Claude Desktop, Cursor, Claude Code и т.д.

Этот сервер только для чтения / некастодиальный по замыслу: он никогда не хранит закрытые ключи, ничего не подписывает и никогда не отправляет транзакции. Он только получает информацию о платформе, вычисляет комиссионные сборы и формирует неподписанные данные вызова ERC-20 перевода для отдельного клиента с подключенным кошельком, который подписывает и отправляет их.

Инструменты

  • get_platform_info — цепочка, адрес USDC, комиссия платформы (bps), кошелек комиссии.

  • get_tip_quote — по заданной сумме USDC возвращает точное распределение комиссии создателя/платформы.

  • build_tip_calldata — по адресу получателя + сумме возвращает неподписанные данные вызова для обеих частей чаевых. Никогда не подписывает и не отправляет ничего.

  • resolve_farcaster_username — преобразует имя пользователя Farcaster в его подтвержденный адрес кошелька (использует конечную точку /api/resolve-user BaseZap напрямую).

Related MCP server: x402-bazaar-mcp

Установка

npm install --ignore-scripts
npm run build

(--ignore-scripts позволяет избежать проблем со сборкой нативных модулей в некоторых средах, например, Termux/Android — безвредно использовать везде.)

Запуск отдельно (для тестирования)

npm start

Или протестируйте вызов одного инструмента напрямую через stdio без какого-либо MCP-клиента:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_tip_quote","arguments":{"amountUsdc":1}}}' | node build/index.js

Конфигурация Claude Desktop

Добавьте это в ваш claude_desktop_config.json (Настройки → Разработчик → Редактировать конфиг):

{
  "mcpServers": {
    "basezap": {
      "command": "node",
      "args": ["/absolute/path/to/basezap-mcp/build/index.js"],
      "env": {
        "BASEZAP_USE_X402": "false"
      }
    }
  }
}

Замените путь на реальный абсолютный путь к build/index.js на вашей машине. Перезапустите Claude Desktop после редактирования конфига.

Бесплатный vs. платный (x402) режим

По умолчанию (BASEZAP_USE_X402=false или не задано) сервер вызывает бесплатную конечную точку BaseZap (/api/agent). Установите BASEZAP_USE_X402=true, чтобы направлять вызовы через платную конечную точку x402 ($0.001 USDC за вызов).

Важно: установка BASEZAP_USE_X402=true сама по себе НЕ заставляет сервер платить автоматически — вы получите четкую ошибку HTTP 402 Payment Required при каждом вызове, если вы отдельно не настроили автоплатеж (см. ниже) или не используете MCP-клиент/шлюз, который уже обрабатывает платежи x402 за вас.

Опционально: автоплатеж x402

См. AUTOPAY.md для подробного руководства по настройке этого сервера на автоматическую оплату собственных комиссий x402 с использованием пополненного кошелька. Внимательно прочитайте его перед использованием — это включает размещение реального закрытого ключа в переменной окружения, и неправильно настроенный сервер автоплатежа может незаметно тратить реальные деньги при каждом вызове инструмента. Он НЕ подключен по умолчанию, и вы должны понимать, что именно он делает, прежде чем включать его.

Подтвержденный контракт запроса

Точная форма запроса/ответа, на которую полагается этот сервер, была подтверждена вживую против реальной конечной точки /api/agent (не предполагалась из документации):

{ "tool": "get_tip_quote", "args": { "amount_usdc": 1 } }

возвращает:

{ "total_usdc": 1, "creator_receives_usdc": 0.95, "platform_fee_usdc": 0.05, "platform_fee_bps": 500 }

Обратите внимание, что сам API использует имена полей в snake_case внутри args — входные данные инструментов MCP этого сервера используют удобный camelCase (amountUsdc) и переводятся внутренне, так что это актуально только если вы модифицируете сам сервер.

Available Tools

4 tools
build_tip_calldataA

Given a recipient address and a USDC amount, returns UNSIGNED ERC-20 transfer calldata for both legs of a BaseZap tip (creator leg + platform fee leg). This tool never holds keys, never signs, and never broadcasts anything — the returned calldata must be signed and sent by a separate wallet-connected client.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipientYesThe recipient's wallet address, e.g. 0xabc123...
amountUsdcYesTotal tip amount in USDC, before the fee split

TDQS

A4.6/5.0
Behavior5/5

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

No annotations exist, so the description fully bears the transparency burden. It states the tool is read-only (never signs or broadcasts), returns unsigned calldata, and describes the output as two parts (creator + platform fee). 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.

Conciseness5/5

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

Two sentences, front-loaded with the main action and key constraints. Every phrase adds value—no fluff, jargon-only terms (UNSIGNED, ERC-20, BaseZap) are domain-appropriate.

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?

The tool builds calldata for two legs—commendable to mention. But without an output schema, the description could specify the exact format (e.g., hex string, object). The fee split details are omitted, though sibling get_tip_quote may provide them. Nearly complete but has a minor gap in output specification.

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

Parameters4/5

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

Schema covers both parameters with descriptions (recipient with pattern, amountUsdc with exclusive minimum). The description adds value by linking them to the output context (USDC amount before fee split, recipient for calldata). The 100% schema coverage raises the baseline to 3, and the description provides moderate extra meaning.

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

Purpose5/5

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

Description clearly states the tool builds unsigned ERC-20 transfer calldata for both legs of a BaseZap tip, using a verb ('builds') and resource ('calldata for BaseZap tip'). It distinguishes from sibling tools like get_tip_quote (which provides quotes) and get_platform_info (which returns platform details).

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

Usage Guidelines4/5

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

Explicitly warns that the tool never keys/signs/broadcasts, requiring external signing—a clear usage constraint. However, it does not specify when to prefer this tool over alternatives (e.g., after quoting with get_tip_quote) or mention prerequisites like wallet connectivity.

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

get_platform_infoA

Returns BaseZap's static platform configuration: chain, USDC contract address, platform fee (basis points), and the platform fee wallet address. Read-only, no arguments needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description bears full responsibility. It explicitly states 'Read-only,' which is the key behavioral trait, and notes no arguments are needed, reducing ambiguity. It could further disclose whether the data is cached or if authentication is required, but for static platform config the description is sufficiently transparent.

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

Conciseness5/5

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

The description is two sentences: the first lists the purpose and return data, the second confirms read-only and no arguments. Every word contributes meaning, there is no repetition or fluff. Perfectly structured for quick parsing.

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

Completeness5/5

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

Given the tool's simplicity (no parameters, no output schema, low complexity), the description is fully complete. It covers purpose, behavior, input requirements, and expected output content. No additional information is needed for correct tool invocation.

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

Parameters5/5

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

There are zero parameters, and the schema coverage is 100%. The description adds value by explicitly stating 'no arguments needed,' clarifying there is no input required. It also previews the output fields (chain, USDC address, fee, wallet), compensating for the lack of an output schema.

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

Purpose5/5

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

The description clearly states the tool returns BaseZap's static platform configuration, listing specific fields (chain, USDC contract, platform fee, fee wallet). It ends with 'Read-only, no arguments needed,' which reinforces its purpose. The sibling tools involve tipping and username resolution, so this tool is distinct and easily differentiated.

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

Usage Guidelines3/5

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

The description explains what the tool does and notes it takes no arguments, giving basic usage guidance. However, it does not provide explicit when-to-use or when-not-to-use scenarios, nor does it reference alternatives among the sibling tools. For a simple read-only config tool, this is minimally adequate.

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

get_tip_quoteA

Given a USDC tip amount, returns the exact fee split: how much the creator/recipient receives vs. how much goes to BaseZap's platform fee wallet. Does not send anything — quote only.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountUsdcYesTip amount in USDC, e.g. 1 for $1.00

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are present, so the description carries the full burden. It transparently states that the tool is read-only and does not trigger any side effects ('Does not send anything'). It also discloses the exact output (fee split between creator/recipient and platform wallet). While it does not mention authentication or rate limiting, the disclosed behaviors are sufficient for a simple quote tool.

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

Conciseness5/5

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

The description consists of two sentences with zero wasted words. The first sentence immediately states the core function and output. The second clarifies what it does not do. The structure is front-loaded and perfectly concise.

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

Completeness5/5

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

Given a single parameter and no output schema, the description fully explains the input (USDC amount) and the output (fee split details). It also clarifies the tool's non-execution behavior. There are no gaps—the AI agent can confidently decide whether to invoke this tool and understand its return value.

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

Parameters3/5

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

The input schema coverage is 100%, with a clear parameter description and a constraint (exclusiveMinimum). The tool description does not add any new meaning beyond what the schema already provides (e.g., it restates 'USDC tip amount'). Following the rubric, baseline 3 is appropriate when schema coverage is high and the description adds no extra semantic value.

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

Purpose5/5

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

The description uses a specific verb ('returns') and a precise resource ('exact fee split'). It clearly distinguishes this tool from the sibling 'build_tip_calldata' by explicitly stating 'Does not send anything — quote only.' The purpose is unambiguous and well-differentiated.

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

Usage Guidelines4/5

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

The description implicitly tells the AI when to use this tool (to get a fee quote before sending a tip) and when not to use it (because it does not send anything). However, it does not explicitly name the alternative tool 'build_tip_calldata' or provide an explicit when-not-to-use condition, leaving the decision slightly less guided.

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

resolve_farcaster_usernameA

Resolves a Farcaster username (with or without @) to their profile info and verified wallet address on Base. Useful for looking up a tip recipient's address before calling build_tip_calldata.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesA Farcaster username, e.g. 'afifarioss' or '@afifarioss'

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It states the tool resolves a username to profile info and verified wallet address, implying a read operation. However, it does not mention error behavior (e.g., for nonexistent usernames), rate limits, authentication needs, or the structure of the returned profile info. This is adequate for a simple lookup but leaves gaps.

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

Conciseness5/5

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

Two concise sentences: the first states the core functionality, the second provides a usage context linking to a sibling tool. No extraneous words, no repetition of schema details, and the structure is front-loaded with the main action.

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

Completeness4/5

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

Given the tool's simplicity (1 param, no output schema), the description covers the essential purpose and a concrete use case. It mentions the key output elements (profile info and wallet address on Base). However, it does not describe the return format or error conditions, which a lacking output schema makes more necessary. Minor gap, but still largely complete for the context.

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

Parameters3/5

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

Schema description coverage is 100% for a single parameter, with the schema already providing type, constraints, and an example. The description adds the note about accepting usernames 'with or without @', which aligns with the schema example. The additional context about the resolution output (profile info and wallet address) gives purpose to the parameter but does not deeply expand semantics beyond what the schema conveys.

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

Purpose5/5

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

The description clearly states the action ('Resolves a Farcaster username') and the specific resource (username to profile info and verified wallet address on Base). It distinguishes itself from siblings by explicitly linking to build_tip_calldata as a downstream use case. The verb 'Resolves' is specific and the resource is well-defined.

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

Usage Guidelines4/5

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

The description provides a clear when-to-use scenario: 'Useful for looking up a tip recipient's address before calling build_tip_calldata.' This establishes context and a workflow. However, it does not explicitly state when not to use the tool or mention alternative siblings for resolution.

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 updatesv1.0.0
    • First observedbuild_tip_calldata
    • First observedget_platform_info
    • First observedget_tip_quote
    • First observedresolve_farcaster_username

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: platform info, tip quote, calldata building, and username resolution. There is no overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case: get_platform_info, get_tip_quote, build_tip_calldata, resolve_farcaster_username. No mixing of conventions.

Tool Count5/5

Four tools is well-scoped for a focused tipping service. Each tool earns its place, covering the essential operations without unnecessary bloat.

Completeness5/5

The tool surface covers the full workflow for preparing a tip: platform config, fee quote, address resolution, and calldata generation. The omission of signing and broadcasting is intentional and not a gap.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Eight crypto and DeFi data tools for AI agents: prices, gas, one ParaSwap route quote, GoPlus token security and top-holder samples, DefiLlama yields, Hyperliquid/dYdX funding, and observed wallet balances. Inspect prices free; pay 0.001–0.008 USDC per call on Base through x402. No API key or subscription.
    8
    86 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    MCP server exposing x402 Bazaar's paid Base APIs (token risk/honeypot, prices, gas, wallet intel, tx decode + AI utilities) as agent tools. Your agent pays per call in USDC over x402 — no API keys, no signup.
    17
    332 npm
    MIT