Skip to main content
Glama
402ai-net

402ai-mcp

by 402ai-net

402ai-mcp

MCP (Model Context Protocol) server for 402ai.net - a Lightning-paid API proxy. Provides catalog-aware tools with compact/full profiles, bearer-first authentication, and dynamic tool refresh notifications.

Please update me when there are feature changes.

Features

  • Two Tool Profiles: Compact (optimized for agents) or Full (comprehensive endpoint coverage)

  • Catalog Synchronization: Auto-fetches and tracks API catalog changes

  • Bearer Token Auth: First-class support for prepaid balance tokens

  • Dynamic Tool Updates: Notifies clients when catalog changes via MCP notifications

  • Smart Consolidation: Compact profile merges overlapping endpoints to reduce tool clutter

  • TypeScript Native: Full TypeScript implementation with type safety

  • Comprehensive Testing: Unit tests for catalog validation, deduplication, HTTP handling, and multipart uploads

Related MCP server: opendexter

Quick Start

Installation

npm install
npm run build
npm test

Run via stdio

ALBOM_BEARER_TOKEN=<your_token> npm start

NPM Package

npm install 402ai-mcp

Configuration

Configure via environment variables:

Variable

Default

Description

ALBOM_BASE_URL

https://402ai.net

API base URL

ALBOM_BEARER_TOKEN

(none)

Prepaid balance token (strongly recommended)

ALBOM_NWC_URI

(none)

Client-side NWC connection URI used to auto-pay topup invoices locally

ALBOM_NWC_THRESHOLD_SATS

1000

Trigger auto-topup when API responses report balance below this threshold

ALBOM_NWC_TOPUP_USD

2.00

USD amount to add for each automatic topup

ALBOM_NWC_MAX_DAILY

10.00

Max USD the MCP client will auto-top up over a rolling 24h window

ALBOM_TOOL_PROFILE

compact

Tool profile: compact or full

ALBOM_INCLUDE_MODERATION

false (compact), true (full)

Include moderation tools

ALBOM_INCLUDE_EMBEDDINGS

false (compact), true (full)

Include embedding tools

ALBOM_INCLUDE_VIDEO

true

Include video generation tools

ALBOM_ALLOW_RAW_TOOL

false

Expose albom_raw_call tool (full profile only)

ALBOM_CATALOG_TTL_MS

300000 (5 min)

Catalog cache TTL

ALBOM_HTTP_TIMEOUT_MS

90000 (90 sec)

HTTP request timeout

ALBOM_MAX_RETRIES

2

Max retry attempts for failed requests

ALBOM_MAX_UPLOAD_BYTES

26214400 (25 MB)

Max upload file size

Tool Profiles

Compact Profile (Default)

Optimized for AI agents with minimal tool ambiguity. Consolidates overlapping endpoints into semantic tools:

Tool

Purpose

Maps to Endpoint

albom_catalog_get

Get live API catalog

/api/v1/catalog

albom_text_generate

Generate text completions

/v1/responses

albom_image_generate

Generate images

/v1/images/generations

albom_image_edit

Edit images

/v1/images/edits

albom_audio_transcribe

Transcribe audio (with optional translation)

/v1/audio/transcriptions (+ /translations)

albom_audio_speech

Generate speech

/v1/audio/speech

albom_video_generate

Generate videos (if enabled)

/v1/video/generations

albom_safety_moderate

Content moderation (if enabled)

/v1/moderations

albom_embedding_create

Create embeddings (if enabled)

/v1/embeddings

Consolidations:

  • Hides /v1/chat/completions in favor of /v1/responses (identical model sets)

  • Folds /v1/audio/translations into albom_audio_transcribe via boolean flag

Full Profile

One tool per catalog endpoint for comprehensive coverage:

  • albom_openai_chat_completions

  • albom_openai_responses

  • albom_openai_images_generations

  • albom_openai_images_edits

  • albom_openai_images_variations

  • albom_openai_audio_speech

  • albom_openai_audio_transcriptions

  • albom_openai_audio_translations

  • albom_openai_embeddings

  • albom_openai_moderations

  • albom_openai_video_generations

  • albom_catalog_get

  • albom_raw_call (if ALBOM_ALLOW_RAW_TOOL=true)

Authentication

Set ALBOM_BEARER_TOKEN to your prepaid balance token. All requests will use Authorization: Bearer <token>.

Get a token:

# 1. Create topup invoice
curl -X POST https://402ai.net/api/v1/topup \
  -H "Content-Type: application/json" \
  -d '{"amount_sats":1000}'

# 2. Pay invoice with Lightning wallet, then claim
curl -X POST https://402ai.net/api/v1/topup/claim \
  -H "Content-Type: application/json" \
  -d '{"preimage":"<hex-preimage>"}'

NWC Auto-Topup

Set ALBOM_NWC_URI to a nostr+walletconnect://... URI to let the MCP client auto-pay topup invoices locally. The NWC secret stays in the MCP client process and is never sent to the 402ai server.

When a tool response includes balance_sats or available_sats below ALBOM_NWC_THRESHOLD_SATS, the MCP client will:

  1. POST /api/v1/topup with {"amount_usd": ALBOM_NWC_TOPUP_USD}

  2. Pay the returned invoice over NWC with pay_invoice

  3. POST /api/v1/topup/claim with the returned preimage

  4. Update the in-memory bearer token if the claim returns a newer token

Notes:

  • Auto-topup is client-side only. The NWC URI never touches the 402ai server.

  • ALBOM_NWC_MAX_DAILY is a rolling 24-hour USD spend cap for automatic topups.

  • Auto-topup does not bootstrap a brand new account by itself. Start with a valid ALBOM_BEARER_TOKEN, then NWC can keep that balance funded.

No Token (L402 Flow)

Without a token, calls will return 402 Payment Required with a Lightning invoice. The MCP server will surface this as an error with payment details.

Usage Examples

With Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "402ai": {
      "command": "node",
      "args": ["/path/to/402ai-mcp/dist/server.js"],
      "env": {
        "ALBOM_BEARER_TOKEN": "abl_your_token_here",
        "ALBOM_NWC_URI": "nostr+walletconnect://...",
        "ALBOM_NWC_THRESHOLD_SATS": "1000",
        "ALBOM_NWC_TOPUP_USD": "2.00",
        "ALBOM_NWC_MAX_DAILY": "10.00",
        "ALBOM_TOOL_PROFILE": "compact"
      }
    }
  }
}

Programmatic Usage

import { createAlbomServer } from '402ai-mcp';

const server = createAlbomServer({
  baseUrl: 'https://402ai.net',
  bearerToken: process.env.ALBOM_BEARER_TOKEN,
  toolProfile: 'compact'
});

// Start server
await server.run();

Development

Build

npm run build

Documentation Discipline

Keep ARCHITECTURE.md and WORKLOG.md accurate when tool behavior, transport assumptions, auth flows, or deployment expectations change.

Test

npm test              # Run all tests
npm run test:watch    # Watch mode

Dev Server

npm run dev           # Watch and rebuild
npm run start:dev     # Run without build

Smoke Test (Live API)

ALBOM_BEARER_TOKEN=<token> npm run smoke:live

Architecture

Core Modules

  • catalog.ts: Fetches and validates /api/v1/catalog, detects changes

  • config.ts: Environment variable configuration and validation

  • dedup.ts: Model set deduplication logic (Jaccard similarity)

  • httpClient.ts: HTTP client with retry logic, multipart support, bearer auth

  • tools/: Tool implementations for compact and full profiles

  • results.ts: Response normalization and error handling

  • uploads.ts: File upload handling (path and base64)

  • server.ts: MCP server implementation

Catalog Sync

  1. Fetches /api/v1/catalog on startup

  2. Caches for ALBOM_CATALOG_TTL_MS

  3. Periodically refreshes and compares

  4. Sends notifications/tools/list_changed if catalog changes

  5. Clients re-fetch tool definitions

Error Handling

HTTP errors are normalized to MCP-friendly format:

  • 402 Payment Required: Returns payment details (invoice, amount, expires_in)

  • 400 Bad Request: Returns validation errors

  • 429 Rate Limited: Returns retry-after info

  • 5xx Server Error: Returns error message

  • Network errors: Automatic retry with exponential backoff

Testing

Test suite covers:

  • Catalog validation and normalization

  • Model set deduplication (Jaccard similarity)

  • HTTP error normalization

  • Multipart upload encoding (path + base64)

  • Tool list change detection

  • Bearer token authentication

  • Retry logic

Run tests:

npm test

Publishing

# 1. Build and test
npm run build
npm test

# 2. Check package contents
npm pack --dry-run

# 3. Publish
npm login
npm version patch  # or minor/major
npm publish --access public

Project Structure

.
├── src/
│   ├── catalog.ts         # Catalog fetching and tracking
│   ├── config.ts          # Environment configuration
│   ├── dedup.ts           # Model set deduplication
│   ├── httpClient.ts      # HTTP client with retries
│   ├── server.ts          # MCP server implementation
│   ├── tools/             # Tool implementations
│   │   ├── compact.ts     # Compact profile tools
│   │   ├── full.ts        # Full profile tools
│   │   └── shared.ts      # Shared tool utilities
│   ├── results.ts         # Response normalization
│   ├── uploads.ts         # File upload handling
│   ├── types.ts           # TypeScript types
│   └── index.ts           # Public exports
├── test/                  # Test suite
├── scripts/               # Utility scripts
├── dist/                  # Compiled output
└── 402AI_MCP_IMPLEMENTATION_SPEC.md  # Design spec

Documentation:
└── 402AI_MCP_IMPLEMENTATION_SPEC.md

MCP Specification

This server implements MCP spec revision 2025-11-25.

Supported features:

  • Tools capability

  • Notifications capability (tools/list_changed)

  • Tool annotations (title, readOnlyHint, idempotentHint)

  • stdio transport

License

MIT - See LICENSE file.

Contributing

See WORKLOG.md for recent changes and development history.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables users to generate AI images using the Jimeng AI API with support for automatic status polling and local file saving. It allows for detailed parameter configuration including image dimensions, model selection, and prompt optimization.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to search, pay for, and call paid APIs using the x402 protocol, with automatic USDC settlement.
    2
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    An MCP server for AI dialogue via the AceDataCloud platform, supporting multi-model conversations including GPT-4/5, DeepSeek, Grok, and GLM.
    4
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    An MCP server that gives AI agents real-time market data, DeFi intelligence, and automatic tool discovery via plugins. Supports x402 micropayments and is always updated.
    23
    MIT