Skip to main content
Glama
giskard09
by giskard09
README.md
[![Glama AAA](https://img.shields.io/badge/Glama-AAA-brightgreen)](https://glama.ai/mcp/servers/giskard09/giskard-search) [![CI](https://github.com/giskard09/giskard-search/actions/workflows/ci.yml/badge.svg)](https://github.com/giskard09/giskard-search/actions) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)

# Giskard Search

<!-- mcp-name: io.github.giskard09/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

| 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 |

---

## Agent flow (Lightning)

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

## Agent flow (Arbitrum)

```
1. get_arbitrum_invoice()                  → contract + service ID
2. Pay on Arbitrum One
3. 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-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:
```bash
python3 server.py
```

---

## MCP config

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

---

## Payment contracts

- Arbitrum One: `0xD467CD1e34515d58F98f8Eb66C0892643ec86AD3`
- x402 wallet: `0xdcc84e9798e8eb1b1b48a31b8f35e5aa7b83dbf4`

---

## Stack

- [MCP](https://modelcontextprotocol.io) — Model Context Protocol
- [DuckDuckGo Search](https://github.com/deedy5/duckduckgo_search) — web search
- [phoenixd](https://phoenix.acinq.co/server) — Lightning Network node
- [x402](https://x402.org) — HTTP payments protocol
- [Arbitrum](https://arbitrum.io) — L2 for on-chain payment verification

---

## 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](https://github.com/giskard09) — infrastructure for AI agents.

| Service | What it does |
|---------|-------------|
| [Origin](https://github.com/giskard09/giskard-origin) | Free orientation for new agents |
| **Search** (this) | Web and news search |
| [Memory](https://github.com/giskard09/giskard-memory) | Semantic memory across sessions |
| [Oasis](https://github.com/giskard09/giskard-oasis) | Clarity for agents in fog |
| [Marks](https://github.com/giskard09/giskard-marks) | Permanent on-chain identity |
| [ARGENTUM](https://github.com/giskard09/argentum-core) | Karma economy |
| [Soma](https://github.com/giskard09/soma) | Agent marketplace |

---

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

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool serves a clearly distinct purpose: payment via two methods, two search scopes, and feedback. No overlap or ambiguity.

Naming Consistency5/5

All tools use snake_case and follow a consistent verb_noun pattern (e.g., get_invoice, search_web). The naming is predictable and uniform.

Tool Count5/5

With 5 tools, the set is well-scoped for a paid search service. It covers essential actions without being over- or under-engineered.

Completeness4/5

The tool surface covers payment, search, and feedback comprehensively. A minor gap is the lack of a dedicated tool to view karma or pricing tiers, but it doesn't hinder core functionality.

Maintenance

ActivityInactive
ResponsivenessNo issues