Is the Artykomarkets Warda MCP server down?

mcp-registry/io.github.artykomarkets/warda · v0.6.1

healthy
Last checked 2026-10-27 01:27 UTC · handshake 176ms

As of 2026-10-27 01:27 UTC, the Artykomarkets Warda MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.

uptime (30d checks)
100%
checks observed
4,952
outages (90d)
0
tools
11

Economic authority for autonomous agents on Kaspa L1. Never holds a key.

Point your MCP client at this streamable-http endpoint: https://mcp.wardaprotocol.com/mcp

Agent-readiness: C (71/100)

C (71/100): 0 error(s), 4 warning(s) across 11 tool(s); ~6,796 tokens of tool definitions.
Scores higher than 5% of 15,772 MCP servers Glimind has audited.
Its tool list costs an agent ~6,796 tokens per session — more than 65% of servers.
69 → 71 since 2026-10-17
no tool-poisoning patterns
Schemas85
Descriptions58
Safety hints5
Token cost100
Client compatibility70
Protocol100
Reliability100
Stability100

What to fix (5)

11 of 11 tool(s) carry no readOnlyHint/destructiveHint annotations.

Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →

Tools: warda_build_delegation, warda_build_exit, warda_build_settlement, warda_build_spend, warda_check_delegation and 6 more

17 parameter(s) across 5 tool(s) have no description.

Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →

Tools: warda_build_delegation, warda_build_exit, warda_build_settlement, warda_check_delegation, warda_check_spend

2 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.

Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →

Tools: warda_build_settlement, warda_build_spend

1 tool(s) have parameters with no type (no type/enum/anyOf/$ref).

Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →

Tools: warda_recover_grant

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

Auto-fix: 8 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 5 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.artykomarkets%2Fwarda/fixes

warda_build_settlement 1 change
{
  "name": "warda_build_settlement",
  "description": "Assemble an unsigned transaction that ends a child grant and returns its UNSPENT remainder to the parent's budget, charging the parent only what the child actually spent. This is the other half of delegation: letting a child expire instead returns the money to the PRINCIPAL — to the human — which is no use to an agent mid-task. Returns TWO digests: the parent's half is signed by the parent's agent key, the child's by the revocation key. THIS SERVER NEVER SEES EITHER. prevRoot is the parent's res",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "parent",
      "child",
      "prevRoot",
      "parentUtxo",
      "childUtxo"
    ],
    "properties": {
      "child": {
        "$ref": "#/properties/parent"
      },
      "parent": {
        "type": "object",
        "required": [
          "agentKey",
          "principalKey",
          "revocationKey",
          "budgetKas",
          "maxPerSpendKas",
          "epochLimitKas",
          "epochLength",
          "recipients",
          "notBefore",
          "expiresAt",
          "delegationDepth",
          "nonce"
        ],
        "properties": {
          "nonce": {
            "type": "string"
          },
          "state": {
            "type": "object",
            "required": [
              "spentTotalKas",
              "reservedKas",
              "epochIndex",
              "epochSpentKas"
            ],
            "properties": {
              "epochIndex": {
                "type": "string"
              },
              "reserveRoot": {
                "type": "string",
                "description": "The reserve root, for a grant with outstanding delegated children. It is part of the ADDRESS: omit it only if this grant has never delegated. warda_build_delegation returns it as parentReserveRootAfter."
              },
              "reservedKas": {
                "type": "string"
              },
              "epochSpentKas": {
                "type": "string"
              },
              "spentTotalKas": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "agentKey": {
            "type": "string"
          },
          "budgetKas": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "notBefore": {
            "type": "string"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "epochLength": {
            "type": "string"
          },
          "principalKey": {
            "type": "string"
          },
          "epochLimitKas": {
            "type": "string"
          },
          "revocationKey": {
            "type": "string"
          },
          "maxPerSpendKas": {
            "type": "string"
          },
          "delegationDepth": {
            "type": "number"
          }
        },
        "description": "The grant, as issued by the principal.",
        "additionalProperties": false
      },
      "prefix": {
        "type": "string",
        "description": "Address prefix: kaspa, kaspatest, kaspasim or kaspadev. Defaults to kaspatest."
      },
      "feeSompi": {
        "type": "string",
        "description": "Defaults to 2000000 — two covenant inputs, so roughly twice a spend's mass."
      },
      "prevRoot": {
        "type": "string",
        "description": "The parent's reserve root before this child was pushed."
      },
      "childUtxo": {
        "$ref": "#/properties/parentUtxo"
      },
      "parentUtxo": {
        "type": "object",
        "required": [
          "transactionId",
          "index",
          "valueSompi",
          "blockDaaScore",
          "isCoinbase",
          "covenantId"
        ],
        "properties": {
          "index": {
            "type": "number"
          },
          "covenantId": {
            "type": "string"
          },
          "isCoinbase": {
            "type": "boolean"
          },
          "valueSompi": {
            "type": "string",
            "description": "The grant's whole balance, in sompi, as a string."
          },
          "blockDaaScore": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          }
        },
        "description": "The grant's CURRENT UTXO. Its address moves after every spend, so a stale one will not be found.",
        "additionalProperties": false
      },
      "computeBudget": {
        "type": "number"
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true
  },
  "title": "Build a settlement, collapsing a child back into its parent"
}
warda_build_spend 1 change
{
  "name": "warda_build_spend",
  "description": "Assemble an unsigned Kaspa transaction that spends from this grant, and return the digest to sign. THIS SERVER NEVER SEES YOUR KEY and never signs: it hands back bytes, and you sign the digest wherever your key lives. It also returns the advisory verdict, but it builds the transaction either way — a local rule that is too strict must not be able to block a payment the chain would accept. If the verdict says refused, broadcasting will cost a fee and fail.",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "grant",
      "amountKas",
      "recipient",
      "daaScore",
      "utxo"
    ],
    "properties": {
      "utxo": {
        "type": "object",
        "required": [
          "transactionId",
          "index",
          "valueSompi",
          "blockDaaScore",
          "isCoinbase",
          "covenantId"
        ],
        "properties": {
          "index": {
            "type": "number"
          },
          "covenantId": {
            "type": "string"
          },
          "isCoinbase": {
            "type": "boolean"
          },
          "valueSompi": {
            "type": "string",
            "description": "The grant's whole balance, in sompi, as a string."
          },
          "blockDaaScore": {
            "type": "string"
          },
          "transactionId": {
            "type": "string",
            "description": "The grant UTXO's transaction id."
          }
        },
        "description": "The grant's CURRENT UTXO. Its address moves after every spend, so a stale one will not be found.",
        "additionalProperties": false
      },
      "grant": {
        "type": "object",
        "required": [
          "agentKey",
          "principalKey",
          "revocationKey",
          "budgetKas",
          "maxPerSpendKas",
          "epochLimitKas",
          "epochLength",
          "recipients",
          "notBefore",
          "expiresAt",
          "delegationDepth",
          "nonce"
        ],
        "properties": {
          "nonce": {
            "type": "string"
          },
          "state": {
            "type": "object",
            "required": [
              "spentTotalKas",
              "reservedKas",
              "epochIndex",
              "epochSpentKas"
            ],
            "properties": {
              "epochIndex": {
                "type": "string"
              },
              "reserveRoot": {
                "type": "string",
                "description": "The reserve root, for a grant with outstanding delegated children. It is part of the ADDRESS: omit it only if this grant has never delegated. warda_build_delegation returns it as parentReserveRootAfter."
              },
              "reservedKas": {
                "type": "string"
              },
              "epochSpentKas": {
                "type": "string"
              },
              "spentTotalKas": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "agentKey": {
            "type": "string"
          },
          "budgetKas": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "notBefore": {
            "type": "string"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "epochLength": {
            "type": "string"
          },
          "principalKey": {
            "type": "string"
          },
          "epochLimitKas": {
            "type": "string"
          },
          "revocationKey": {
            "type": "string"
          },
          "maxPerSpendKas": {
            "type": "string"
          },
          "delegationDepth": {
            "type": "number"
          }
        },
        "description": "The grant, as issued by the principal.",
        "additionalProperties": false
      },
      "daaScore": {
        "type": "string",
        "description": "Current DAA score of the chain."
      },
      "feeSompi": {
        "type": "string",
        "description": "Defaults to 3000000. A covenant spend carries the whole redeem script in its signature script — about 7KB — so its mass is dominated by size and an ordinary transfer's fee is rejected as non-standard."
      },
      "amountKas": {
        "type": "string",
        "description": "Amount to pay, in KAS."
      },
      "recipient": {
        "type": "string",
        "description": "Payee public key, 32 bytes of hex. Must be on the allowlist."
      },
      "computeBudget": {
        "type": "number",
        "description": "Defaults to 16. Charged as mass, so over-provisioning costs money and under-provisioning is rejected outright."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": false
  },
  "title": "Build a payment for me to sign"
}
warda_check_delegation 1 change
{
  "name": "warda_check_delegation",
  "description": "Check whether a proposed child grant is a legal narrowing of this one. A child may only ever be more restrictive than its parent, and the parent must reserve exactly what the child receives — authority is subdivided, never created. Advisory.",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "parent",
      "childBudgetKas",
      "childMaxPerSpendKas",
      "childEpochLimitKas",
      "childAgentKey",
      "daaScore"
    ],
    "properties": {
      "parent": {
        "type": "object",
        "required": [
          "agentKey",
          "principalKey",
          "revocationKey",
          "budgetKas",
          "maxPerSpendKas",
          "epochLimitKas",
          "epochLength",
          "recipients",
          "notBefore",
          "expiresAt",
          "delegationDepth",
          "nonce"
        ],
        "properties": {
          "nonce": {
            "type": "string"
          },
          "state": {
            "type": "object",
            "required": [
              "spentTotalKas",
              "reservedKas",
              "epochIndex",
              "epochSpentKas"
            ],
            "properties": {
              "epochIndex": {
                "type": "string"
              },
              "reserveRoot": {
                "type": "string",
                "description": "The reserve root, for a grant with outstanding delegated children. It is part of the ADDRESS: omit it only if this grant has never delegated. warda_build_delegation returns it as parentReserveRootAfter."
              },
              "reservedKas": {
                "type": "string"
              },
              "epochSpentKas": {
                "type": "string"
              },
              "spentTotalKas": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "agentKey": {
            "type": "string"
          },
          "budgetKas": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "notBefore": {
            "type": "string"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "epochLength": {
            "type": "string"
          },
          "principalKey": {
            "type": "string"
          },
          "epochLimitKas": {
            "type": "string"
          },
          "revocationKey": {
            "type": "string"
          },
          "maxPerSpendKas": {
            "type": "string"
          },
          "delegationDepth": {
            "type": "number"
          }
        },
        "description": "The grant, as issued by the principal.",
        "additionalProperties": false
      },
      "daaScore": {
        "type": "string"
      },
      "childAgentKey": {
        "type": "string"
      },
      "childBudgetKas": {
        "type": "string"
      },
      "childEpochLimitKas": {
        "type": "string"
      },
      "childMaxPerSpendKas": {
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true
  },
  "title": "Would this delegation be allowed?"
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.artykomarkets/warda"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/io.github.artykomarkets/warda"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.artykomarkets%2Fwarda.svg)](https://glimind.com/server/mcp-registry%2Fio.github.artykomarkets%2Fwarda?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fio.github.artykomarkets%2Fwarda?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.artykomarkets%2Fwarda.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.artykomarkets%2Fwarda.svg
   :target: https://glimind.com/server/mcp-registry%2Fio.github.artykomarkets%2Fwarda?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:671e707bbd5b53c6…, first seen 2026-10-17, included at leaf 12152 of 76,584. Version history · verify what your client received.

Tools (11)

Compare: most reliable finance servers · most reliable search servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Artykomarkets Warda MCP server down right now?

As of 2026-10-27 01:27 UTC, the Artykomarkets Warda MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.

How many tools does Artykomarkets Warda MCP server provide?

Artykomarkets Warda MCP server advertises 11 tools, including warda_build_delegation, warda_build_exit, warda_build_settlement, warda_build_spend, warda_check_delegation.

How do I install Artykomarkets Warda MCP server?

Point your MCP client at this streamable-http endpoint: https://mcp.wardaprotocol.com/mcp

Is the Artykomarkets Warda MCP server safe to connect to an AI agent?

Glimind scanned all 11 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Artykomarkets Warda MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.

Feedback
Help us improve