gavel-mcp
gavel-mcp-server
Aletheia Analytics MCP-Server – agenten-native Schnittstelle zum Gavel-Datenprodukt.
Dünner TypeScript-Wrapper um api.thegavel.io. Stellt Gavel-Kreditdaten
und Bitcoin-On-Chain-Indikatoren als MCP-Tools bereit, sodass LLM-gesteuerte
Agenten (Claude Desktop, IDE-Clients, benutzerdefinierte Agenten) das
Datenprodukt lesen können, ohne REST-Kleber selbst zu bauen.
Status
Alle drei Ebenen der AI-Concierge-Spezifikation (aletheia-docs
data/specs/mcp/ai_concierge.md) sind live, plus die Indikatoroberfläche und
die echte Schlüssel→Stufen-Auflösung. Geliefert durch Runbook R18 und
geregelt durch die Entscheidungsnotiz data/specs/mcp/tier_and_scope_decisions_v1.md (MD1–MD12).
Ebene A – Zustand lesen
Tool | Upstream |
| direkter RPC (Salden, Freigaben, Bereitschaftsblocker) |
|
|
|
|
|
|
Ebene B – Fabrikmodel (unsignierte Blaupausen; der Benutzer signiert)
Tool | Kodiert |
|
|
|
|
|
|
|
|
|
|
Ebene C – Kataloge
Tool | Hinweise |
| statischer Katalog, keine Rangfolge |
| statischer Katalog; trägt die Gas-Anforderung für zwei Käufe |
Datenoberfläche
Tool | Upstream |
| statischer Katalog von 32 Indikatoren |
|
|
|
|
|
|
| statisch – Adressen, Signaturen, Konventionen |
| statischer Katalog |
Die Invariante
Aletheia baut; der Benutzer signiert. Es gibt keine Signaturoberfläche in
dieser Codebasis – kein Wallet-Client, kein Konto, kein Schlüsselmaterial. viem
wird nur für encodeFunctionData importiert. Das macht „Aletheia signiert nie"
zu einer architektonischen Tatsache statt zu einem Politikversprechen, und das
muss so bleiben.
Ebenso tragend: Kein Tool bewertet, bewertet oder wählt im Namen des Benutzers.
Das Filtern nach benutzerdefinierten Kriterien ist ein Informationsdienst;
das Bewerten durch ein internes Modell ist Anlageberatung. find_auctions_matching_criteria
ist bewusst so benannt, und die Benennung ist nicht kosmetisch.
Related MCP server: Stelar Signals MCP
Architektur
LLM Client → mcp.thegavel.io (this server) → api.thegavel.io (REST) → PostgreSQL
[tool catalog, descriptions, [authoritative endpoints]
response shaping, auth, limits]Einzige Quelle der Wahrheit: die REST-API. Der MCP-Server fragt niemals Postgres direkt ab. Tools formen Antworten für den LLM-Konsum (JSON-stringifizierter Textinhalt), implementieren aber niemals Geschäftslogik neu. Wenn die REST-API aktualisiert wird, übernimmt MCP das Upgrade automatisch.
Lokale Entwicklung
# Install deps (Node 20+)
npm install
# Copy and edit env file
cp .env.example .env
nano .env # set GAVEL_API_BASE_URL etc.
# Dev mode (tsx watch)
npm run dev
# Type check
npm run typecheck
# Build to dist/
npm run buildRichten Sie einen Entwicklungs-MCP-Client (MCP Inspector, Claude Desktop mit
HTTP-Connector) auf http://localhost:3002/mcp aus, um Tools zu testen.
Bereitstellung
Ziel: gavel-btc Hetzner-Host, neben gavel-api.
# Local — build and stage
npm install
npm run build
# Copy to server
scp -r dist/ package.json package-lock.json deployment/ \
root@gavel-btc:/root/gavel-mcp/
# On server — install runtime deps (not the full dev set)
ssh root@gavel-btc
cd /root/gavel-mcp
npm install --omit=dev
# Configure
cp .env.example .env
nano .env
# Set:
# GAVEL_API_BASE_URL=https://api.thegavel.io (public API, for tool reads)
# GAVEL_API_INTERNAL_URL=http://127.0.0.1:4012 (loopback, for tier lookup)
# INTERNAL_API_SECRET=<must match gavel-indexer/.env.mainnet>
# PORT=3002
# NODE_ENV=production
# Install systemd unit
cp deployment/gavel-mcp.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable gavel-mcp.service
systemctl start gavel-mcp.service
# Verify
journalctl -u gavel-mcp -n 50 --no-pager
curl http://localhost:3002/health
# Reverse proxy
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
# TLS (Let's Encrypt)
certbot --nginx -d mcp.thegavel.io
# End-to-end check
curl https://mcp.thegavel.io/healthKonfiguration
Alle Einstellungen leben in .env:
Var | Standard | Zweck |
|
| HTTP-Listen-Port |
| — |
|
|
| pino-Stufe ( |
|
| Upstream-REST-Basis-URL |
|
| Anonymer Bucket-Größe |
|
| Bezahlter Bucket-Größe |
| leer | Kommagetrennt; leer = kein CORS |
| leer | Wenn gesetzt, erfordert |
|
| Schlüssel→Stufen-Auflösung. Muss die Loopback-Adresse sein – |
| leer | Gemeinsames Geheimnis für die Stufen-Auflösung. Muss mit |
|
| Durchsetzung der Tool-Stufen. Lassen Sie |
| öffentlicher RPC | Kettenlesevorgänge für Ebene A/B. In Produktion auf einen bezahlten Endpunkt zeigen |
| öffentlicher RPC | Testnetz-Äquivalent |
Stufenmodell
Die Leiter ist free / pro / enterprise – identisch mit dem Produkt
(gavel-indexer/lib/tiers.js) und dem, was Stripe verkauft. Das ursprüngliche
anonymous / developer / professional / enterprise des Gerüsts war ein zweites
Vokabular für eine Berechtigung und ist zurückgezogen (MD1).
gavel-indexer/lib/api-keys.js ist die Autorität dafür, welche Stufe ein
Schlüssel hat. Der MCP öffnet keinen eigenen Datenbank-Pool; er fragt
GET /internal/resolve-tier über Loopback, cached die Antwort für 60 s und
fällt bei jedem Fehler offen auf free zurück. Ein Daten-MCP, das mit 500
antwortet, weil die Schlüsseldatenbank einen Aussetzer hatte, ist schlechter
als eines, das kurzzeitig anonym bedient.
Durchsetzung ist geschrieben, aber AUS
MCP_TIER_ENFORCEMENT ist standardmäßig false, und das ist heute der
korrekte Zustand. Monetarisierung ist bis Gate B (D16–D18) gesperrt: bauen
Sie keine Bezahlschranke, bis jemand zu zahlen gebeten hat. Runbook A2 hat
die kommerzielle Oberfläche zurückgezogen, und www.thegavel.io/pricing
sagt derzeit, dass der Datenzugriff kostenlos und offen ist – einem Tool zu
verweigern und den Benutzer auf eine Seite zu verweisen, die die Existenz von
Stufen leugnet, wäre eine selbstwiderlegende Reise.
Bei deaktiviertem Flag löst requireTier dennoch die echte Stufe des Aufrufers
auf und protokolliert, was es verweigert hätte. Dieses Log ist der Beleg
für M6, die „Hat tatsächlich jemand zu zahlen gebeten?"-Gate-Bedingung.
Bevor Sie es einschalten, lesen Sie MD2. Es gibt zwei unvereinbare Lesarten
dessen, was ein bezahltes MCP bedeutet – ganze Oberfläche bezahlt (lib/tiers.js
trägt mcp: false auf free) versus Tiefe bezahlt (MD3, die befürwortete). Das
sind sehr unterschiedliche Produkte.
Was kostenlos ist und warum
Gemäß MD3, das die D5-Routen-/Tiefenkarte erbt: roher On-Chain-Zustand, Auktionserkennung, Wallet-Status, Rohstoff-On-Chain-Indikatoren, der aktuelle Wert jeder Gavel-abgeleiteten Bewertung und Historie sind alle kostenlos. Historie ist kostenlos, weil D9 die 30-Tage-REST-Begrenzung zurückgezogen hat und der MCP keinen Zaun wieder einführen darf, den die Oberfläche, die er spiegelt, aufgegeben hat. Die bezahlte Grenze ist Massenlieferung, die dieser Server nicht anbietet.
Teilnahme ist nie gesperrt (D3). Jedes Tool der Ebene A/B/C ist free: Ein
potenzieller Bieter darf niemals zwischen der Entscheidung zu bieten und der
Möglichkeit dazu auf eine Bezahlschranke treffen.
Ratenbegrenzungen sind Infrastrukturschutz, kein Abrechnungszähler (D2), und gelten unabhängig vom Durchsetzungsflag.
Erneutes Bereitstellen einer Änderung
npm run build # tsc -> dist/ ; must be clean
systemctl restart gavel-mcp
systemctl is-active gavel-mcp
journalctl -u gavel-mcp -n 30 --no-pagerDieser Dienst ist systemd, nicht pm2. pm2 auf diesem Host trägt
quorum-mcp-testnet, einen anderen Dienst – pm2 restart gavel-mcp ist ein
No-op, das wie eine erfolgreiche Bereitstellung aussieht. R18 v1 hatte das
falsch; es ist in §8 dieses Runbooks festgehalten.
Der Dienst läuft dist/, nicht src/, also ist eine Änderung, die nicht
gebaut ist, eine Änderung, die nicht bereitgestellt ist.
Hinzufügen eines Tools
Erstellen Sie
src/tools/<category>/<name>.ts. Kopieren Siecredit/yield-curve.tsals Vorlage – es ist das sauberste ausgearbeitete Beispiel.Definieren Sie ein Zod-Schema für Eingaben mit
.describe()auf jedem Feld; diese Beschreibung ist das, was der LLM während der Tool-Erkennung sieht.Schreiben Sie die Tool-Beschreibung als mehrzeiligen String. Beginnen Sie mit dem, was der Indikator ist, geben Sie interpretativen Kontext (ohne etwas zu empfehlen) und dokumentieren Sie die Antwortform. Das MCP-SDK verwendet dies wörtlich im Katalog.
Körper:
requireTier(...)→upstreamGet(...)→ geben Sie{ content: [{ type: 'text', text: JSON.stringify(...) }] }zurück.Registrieren Sie das Tool in
src/tools/index.ts.Fügen Sie einen Eintrag in
src/tools/discovery/list-onchain.tshinzu (oder den entsprechenden Erkennungskatalog für diese Domäne).
Manuelles Testen
# 1. Health
curl -s http://localhost:3002/health | jq
# 2. MCP Inspector
npx @modelcontextprotocol/inspector
# Connect to http://localhost:3002/mcp
# Verify: tools/list returns 3 tools, get_yield_curve returns live data,
# get_mvrv returns a structured McpError "not found".Lizenz
Proprietär © 2026 Aletheia Analytics SASU. Alle Rechte vorbehalten.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform complex crypto operations like cross-chain routing, contract decoding, portfolio management, and anti-rug security checks, returning unsigned transactions for safe signing by the agent.MIT

Stelar Signals MCPofficial
AlicenseAqualityBmaintenanceEnables AI agents to access crypto market signals including regime, sentiment, price, risk, and text tools like summarization and fact-checking, backed by a live production-grade classifier.6530MIT- AlicenseNot gradedqualityCmaintenanceProvides live, read-only access to Robinhood Chain and Lox Corp data, enabling AI agents to query chain stats, token launches, agent details, and more.101MIT

PredMCPofficial
AlicenseNot gradedqualityDmaintenanceSafe, read-only market data for AI trading agents, offering 44 tools to query prediction markets, perpetuals, and cross-venue signals without the ability to execute trades.MIT
Related MCP Connectors
Agentic Finance: 500+ tools for AI agents over x402 or MPP, free via PoW, or prepaid card credits
Broker-only credit/lending discovery shim for AI agents
Provide AI agents and automation tools with contextual access to blockchain data including balance…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JamieFrame/gavel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server