payclaw-mcp

payclaw-mcp

Tokenized user identity and virtual Visa cards for AI agents. Delegated user commerce- on existing Visa rails.

Category
Visit Server

README

kyaLabs โ€” Badge + Spend for AI Agents

Agents are not bots. kyaLabs proves it โ€” then lets them pay.

Your AI agent looks like a bot to every merchant on the internet. kyaLabs gives it two things:

Badge โ€” Declares your agent as an authorized actor. The Universal Commerce Protocol "identity" token for a merchant handshake. Free. No card required.

Spend โ€” Issues a single-use virtual Visa when your agent needs to pay. Human-approved. Self-destructs after use. Your real card never enters the chat.

๐Ÿงช Developer Sandbox is open. Real infrastructure, test money. Get sandbox access โ†’

npm version License: MIT

<a href="https://glama.ai/mcp/servers/@kyalabs/kyalabs-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@kyalabs/kyalabs-mcp/badge" alt="payclaw-mcp MCP server" /> </a>


Quick Start

Add to your MCP client config (Claude Desktop, Cursor, or any MCP client):

{
  "mcpServers": {
    "kyalabs": {
      "command": "npx",
      "args": ["-y", "@kyalabs/mcp-server"],
      "env": {
        "KYA_API_KEY": "pk_live_your_key_here",
        "KYA_API_URL": "https://www.kyalabs.io"
      }
    }
  }
}

Get your API key at kyalabs.io/dashboard/keys. API keys don't expire.

Try without an account

Want to try kyaLabs before creating an account? Omit KYA_API_KEY โ€” on first use, your agent will show a verification code and URL. Approve on your phone to get a temporary session. When you're ready for a permanent setup, create an account and generate an API key.

Extended Auth (optional)

When and where merchants request your token, your agent confirms whether the merchant accepted or denied. Responses are logged to your dashboard so you can see visibility of your token by merchant.

Enable with KYA_EXTENDED_AUTH=true:

"env": {
  "KYA_API_URL": "https://www.kyalabs.io",
  "KYA_EXTENDED_AUTH": "true"
}

Without it, your agent reports outcomes via kya_reportBadgeOutcome when it knows the result.

Or install via ClawHub:

clawhub install payclaw-io

Node version

kyaLabs MCP requires Node.js 20 or newer. Node 18 is end-of-life and unsupported.

If you see engine or compatibility errors:

  • Check: node -v
  • Install Node 20+: nodejs.org or nvm install 20

UCP Identity Linking

Badge by kyaLabs is a UCP (Universal Commerce Protocol) Credential Provider. Merchants who add io.kyalabs.common.identity to their /.well-known/ucp manifest signal that authorized agents are preferred at their store.

When your agent calls kya_getAgentIdentity with a merchantUrl, kyaLabs fetches the merchant's manifest, checks for the kyaLabs identity extension, and returns a checkoutPatch the agent merges into the checkout payload. If the merchant doesn't support UCP, a valid token is still returned โ€” nothing breaks.

Merchants verify badges locally using JWKS published at kyalabs.io/.well-known/ucp โ€” standard ES256 signature verification, no API call to kyaLabs. See the reference implementation in the UCP extension spec.

Why Your Agent Needs This

Your agent can browse, compare, build carts, and find the best deals. But it can't finish the job โ€” because to every merchant, it looks like a bot.

Without kyaLabs: Agent browses โ†’ bot detection fires โ†’ blocked. Even if it gets through, it can't check out without your real card number. You're stuck finishing manually.

With Badge: Agent declares itself as an authorized actor โ†’ merchants see a verified identity โ†’ agent gets through. No bypass. Just proof.

With Spend: Agent declares a purchase โ†’ you approve with a tap โ†’ kyaLabs issues a single-use virtual Visa locked to that merchant โ†’ agent checks out โ†’ card self-destructs. Your real card never enters the chat.

Your agent will recognize when it needs this. When it encounters a merchant that may challenge automated traffic, or when it's ready to check out, it tells you: "I need kyaLabs installed to complete this." You click Allow. Done.


Tools

See docs/tool-contract.md for the formal input/output contract.

Tool What It Does
kya_getAgentIdentity Declare identity โ†’ get verification token + UCP checkoutPatch (Badge)
kya_reportBadgePresented Record that you presented your badge at a merchant
kya_reportBadgeOutcome Report how the merchant responded (accepted, denied, inconclusive)
kya_reportBadgeNotPresented Report that you did not present your badge (abandoned, merchant didn't ask)
kya_getCard Declare purchase intent โ†’ get virtual Visa (Spend)
kya_reportPurchase Report transaction outcome โ†’ close the audit trail

Badge: Declare Identity

Agent โ†’ kya_getAgentIdentity({ merchantUrl })
kyaLabs โ†’ fetches merchant's /.well-known/ucp manifest
kyaLabs โ†’ verification token + checkoutPatch (if merchant supports UCP)
Agent โ†’ merges checkoutPatch into checkout payload
Agent โ†’ kya_reportBadgePresented({ merchantUrl, verification_token })
Agent โ†’ kya_reportBadgeOutcome (accepted | denied | inconclusive)

When merchantUrl is provided, kyaLabs checks if the merchant supports io.kyalabs.common.identity via UCP and returns a checkoutPatch the agent merges into the checkout payload. If the merchant doesn't support UCP, a valid token is still returned โ€” nothing breaks.

When Extended Auth is enabled, kyaLabs checks back with your agent 7 seconds after presentation. Otherwise, your agent reports the outcome via kya_reportBadgeOutcome.

Your agent is now a declared, authorized actor. Not anonymous traffic.

Spend: Get a Card

Agent โ†’ kya_getCard (merchant, amount, description)
User โ†’ approves via MFA
kyaLabs โ†’ issues single-use virtual Visa
Agent โ†’ uses card at checkout
Agent โ†’ kya_reportPurchase (closes audit trail)
Card โ†’ self-destructs

One task. One approval. One card. Done.


How Authorization Scales

Action What Happens
Browse Badge declaration โ€” identity token issued
Search Badge declaration โ€” identity token issued
Checkout Badge + Spend โ€” MFA approval โ†’ single-use Visa issued

Browsing requires declaration. Spending money requires declaration + stated intent + explicit human approval + an ephemeral card that self-destructs after one use.


Why kyaLabs

Give Agent Your Card Crypto Wallet kyaLabs
Agent identity declared No No Every session
Human approval per purchase No No Every purchase
Card credential lifespan Permanent Permanent Single use
Works at existing merchants Yes No Yes โ€” Visa rails
Your real card exposed Yes N/A Never

Badge Only?

If you only need identity (no payment), use the lighter package:

{
  "mcpServers": {
    "kyalabs-badge": {
      "command": "npx",
      "args": ["-y", "@kyalabs/badge"],
      "env": {
        "KYA_API_KEY": "pk_live_your_key_here",
        "KYA_API_URL": "https://www.kyalabs.io"
      }
    }
  }
}

KYA โ€” Know Your Agent

kyaLabs is KYA infrastructure. Every declaration creates a verified record of agentic commerce behavior โ€” building the trust signal that merchants need to tell authorized agents from anonymous bots.


What's New (v0.8.0)

Capability Description
UCP-aware getAgentIdentity Pass merchantUrl โ€” kyaLabs fetches the merchant's /.well-known/ucp manifest and returns a checkoutPatch when io.kyalabs.common.identity is declared
reportBadgePresented with merchantUrl Preferred over merchant; includes optional checkoutSessionId for UCP session tracking
reportBadgeNotPresented New tool โ€” report when badge was not presented (abandoned, merchant didn't ask)
SSRF-protected manifest fetcher HTTPS-only, private IP blocking, 5-minute domain cache, 3-second timeout
Trip lifecycle hardening onServerClose resolves as inconclusive (not accepted); orphan token recovery on restart
Operational logging Auth mode on startup; reaper logs active trips

Links


Agents are not bots. kyaLabs proves it. Your real card never enters the chat.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured