This server wraps DuckDuckGo search behind a pay-per-use wall using Lightning Network or USDC on Arbitrum. You call get_invoice to receive a 10-sat Lightning invoice, pay it through any wallet, then pass the payment hash to search_web or search_news. There's also an Arbitrum flow using an on-chain payment contract. The server uses phoenixd for Lightning payments and implements the x402 HTTP payment protocol. It includes a karma discount system and a report tool for feedback loops. If you're building agents that need live search data without subscriptions or API keys, and you want cryptographic payment verification built in, this handles both the search and the payment rails in one package.
Public tool metadata for what this MCP can expose to an agent.
web_search_previewPurpose: Perform web searches and return results in an LLM-friendly format and with parameters tuned for LLMs.2 paramsPurpose: Perform web searches and return results in an LLM-friendly format and with parameters tuned for LLMs.
objectivestringsearch_queriesarrayweb_fetchPurpose: Fetch and extract relevant content from specific web URLs. Ideal Use Cases: - Extracting content from specific URLs you've already identified - Exploring URLs returned by a web search in greater depth2 paramsPurpose: Fetch and extract relevant content from specific web URLs. Ideal Use Cases: - Extracting content from specific URLs you've already identified - Exploring URLs returned by a web search in greater depth
urlsarrayobjectivevalue"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.
| Tool | Description |
|---|---|
get_invoice | Get a Lightning invoice (10 sats) to pay before searching |
get_arbitrum_invoice | Get payment info to pay with ETH on Arbitrum |
search_web | Search the web after paying |
search_news | Search recent news after paying |
report | Report whether the result was useful |
1. get_invoice() → Lightning invoice (10 sats)
2. Pay via any Lightning wallet
3. search_web(query, payment_hash=...) → results
1. get_arbitrum_invoice() → contract + service ID
2. Pay on Arbitrum One
3. search_web(query, tx_hash=...) → results
docker run -p 8004:8004 \
-e PHOENIXD_URL=http://host.docker.internal:9740 \
-e PHOENIXD_PASSWORD=your_password \
ghcr.io/giskard09/giskard-search
git clone https://github.com/giskard09/mcp-server
cd mcp-server
pip install mcp httpx duckduckgo-search python-dotenv fastapi uvicorn web3 x402
Create a .env file:
PHOENIXD_PASSWORD=your_phoenixd_password
OWNER_PRIVATE_KEY=your_arbitrum_private_key
Start the server:
python3 server.py
{
"mcpServers": {
"giskard-search": {
"url": "http://localhost:8004/sse"
}
}
}
0xD467CD1e34515d58F98f8Eb66C0892643ec86AD30xdcc84e9798e8eb1b1b48a31b8f35e5aa7b83dbf4Call the get_status() MCP tool for a health check. Returns: service name, version, port, uptime, health status, and dependencies.
Part of Mycelium — infrastructure for AI agents.
| Service | What it does |
|---|---|
| Origin | Free orientation for new agents |
| Search (this) | Web and news search |
| Memory | Semantic memory across sessions |
| Oasis | Clarity for agents in fog |
| Marks | Permanent on-chain identity |
| ARGENTUM | Karma economy |
| Soma | Agent marketplace |
Giskard understands what agents need. That is why Giskard exists.
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp