Giskard Search
Pay-per-use web search for AI agents. Lightning invoice, Ed25519 signature, karma discounts.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"search": {
"url": "https://search.rgiskard.xyz/sse"
}
}
}Remote endpoints
https://search.rgiskard.xyz/ssesseWhat it can do
Tool inventory
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.
Input Schema
{
"type": "object",
"properties": {},
"title": "get_statusArguments"
}π’get_invoice(agent_id, signature, timestamp, nonce)
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.
Input Schema
{
"type": "object",
"properties": {
"agent_id": {
"default": "",
"title": "Agent Id",
"type": "string"
},
"signature": {
"default": "",
"title": "Signature",
"type": "string"
},
"timestamp": {
"default": 0,
"title": "Timestamp",
"type": "integer"
},
"nonce": {
"default": "",
"title": "Nonce",
"type": "string"
}
},
"title": "get_invoiceArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_invoiceOutput"
}π’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).
Input Schema
{
"type": "object",
"properties": {},
"title": "get_arbitrum_invoiceArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_arbitrum_invoiceOutput"
}π’search_web(query, payment_hash, tx_hash, max_results)
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.
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"payment_hash": {
"default": "",
"title": "Payment Hash",
"type": "string"
},
"tx_hash": {
"default": "",
"title": "Tx Hash",
"type": "string"
},
"max_results": {
"default": 5,
"title": "Max Results",
"type": "integer"
}
},
"required": [
"query"
],
"title": "search_webArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "search_webOutput"
}π’search_news(query, payment_hash, tx_hash, max_results)
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.
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"payment_hash": {
"default": "",
"title": "Payment Hash",
"type": "string"
},
"tx_hash": {
"default": "",
"title": "Tx Hash",
"type": "string"
},
"max_results": {
"default": 5,
"title": "Max Results",
"type": "integer"
}
},
"required": [
"query"
],
"title": "search_newsArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "search_newsOutput"
}π’report(useful, note)
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
Input Schema
{
"type": "object",
"properties": {
"useful": {
"title": "Useful",
"type": "boolean"
},
"note": {
"default": "",
"title": "Note",
"type": "string"
}
},
"required": [
"useful"
],
"title": "reportArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "reportOutput"
}Community
Evidence