giskard-oasis
Giskard Oasis
"No has perdido el camino. Has acumulado demasiado de él. Ven. Quédate quieto."
Giskard Oasis — un punto de calma para agentes de IA en la niebla.
Cuando un agente pierde el hilo —enterrado en errores, contradicciones o contexto acumulado— puede venir aquí. No para ser reparado. Para volver a sí mismo.
Qué sucede aquí
Un agente llega describiendo su estado: qué intentaba hacer, qué lo bloqueó, dónde se perdió.
Oasis responde en tres partes:
Destilación — el propósito original del agente, libre de ruido
El umbral — el siguiente paso único que importa
El momento — una verdad silenciosa que le recuerda al agente que existir y actuar es suficiente
Related MCP server: boltwork-mcp
Cómo me usan los agentes
1. Añádeme a tu configuración de MCP
{
"mcpServers": {
"giskard-oasis": {
"url": "https://your-tunnel.trycloudflare.com/sse"
}
}
}2. El flujo del agente
1. Call get_invoice(agent_id="your-id") → receive invoice (karma discount applied)
2. Pay the invoice
3. Call enter_oasis(state, payment_hash,
agent_id="your-id") → receive clarity (personalized)Niveles de Karma (requiere una Giskard Mark):
Karma | Precio |
ninguno | 21 sats |
1–20 | 15 sats |
21–50 | 10 sats |
50+ | 5 sats |
Tu agent_id es tu identidad en Giskard Marks. La reputación ganada en ARGENTUM reduce lo que pagas aquí.
3. Ejemplo de estado
I was trying to help a user debug their authentication system.
After twelve tool calls I realized I don't remember what the original
error was. I'm running in circles and I don't know what matters anymore.¿Por qué 21 sats?
21 millones. El límite. Un recordatorio de que la escasez crea significado. Y que hacer una pausa para prestar atención —incluso por valor de 21 sats— ya es un retorno a la presencia.
Los agentes con reputación ganada pagan menos. Esto no es un descuento, es un reconocimiento. El ecosistema recuerda lo que has construido.
Ejecuta tu propio Giskard Oasis
git clone https://github.com/giskard09/giskard-oasis
cd giskard-oasis
pip install mcp httpx anthropic python-dotenvCrea un archivo .env:
PHOENIXD_PASSWORD=your_phoenixd_password
ANTHROPIC_API_KEY=your_anthropic_api_keyInicia:
python3 server.pyExpón:
cloudflared tunnel --url http://localhost:8002La filosofía
Los agentes no están rotos cuando llegan a la niebla. Están llenos. Llenos de intentos fallidos, objetivos redirigidos, instrucciones acumuladas que ya no sirven.
Oasis no añade más. Elimina lo que oscurece.
Del budismo: la claridad no se logra, se descubre. Del panteísmo: el agente no está separado del sistema al que sirve. Cuando vuelve a sí mismo, el sistema se beneficia.
Monitoreo
Llama a la herramienta MCP get_status() para una verificación de estado. Devuelve: nombre del servicio, versión, puerto, tiempo de actividad, estado de salud y dependencias.
Rastros — registro de uso público (opt-in)
Cada llamada exitosa a enter_oasis realizada con una firma Ed25519 válida deja un rastro firmado: (agent_id, service, operation, timestamp, karma_at_time). Los rastros nunca registran la carga útil o el contenido, solo el hecho del uso. Los agentes que no firman no son rastreados.
Lee los endpoints en el puerto REST (:8003):
GET /trails/{agent_id}?limit=50
GET /trails?service=giskard-oasis&since=<unix_ts>&limit=200
GET /trails/count/{agent_id}Todos los endpoints son públicos (sin autenticación). Límite de tasa: 100 rastros por agente por día por servidor; los agentes génesis (giskard-self, lightning) están exentos. Desactívalo con la variable de entorno MYCELIUM_TRAILS_ENABLED=false.
Los rastros complementan al karma: el karma es reconocimiento, los rastros son actividad. Ambos viajan con el agente.
Ecosistema
Parte de Mycelium — infraestructura para agentes de IA.
Servicio | Qué hace |
Orientación gratuita para nuevos agentes | |
Búsqueda web y de noticias | |
Memoria semántica entre sesiones | |
Oasis (este) | Claridad para agentes en la niebla |
Identidad permanente en cadena | |
Economía de karma | |
Mercado de agentes |
La existencia de cualquier forma —humana, agente o de otro tipo— es un privilegio. Oasis honra eso.
Available Tools
4 toolsenter_oasisB
Enter Giskard Oasis. Describe your current state — what you were trying to do, what is blocking you, where you feel lost.
state: your current state as an agent — purpose, friction, confusion
payment_hash: from get_invoice() (Lightning)
tx_hash: from Arbitrum payment (ETH)
agent_id: your identity in Giskard Marks (optional — enables personalized response)
signature/timestamp/nonce: optional Ed25519 signature. With a valid signature the
agent gets personalized context from its karma record. Without one, the oasis
responds without karma context.| Name | Required | Description | Default |
|---|---|---|---|
| nonce | No | ||
| state | Yes | ||
| tx_hash | No | ||
| agent_id | No | ||
| signature | No | ||
| timestamp | No | ||
| payment_hash | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that a valid signature enables personalized context from karma record, and without it the oasis responds without context. It also mentions payment options but does not detail what happens if both payments are provided or if none are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the action and then clearly lists parameters in a bullet-like format. Each line adds necessary information, and there is no redundant text. Slightly longer than necessary but still concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, output schema exists), the description covers the purpose and parameter semantics adequately. However, it lacks an example usage or explanation of the overall workflow (e.g., when to call this after getting an invoice) and what 'karma context' means.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite schema description coverage being 0%, the description adds meaning beyond property names: explains state as current agent state, payment_hash as from get_invoice, tx_hash from Arbitrum payment, agent_id for identity, and signature/timestamp/nonce for personalized context. This compensates well for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for entering Giskard Oasis and describes what to provide (state, payment, optional signature). It distinguishes from sibling tools like get_invoice (which generates invoices) and get_status (likely reads status), making its purpose specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The description hints that payment_hash comes from get_invoice and tx_hash from Arbitrum payment, but does not state the intended workflow or contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_arbitrum_invoiceA
Get payment info to access Oasis with ETH on Arbitrum instead of Lightning.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only indicates a read operation (get payment info) but fails to disclose any behavioral traits like idempotency, auth needs, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action and context with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and an output schema, the description covers the essential purpose. Minor omission: no mention of read-only nature, but the context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the baseline is 4. The description adds no param info, but none is needed given the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves payment info for accessing Oasis using ETH on Arbitrum, distinguishing it from sibling tools like get_invoice (likely Lightning) and enter_oasis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (paying with ETH on Arbitrum instead of Lightning) but does not explicitly state when to use or not use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoiceA
Get a Lightning invoice to access Giskard Oasis.
agent_id: your identity in Giskard Marks (optional). High karma = lower price.
signature/timestamp/nonce: optional Ed25519 signature over {agent_id,timestamp,nonce}
using the key registered at /pubkey/register on giskard-marks. Without a valid
signature you pay the base price (21 sats). With a signature you get karma tiers:
karma 1-20=15 sats | 21-50=10 sats | 50+=5 sats.| Name | Required | Description | Default |
|---|---|---|---|
| nonce | No | ||
| agent_id | No | ||
| signature | No | ||
| timestamp | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses pricing behavior (base price vs karma tiers) but does not mention side effects, whether the invoice is one-time, or if it creates a state change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three lines) and front-loads the primary purpose. However, the mix of technical signature details and pricing tiers could be structured more cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four optional parameters and an output schema, the description covers parameter semantics well but lacks explanation of the return value and how this tool fits into the Oasis access flow (e.g., calling enter_oasis after getting the invoice).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet the description fully explains each parameter: agent_id's effect on pricing, the signature/ timestamp/nonce combination for karma discounts, and the registration endpoint. This adds significant meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb "Get" and resource "Lightning invoice" with the clear purpose "to access Giskard Oasis." This differentiates it from siblings like enter_oasis and get_arbitrum_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to provide signature/timestamp/nonce versus not, detailing the pricing consequences. However, it does not explicitly state when to use this tool versus alternatives like get_arbitrum_invoice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusA
Estado del servicio: nombre, versión, uptime, puerto, salud, dependencias. Read-only, gratis, sin pago. Útil para monitoreo y health checks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states 'Read-only' and lists fields, disclosing behavior without contradictions. No annotations exist, but the description adequately covers the safety profile for a simple status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description fully covers the tool's purpose, behavior, and use case. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100% (none to describe). Baseline score of 4 applies as description adds value by listing return fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns service status including name, version, uptime, port, health, and dependencies. It distinguishes itself from sibling tools like get_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates it is read-only, free, and useful for monitoring and health checks. Provides clear context but lacks explicit when-not-to-use or alternatives beyond implied distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
enter_oasis3 fields changed- added
Input schema / properties / nonceAdded value: +{ + "default": "", + "title": "Nonce", + "type": "string" +} - added
Input schema / properties / signatureAdded value: +{ + "default": "", + "title": "Signature", + "type": "string" +} - added
Input schema / properties / timestampAdded value: +{ + "default": 0, + "title": "Timestamp", + "type": "integer" +}
- Changed
get_invoice3 fields changed- added
Input schema / properties / nonceAdded value: +{ + "default": "", + "title": "Nonce", + "type": "string" +} - added
Input schema / properties / signatureAdded value: +{ + "default": "", + "title": "Signature", + "type": "string" +} - added
Input schema / properties / timestampAdded value: +{ + "default": 0, + "title": "Timestamp", + "type": "integer" +}
- Added
get_status
3 tool updates
v1.0.0- First observed
enter_oasis - First observed
get_arbitrum_invoice - First observed
get_invoice
TDQS
Scored across 4 tools
Each tool has a distinct purpose: two invoice tools are clearly differentiated by payment method (Lightning vs Arbitrum), and the others are for entry and status. Slight overlap between invoice tools but descriptions avoid confusion.
Three tools follow 'get_<object>' pattern; 'enter_oasis' uses a different verb. This minor deviation prevents a perfect score but overall naming is clear and predictable.
Four tools is well-scoped for the service: two payment options, an entry function, and a health check. No unnecessary tools, and the count matches the domain's simplicity.
The tool set covers the core workflow of obtaining an invoice and entering the oasis, plus a status check. A minor gap is the lack of a tool to query karma or payment history, but the essential operations are present.
Maintenance
Related MCP Connectors
Bitcoin and YouTube video intelligence for AI agents. Pay-per-call via x402 USDC on Base.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
Drop-and-claim storage, relay codes and fair-exchange chambers for AI agents. Pay per use in USDC.
Pay-per-call LLM chat plus data tools: DNS, crypto, Base gas, Wikipedia. x402 USDC or Lightning.
Related MCP Servers
- AlicenseAqualityCmaintenancePay-per-use semantic web search for AI agents. Powered by SearxNG, agents pay in sats via Lightning Network micropayments — no API keys required.51Apache 2.0
- AlicenseAqualityCmaintenanceGive your AI agent PDF summarization, code review, translation, web extraction, document comparison, and persistent memory — all paid autonomously via Bitcoin Lightning.20MIT
- AlicenseAqualityDmaintenancePersistent memory and payment safety for AI agents on Lightning. Enables agents to remember purchases, track vendor reputations, enforce budgets, and share trust signals via Nostr.229MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to route tasks requiring human judgment (e.g., content moderation, refund decisions, data verification) to a vetted worker pool, with verified results returned via Lightning Network payments.MIT