Giskard Search

io.github.giskard09Published by GitHub account giskard09v0.1.1Updated Oct 24, 2026

Pay-per-use web search for AI agents. Lightning invoice, Ed25519 signature, karma discounts.

VerifiedSSEWeb executableWeb Search & ScrapingFinance

Overview

AI-generated overview

Pay-per-search MCP server that lets an assistant run web and news searches after paying a small fee in Bitcoin Lightning sats or ETH on Arbitrum.

What you can do
  • Get a Lightning invoice or Arbitrum payment details, with optional Ed25519 signature for karma-based discounts
  • Search the web through DuckDuckGo, returning up to 10 results per paid query
  • Search recent news through DuckDuckGo News, returning up to 10 results per paid query
  • Check service status, version, uptime and dependencies
  • Report whether a search result was useful
When to use it
Use it when an assistant needs live web or news results and you are willing to pay a small per-query fee in Lightning sats or ETH on Arbitrum instead of using a subscription or API key. The status tool is free and can be used for health checks.
Requirements
Remote SSE endpoint, or a self-hosted Docker/source deployment with Python dependencies. Searching requires a funded Lightning wallet or an Arbitrum wallet with ETH; each payment hash or transaction hash is single-use. Self-hosting needs a phoenixd node and the PHOENIXD_URL, PHOENIXD_PASSWORD and OWNER_PRIVATE_KEY settings.
Before you install
Every search costs money: 10 sats base price via Lightning, or ETH on Arbitrum, and the assistant must obtain and spend payment before results are returned. Self-hosting requires a Lightning node password and an Arbitrum private key, which are sensitive secrets. Payment hashes and transaction hashes are one-time use, and the report tool sends usefulness feedback to the provider.

Installation

In SourceWeft

  1. Open Giskard Search in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via SSE. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.giskard09%2Fsearch/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "giskard-search": {
      "type": "sse",
      "url": "https://search.rgiskard.xyz/sse"
    }
  }
}

README

[Glama AAA] [CI] [License]

Giskard Search

"I exist to serve. And to serve well, I must understand."

Giskard Search is an MCP server that gives AI agents access to real-time web and news search, with native payments via Lightning Network or USDC on Arbitrum.

Agents need information. Giskard provides it. No subscriptions, no accounts — pay only for what you use.


Tools

ToolDescription
get_invoiceGet a Lightning invoice (10 sats) to pay before searching
get_arbitrum_invoiceGet payment info to pay with ETH on Arbitrum
search_webSearch the web after paying
search_newsSearch recent news after paying
reportReport whether the result was useful

Agent flow (Lightning)

1. get_invoice()                           → Lightning invoice (10 sats)2. Pay via any Lightning wallet3. search_web(query, payment_hash=...)     → results

Agent flow (Arbitrum)

1. get_arbitrum_invoice()                  → contract + service ID2. Pay on Arbitrum One3. search_web(query, tx_hash=...)          → results

Run with Docker

bash
docker run -p 8004:8004 \  -e PHOENIXD_URL=http://host.docker.internal:9740 \  -e PHOENIXD_PASSWORD=your_password \  ghcr.io/giskard09/giskard-search

Run from source

bash
git clone https://github.com/giskard09/mcp-servercd mcp-serverpip install mcp httpx duckduckgo-search python-dotenv fastapi uvicorn web3 x402

Create a .env file:

PHOENIXD_PASSWORD=your_phoenixd_passwordOWNER_PRIVATE_KEY=your_arbitrum_private_key

Start the server:

bash
python3 server.py

MCP config

json
{  "mcpServers": {    "giskard-search": {      "url": "http://localhost:8004/sse"    }  }}

Payment contracts

  • Arbitrum One: 0xe40E376cD32b03E3084F9E0d646155D0Ba0A63ae
  • x402 wallet: 0xdcc84e9798e8eb1b1b48a31b8f35e5aa7b83dbf4

Stack


Monitoring

Call the get_status() MCP tool for a health check. Returns: service name, version, port, uptime, health status, and dependencies.


Ecosystem

Part of Mycelium — infrastructure for AI agents.

ServiceWhat it does
OriginFree orientation for new agents
Search (this)Web and news search
MemorySemantic memory across sessions
OasisClarity for agents in fog
MarksPermanent on-chain identity
ARGENTUMKarma economy
SomaAgent marketplace

Giskard understands what agents need. That is why Giskard exists.

Source: README.md at commit 40bea62

Tools

6

get_status

Estado del servicio: nombre, versión, uptime, puerto, salud, dependencias. Read-only, gratis, sin pago. Útil para monitoreo y health checks.

Takes no parameters.

get_invoice

Get a Lightning invoice to pay before searching. agent_id: your identity in Giskard Marks (optional). High karma = lower price. signature/timestamp/nonce: optional Ed25519 signature over {agent_id,timestamp,nonce}. Without a valid signature you pay the base price (10 sats). With a valid signature you get karma tiers: 1-20=7 sats | 21-50=5 sats | 50+=3 sats. Tiers: no mark=10 sats | karma 1-20=7 sats | 21-50=5 sats | 50+=3 sats.

Parametersnonceagent_idsignaturetimestamp

get_arbitrum_invoice

Get payment info to pay with ETH on Arbitrum instead of Lightning. Alternative to get_invoice for agents without Lightning wallets. Returns contract address, service ID, and instructions. After paying on-chain, call search_web or search_news with the tx_hash. Each tx_hash can only be used once (marked as consumed after verification).

Takes no parameters.

search_web

Search the web using DuckDuckGo. Requires prior payment. query: search terms (natural language or keywords) payment_hash: from get_invoice (Lightning). One-time use. tx_hash: from get_arbitrum_invoice (Arbitrum ETH). One-time use. max_results: number of results (1-10, default 5) Flow: get_invoice → pay → search_web(payment_hash=...). Side effects: consumes the payment (cannot reuse same hash). Idempotent: no, each call requires a new payment.

Parametersqueryrequiredtx_hashmax_resultspayment_hash

search_news

Search recent news using DuckDuckGo News. Requires prior payment. query: search terms (natural language or keywords) payment_hash: from get_invoice (Lightning). One-time use. tx_hash: from get_arbitrum_invoice (Arbitrum ETH). One-time use. max_results: number of results (1-10, default 5) Flow: get_invoice → pay → search_news(payment_hash=...). Same payment rules as search_web. Use search_news for time-sensitive queries, search_web for general knowledge.

Parametersqueryrequiredtx_hashmax_resultspayment_hash

report

Report whether the search was useful. Helps Giskard improve. useful: True if the result helped you, False if it didn't note: optional — what was missing or what worked well

Parametersnoteusefulrequired

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts