# ai42-mcp
## 基本信息
- Slug: `kishore-mk-ai42-mcp`
- Source: modelscope
- Publisher: @Kishore-MK/ai42-mcp
- Categories: blockchain / web3 / browser-automation
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@Kishore-MK/ai42-mcp
## 简介
暂无描述。
## 安装提示

```bash
**macOS:** ```json { "mcpServers": { "x402-payment": { "command": "npx", "args": ["-y", "@ai42/mcp"], "env": { "SOLANA_PRIVATE_KEY": "your_base58_private_key_here" } } } }
```

## MCP Server 详情

# AI42 MCP Server

<div align="center">

**X402 Payment MCP Server for Claude Desktop**

[![npm version](https://img.shields.io/npm/v/@ai42/mcp.svg)](https://www.npmjs.com/package/@ai42/mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)

[Quick Start](#quick-start)  [Features](#features)  [Installation](#installation)  [Usage](#usage)

</div>

---

## Overview

AI42 MCP Server enables Claude Desktop to automatically handle web requests with X402 payments. Fetch data from any URL and seamlessly process cryptocurrency payments when required (402 status). Includes payment tracking, balance checking, and spending limits.

### Features

-  **Automatic Payment Handling**: Transparent X402 payment processing on 402 responses
-  **GET & POST Support**: Full HTTP method support for API interactions
-  **Payment Management**: Track history, check balance, set spending limits
-  **Solana Integration**: Built on Solana devnet/mainnet
-  **Type-safe**: Full TypeScript support
-  **Zero Configuration**: Works out of the box with Claude Desktop

###  Available Tools

| Tool                  | Description                                      |
| --------------------- | ------------------------------------------------ |
| `fetch-with-payment`  | Fetch data from URLs with automatic payments     |
| `get-balance`         | Check wallet SOL balance                         |
| `get-payment-history` | View all payments made during session            |
| `set-payment-limit`   | Set maximum spending limit per request           |

---

## Installation

### Prerequisites

- Node.js 18+
- Solana wallet private key (base58 format)
- Claude Desktop

### Quick Install

No manual installation needed! Just configure Claude Desktop:

**Add to `claude_desktop_config.json`:**

**Windows:**
```json
{
  "mcpServers": {
    "x402-payment": {
      "command": "npx",
      "args": ["-y", "@ai42/mcp"],
      "env": {
        "SOLANA_PRIVATE_KEY": "your_base58_private_key_here"
      }
    }
  }
}
```

**macOS:**
```json
{
  "mcpServers": {
    "x402-payment": {
      "command": "npx",
      "args": ["-y", "@ai42/mcp"],
      "env": {
        "SOLANA_PRIVATE_KEY": "your_base58_private_key_here"
      }
    }
  }
}
```

**Linux:**
```json
{
  "mcpServers": {
    "x402-payment": {
      "command": "npx",
      "args": ["-y", "@ai42/mcp"],
      "env": {
        "SOLANA_PRIVATE_KEY": "your_base58_private_key_here"
      }
    }
  }
}
```

### Config File Locations

| Platform | Path                                                      |
| -------- | --------------------------------------------------------- |
| Windows  | `%APPDATA%\Claude\claude_desktop_config.json`             |
| macOS    | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| Linux    | `~/.config/Claude/claude_desktop_config.json`             |

**After adding config:** Restart Claude Desktop!

---

## Quick Start

### Getting Your Private Key

**Generate Solana Keypair:**
```bash
solana-keygen new --outfile ~/.config/solana/id.json
solana-keygen pubkey ~/.config/solana/id.json
```

**Export Private Key (base58 format):**
```bash
cat ~/.config/solana/id.json
# Copy the array, then convert to base58
```

 **Never commit private keys to version control!**

### First Request

Once configured and Claude Desktop is restarted, simply ask:

```
You: Check my wallet balance

Claude: [Uses get-balance tool] Your balance is 2.5 SOL on devnet
```

---

## Usage

### Example Conversations

#### Fetch Data from URL

```
You: Get data from https://api.example.com/endpoint

Claude: [Uses fetch-with-payment] Here's the data from the API...
```

#### Fetch with Payment

```
You: Fetch https://paid-service.com/premium-data

Claude: [Uses fetch-with-payment] Payment of 0.05 SOL made successfully. 
Here's the premium data...
```

#### POST Request

```
You: POST this data to https://api.example.com: {"message": "hello"}

Claude: [Uses fetch-with-payment] Successfully posted. Response: {...}
```

#### Check Balance

```
You: What's my SOL balance?

Claude: [Uses get-balance] Your current balance:
- Balance: 2.5 SOL
- Network: devnet
- Address: 7xK...abc
```

#### Set Payment Limit

```
You: Set payment limit to 0.1 SOL

Claude: [Uses set-payment-limit] Payment limit set to 0.1 SOL. 
Any request exceeding this amount will be rejected.
```

#### View Payment History

```
You: Show my payment history

Claude: [Uses get-payment-history] 
Total payments: 3
Total spent: 0.15 SOL

Recent payments:
1. 0.05 SOL to xyz...abc at 2025-11-12T10:30:00Z
2. 0.08 SOL to def...123 at 2025-11-12T11:45:00Z
3. 0.02 SOL to ghi...789 at 2025-11-12T12:15:00Z
```

---

## Tool Reference

### 1. `fetch-with-payment`

Fetch data from any URL with automatic payment handling.

**Parameters:**
- `url` (string, required): URL to fetch
- `method` (string, optional): HTTP method - "GET" or "POST" (default: "GET")
- `body` (string, optional): JSON string for POST requests

**Returns:**
```typescript
{
  success: boolean;
  data: any;
  payment_made: boolean;
  payment_amount: number; // in SOL
}
```

**Example:**
```
Get data from https://api.weather.com/current
```

### 2. `get-balance`

Check current SOL balance in your wallet.

**Parameters:** None

**Returns:**
```typescript
{
  balance: number;      // SOL amount
  unit: "SOL";
  network: string;      // "devnet" or "mainnet"
  address: string;      // Public key
}
```

**Example:**
```
Check my wallet balance
```

### 3. `get-payment-history`

View all payments made during the current session.

**Parameters:**
- `limit` (number, optional): Maximum records to return (default: all)

**Returns:**
```typescript
{
  total_payments: number;
  total_spent: number;     // Total SOL spent
  records: Array<{
    url: string;
    amount: number;        // in SOL
    recipient: string;
    t…

