Solana MCP by Vybe
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
The Bitcoin credit markets, measured. Cross-venue rates, venue criteria, chain indicators.
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/5 · สิ่งที่คุณถามผ่านเซิร์ฟเวอร์ของผู้ทำ (mcp.bitcoincreditstack.com)
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ตั้งครั้งเดียวที่ claude.ai หรือแอปบนคอม แล้วใช้ในแชตได้ · บัญชีฟรีเพิ่มได้ 1 ตัว
CustomizeConnectors
คัดลอกจากที่นี่ไปวางในช่องชื่อเดียวกันบนหน้าจอของ Claude แล้วกด Continue
Bitcoincreditstack MCPhttps://mcp.bitcoincreditstack.com/mcpหัวข้อ Authentication ปล่อยตามที่ Claude ตรวจเจอ แล้วกด Add
+ConnectorsBitcoincreditstack MCP
ใช้ Bitcoincreditstack MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Bitcoincreditstack MCP หรือมีชื่อเครื่องมือของ Bitcoincreditstack MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ ChatGPT ได้ เฉพาะแผนองค์กร
ใช้ได้กับ ChatGPT Business, Enterprise หรือ Edu บนเว็บ และแอดมินหรือเจ้าของ workspace ต้องเป็นคนเพิ่ม · ถ้าใช้ Free, Plus หรือ Pro: ChatGPT แผนของคุณยังต่อ MCP เองไม่ได้
Plugins+Add custom MCP server
ใส่ชื่อ แล้ววางที่อยู่ใต้ Connection ติ๊กยอมรับคำเตือน แล้วกด Create as a plugin
Bitcoincreditstack MCPhttps://mcp.bitcoincreditstack.com/mcpเปิดแชตใหม่แล้วเลือก Bitcoincreditstack MCP จากรายการปลั๊กอินก่อนพิมพ์
ใช้ Bitcoincreditstack MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า ChatGPT บอกว่ากำลังใช้ Bitcoincreditstack MCP หรือมีชื่อเครื่องมือของ Bitcoincreditstack MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ OpenAI เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Claude Code ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --transport http bitcoincreditstack https://mcp.bitcoincreditstack.com/mcpต้องเห็น Bitcoincreditstack MCP ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ Bitcoincreditstack MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Bitcoincreditstack MCP หรือมีชื่อเครื่องมือของ Bitcoincreditstack MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม
ใช้ Bitcoincreditstack MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Bitcoincreditstack MCP หรือมีชื่อเครื่องมือของ Bitcoincreditstack MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม
ใช้ Bitcoincreditstack MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Bitcoincreditstack MCP หรือมีชื่อเครื่องมือของ Bitcoincreditstack MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ที่อยู่สำหรับโปรแกรมที่ต่อผ่านเว็บ
https://mcp.bitcoincreditstack.com/mcpค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
Claude Code
claude mcp add --transport http bitcoincreditstack https://mcp.bitcoincreditstack.com/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"bitcoincreditstack": {
"url": "https://mcp.bitcoincreditstack.com/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"bitcoincreditstack": {
"type": "http",
"url": "https://mcp.bitcoincreditstack.com/mcp"
}
}
}ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ต่อผ่านคลาวด์ได้ใน
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 9 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
list_onchain_indicatorsReturns the catalog of available on-chain indicator tools, including tool name, indicator name, brief description, units, an example invocation, and current readiness status ('live' or 'pending'). Use this when you need to discover which tools are available for on-chain analysis
get_mvrvReturns the current Bitcoin MVRV ratio: market capitalisation divided by realised capitalisation, where realised cap values each coin at the price it last moved. MVRV is therefore an identity on observed chain data. It states the aggregate unrealised position of the supply — how
list_chain_seriesLists every series served from Aletheia's vintage store: the chain series built from one pass over every Bitcoin block on Aletheia's own node (chain.cohort.*: supply, supply by age band, long- and short-term holder supply, BTC moved, coin-days destroyed, dormancy, realised cap an
get_chain_seriesReturns one series from Aletheia's vintage store, by id (see list_chain_series): every value with its date and kind, the series' unit, source and limitation, and the vintages the values came from. With as_known_on, returns the series exactly as the store held it at the end of tha
get_cost_basisReturns Bitcoin's supply alive at the end of one UTC day, grouped by the BTC price on the day each coin was created, in logarithmic price buckets of a chosen width (ratio, default 1.02: each bucket spans 2%). Built from Aletheia's own node, block by block; day-granular. Creation
list_seriesLists the series the Stack serves, across every dataset: the credit tree at every level (market, class, family, venue) and figure, for bitcoin and, separately, for ether collateral; the liquidation map's bands; the credit x on-chain measures and their sub-series; the governed ind
get_seriesReturns 1 to 13 series (ids from list_series), each on its own dates, from Aletheia's vintage store: every value with its date and kind (an absence is a kind with its reason, never a zero), the unit, source, limitation and the vintages the values came from. Default window: the la
get_chartDraws the series get_series would return for the same request (ids from list_series, the same window and as_known_on) as an SVG image in the Stack's house style: exactly the chart plan's panels, one unit each; rate axes from zero; a refused series not drawn; an absence a gap, nev
get_corporate_instrumentsLists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade
get_fund_holdingsLists the spot bitcoin funds and the bitcoin each states it holds, as read from the fund's own SEC filing (10-Q or 10-K), its daily holdings file, or its periodic report, each figure with its date, its source and a quote. A fund's headline is its latest-dated figure; the other fi
get_balance_sheetWho holds the mined bitcoin, as each holder states it, and how much of it is pledged, wrapped or lent out. One line per holder (companies, spot funds, wrapped-token reserves, custodians, exchanges, governments), each with its figure or a range, its date, its source and a grade (A
get_eventsReturns the credit-market events the Stack has recorded, newest first: a venue's debt, collateral or borrow rate moving past its rule from one daily reading to the next, a figure crossing a fixed level (each power of ten, and twice and five times it), a company filing a purchase,
get_event_post_kitFor one credit-market event (an id from get_events; without one, the newest events to choose from): its sentence, the link to post (X shows it as a card with the event's chart), the suggested chart and other series to set beside it (each with a page that saves it as a PNG to atta
get_desk_ratesReturns the rate cards the custodial lending desks post (bitcoin collateral), one row per product: the representative APR and its range, term, maximum LTV, custody and liquidation model, and the card's effective date and source. Administered rates, not market-cleared; a card olde
get_debt_by_collateralWhat backs the dollar debt against bitcoin, by collateral and by venue type (pools, isolated markets, vaults, the auction, corporate, posted cards), as the site's "How these loans are backed" panel shows it, with each observer named and the collateral rule stated. days (30 to 150
list_indicatorsReturns the catalogue of Aletheia indicators measured across the Bitcoin-collateralised credit markets and the Bitcoin chain: id, name, family, units, description, and whether the indicator is currently live on this network. Three families: 'credit' (credit-market assessments), '
get_indicatorReturns the current value of a single Aletheia indicator by id, with its methodology reference. This server serves the venue-independent indicator set; an indicator anchored on a single venue's own rate is served by that venue's own MCP and answers here with a pointer to it. Call
get_verification_bundleCovers one venue's contracts only: the registry's auction venue (venue_id 'gavel_arbitrum'), the one venue whose deployed contracts this dataset checks itself. It is served here as a source for that venue's quality criteria; no other venue has a bundle yet. What can be checked ab
list_venuesWhich credit venues does this dataset cover, and what is known about each? Returns the registry rows matching the filters you supply. One row per venue, each with its coverage state per pillar and how many of its criteria cells have been researched. Two vocabularies, never mixed:
get_venueWhat is known about this venue, criterion by criterion? The three pillars — Price, Quality, Composition — each cell with its value and the source it came from. The criteria are published and versioned before any venue is measured against them, applied evenly to every row, and the
compare_venuesWhat does credit at this tenor and LTV cost across every venue Aletheia covers? One row per venue in coverage-matrix order — no ranking, no default sort, no "best". Standard questions this tool answers (get_guide with question): SQ-C2.
get_lensReturns a READING LENS: a presentation procedure for this dataset, written for a particular kind of reader. A lens selects which tools to use and frames how their output is presented; it never concludes, never ranks, and carries no write tool — this server has none. Call with no
get_guideWhat does this server cover, and how much of it? The tools; the venues by registry scope, venue type, status and credit class; the credit-state reading's coverage; the indicators served, retired and not published here; the series; and the lenses — every count read from the data w
get_credit_stateWhat does Bitcoin-collateralised credit cost and how much of it is outstanding, across the venues this dataset covers? One reading aggregated over the venue universe, not any single venue's book. Carries the term structure, outstanding quantity, valuation, collateral mix and qual
get_credit_state_historyHow has the Bitcoin credit surface moved? The same cross-venue reading as get_credit_state, as a daily series. Each point carries the coverage that produced it, so a change in the series and a change in which venues were observable can be told apart. This is descriptive data; it
get_market_compositionWhat kinds of credit make up this market, and in what proportions? ⚠ These series are computed from MORPHO BLUE ONLY, on Ethereum and Base. They are not market-wide. Composition by rate type, recourse and instrument, reported as observed shares with the scope that produced them.
get_market_flowsHow much credit was created and retired, and over what period? Latest, trailing 30 days, and since inception. ⚠ These series are computed from MORPHO BLUE ONLY, on Ethereum and Base. They are not market-wide. Counts and amounts as observed, with the scope, coverage and validation
get_liquidation_mapHow much bitcoin-secured dollar debt is liquidated at which bitcoin price, for the market, a class or a venue? An identity on observed positions: each bitcoin-only position at the price its OWN venue's rule liquidates it, summed into $1,000 buckets, with the debt within 10/20/30%
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 11 พ.ย. 2569
ผู้ลงทะเบียน (bitcoincreditstack.com) ไม่ใช่เจ้าของ repo (JamieFrame) อาจเป็นคนอื่นที่นำมาลงต่อ
มีการแก้โค้ดล่าสุด 8 วันที่ผ่านมา
ไม่พบไฟล์ license ใน repo
ตอบกลับใน 364 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 28 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 5 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด 8 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.1.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT แผน Business ขึ้นไป
ในหมวดเดียวกันมี Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks, Polymarket Paper Trader
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
Kalshi and Polymarket data, venue fees, no-arbitrage checks and paper execution for AI agents.
Polymarket paper trading for AI agents: $10k paper money, real order books, official fees.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Aletheia Analytics MCP server — agent-native interface over the Gavel data product.
Thin TypeScript wrapper around api.thegavel.io. Exposes Gavel credit data and Bitcoin on-chain indicators as MCP tools so LLM-driven agents (Claude Desktop, IDE clients, custom agents) can read the data product without hand-rolling REST glue.
All three layers of the AI concierge spec (aletheia-docs data/specs/mcp/ai_concierge.md) are live, plus the indicator surface and real key→tier resolution. Delivered by Runbook R18 and governed by the decisions note data/specs/mcp/tier_and_scope_decisions_v1.md (MD1–MD12).
Layer A — read state
| Tool | Upstream |
|---|---|
check_wallet_status | direct RPC (balances, allowances, readiness blockers) |
find_auctions_matching_criteria | /v1/auctions |
get_user_positions | /v1/user/:address/positions |
get_loan_status | /v1/loans/:id/status |
Layer B — factory model (unsigned blueprints; the user signs)
| Tool | Encodes |
|---|---|
prepare_bid_calldata | placeBid + approval when allowance is short |
prepare_create_auction_calldata | createAuction + collateral approval |
prepare_repay_loan_calldata | repayLoan + repayment approval |
prepare_claim_collateral_calldata | claimCollateral |
prepare_claim_refund_calldata | claimRefund |
Layer C — catalogues
| Tool | Notes |
|---|---|
list_wallet_options | static catalogue, no ranking |
recommend_fiat_onramp | static catalogue; carries the two-purchase gas requirement |
Data surface
| Tool | Upstream |
|---|---|
list_gavel_indicators | static catalogue of 32 indicators |
get_gavel_indicator | /v1/credit/*, /v1/onchain/*, /v1/market/* |
get_yield_curve | /v1/yield-curve |
get_mvrv | /v1/onchain/mvrv |
get_protocol_reference | static — addresses, signatures, conventions |
list_onchain_indicators | static catalogue |
Aletheia builds; the user signs. There is no signing surface in this codebase — no wallet client, no account, no key material. viem is imported for encodeFunctionData only. That is what makes "Aletheia never signs" an architectural fact rather than a policy promise, and it must stay that way.
Equally load-bearing: no tool ranks, scores, or selects on the user's behalf. Filtering by user-supplied criteria is an information service; ranking by an internal model is investment advice. find_auctions_matching_criteria is named as it is deliberately, and the naming is not cosmetic.
LLM Client → mcp.thegavel.io (this server) → api.thegavel.io (REST) → PostgreSQL
[tool catalog, descriptions, [authoritative endpoints] response shaping, auth, limits]
Single source of truth: the REST API. The MCP server never queries Postgres directly. Tools shape responses for LLM consumption (JSON-stringified text content) but never re-implement business logic. When the REST API upgrades, MCP inherits the upgrade automatically.
# Install deps (Node 20+)
npm install
cp .env.example .env nano .env # set GAVEL_API_BASE_URL etc.
npm run dev
npm run typecheck
npm run build
Point a development MCP client (MCP Inspector, Claude Desktop with an HTTP connector) at http://localhost:3002/mcp to exercise tools.
Target: gavel-btc Hetzner host, alongside gavel-api.
# Local — build and stage
npm install npm run build
scp -r dist/ package.json package-lock.json deployment/ \ root@gavel-btc:/root/gavel-mcp/
ssh root@gavel-btc cd /root/gavel-mcp npm install --omit=dev
cp .env.example .env nano .env
cp deployment/gavel-mcp.service /etc/systemd/system/ systemctl daemon-reload systemctl enable gavel-mcp.service systemctl start gavel-mcp.service
journalctl -u gavel-mcp -n 50 --no-pager curl http://localhost:3002/health
cp deployment/nginx-mcp.conf /etc/nginx/sites-available/mcp.thegavel.io ln -s /etc/nginx/sites-available/mcp.thegavel.io \ /etc/nginx/sites-enabled/mcp.thegavel.io nginx -t && systemctl reload nginx
certbot --nginx -d mcp.thegavel.io
curl https://mcp.thegavel.io/health
All knobs live in .env:
| Var | Default | Purpose |
|---|---|---|
PORT | 3002 | HTTP listen port |
NODE_ENV | — | production for JSON logs |
LOG_LEVEL | info | pino level (trace/debug/info/warn/error) |
GAVEL_API_BASE_URL | http://localhost:3001 | Upstream REST base URL |
RATE_LIMIT_ANONYMOUS_PER_MINUTE | 60 | Anonymous bucket size |
RATE_LIMIT_PAID_PER_MINUTE | 300 | Paid bucket size |
CORS_ALLOWED_ORIGINS | empty | Comma-separated; empty = no CORS |
HEALTH_CHECK_SECRET | empty | If set, /health requires ?secret=... |
GAVEL_API_INTERNAL_URL | http://127.0.0.1:4012 | Key→tier lookup. Must be the loopback address — /internal/resolve-tier refuses any request carrying an X-Forwarded-For, so the public api.thegavel.io host will not work |
INTERNAL_API_SECRET | empty | Shared secret for the tier lookup. Must match gavel-indexer/.env.mainnet. Unset ⇒ every caller resolves to free |
MCP_TIER_ENFORCEMENT | false | Enforce per-tool tiers. Leave false until Gate B — see *Tier model* |
ARBITRUM_RPC_URL | public RPC | Chain reads for Layer A/B. Point at a paid endpoint in production |
ARBITRUM_SEPOLIA_RPC_URL | public RPC | Testnet equivalent |
The ladder is free / pro / enterprise — identical to the product's (gavel-indexer/lib/tiers.js) and to what Stripe sells. The scaffold's original anonymous / developer / professional / enterprise was a second vocabulary for one entitlement and is retired (MD1).
gavel-indexer/lib/api-keys.js is the authority on what tier a key is. The MCP does not open its own database pool; it asks GET /internal/resolve-tier over loopback, caches the answer for 60 s, and fails open to `free` on any error. A data MCP that 500s because the key database hiccuped is worse than one that briefly serves anonymous.
MCP_TIER_ENFORCEMENT defaults to false, and that is the correct state today. Monetisation is gated until Gate B (D16–D18): *do not build a paywall until someone has asked to pay*. Runbook A2 withdrew the commercial surface, and www.thegavel.io/pricing currently states that data access is free and open — so refusing a tool and pointing the user at a page which denies tiers exist would be a self-refuting journey.
With the flag off, requireTier still resolves the caller's real tier and logs what it would have refused. That log is the evidence for M6, the "has anyone actually asked to pay?" gate condition.
Before flipping it on, read MD2. There are two incompatible readings of what a paid MCP means — whole-surface-paid (lib/tiers.js carries mcp: false on free) versus depth-paid (MD3, the endorsed one). They are very different products.
Per MD3, inheriting the D5 route/depth map: raw on-chain state, auction discovery, wallet status, commodity on-chain indicators, the current value of any Gavel-derived assessment, and history are all free. History is free because D9 retired the 30-day REST cap, and the MCP must not reintroduce a fence the surface it mirrors has abandoned. The paid boundary is bulk delivery, which this server does not offer.
Participation is never gated (D3). Every Layer A/B/C tool is free: a would-be bidder must never meet a paywall between deciding to bid and being able to.
Rate limits are infrastructure protection, not a billing meter (D2), and apply irrespective of the enforcement flag.
npm run build # tsc -> dist/ ; must be clean
systemctl restart gavel-mcp systemctl is-active gavel-mcp journalctl -u gavel-mcp -n 30 --no-pager
This service is systemd, not pm2. pm2 on this host carries quorum-mcp-testnet, a different service — pm2 restart gavel-mcp is a no-op that looks like a successful deploy. R18 v1 had this wrong; it is recorded in that runbook's §8.
The service runs dist/, not src/, so a change that is not built is a change that is not deployed.
src/tools/ / .ts. Copy credit/yield-curve.ts as the template — it's the cleanest worked example..describe() on every field; that description is what the LLM sees during tool discovery.requireTier(...) → upstreamGet(...) → return { content: [{ type: 'text', text: JSON.stringify(...) }] }.src/tools/index.ts.src/tools/discovery/list-onchain.ts (or the equivalent discovery catalog for that domain).# 1. Health
curl -s http://localhost:3002/health | jq
npx @modelcontextprotocol/inspector
Proprietary © 2026 Aletheia Analytics SASU. All rights reserved.