Veridex Bazaar Discovery MCP Server

Veridex Bazaar Discovery MCP Server

Enables AI agents to discover, query, and pay for HTTP endpoints and MCP tools using Stellar USDC/SEP-41 stablecoins through a federated P2P bazaar catalog and x402 payment facilitator.

Category
访问服务器

README

Veridex x402 Stellar Facilitator & P2P Bazaar Discovery Engine

Version: 0.1.0-alpha
License: Apache-2.0
Grant: Stellar Community Fund (SCF) Build Award


Overview

Complete open-source implementation of an x402 payment facilitator and federated Bazaar discovery engine for Stellar (stellar:testnet and stellar:pubnet). Built on Apache-2.0 @x402/stellar, enabling AI agents and applications to discover, query, rank, and pay for HTTP endpoints and MCP tools using USDC/SEP-41 stablecoins.

Key Features:

  • ✅ Non-custodial x402 payment facilitator with fee sponsorship
  • ✅ P2P federated catalog mesh (libp2p GossipSub)
  • ✅ Hybrid RRF search engine (BM25 + pgvector)
  • ✅ Telemetry-enriched composite ranking
  • ✅ Soroban upto smart contract for metered billing
  • ✅ MCP discovery server for AI agents
  • ✅ Multi-language SDKs (TypeScript, Python, Go)

Project Structure

packages/stellar-facilitator/
├── facilitator/                    # Core HTTP facilitator server
│   ├── facilitator/
│   │   ├── server.ts              # Hono HTTP server (/verify, /settle, /supported)
│   │   └── types.ts               # Request/response schemas
│   ├── channel/
│   │   └── pool.ts                # 50-account channel pool manager
│   ├── bazaar/                    # (to be organized)
│   ├── helpers/                   # (to be organized)
│   ├── mcp/                       # (to be organized)
│   └── validation/                # (to be organized)
│
├── bazaar-service/                # P2P Bazaar Discovery Engine
│   └── src/
│       ├── db/schema.sql          # PostgreSQL + pgvector schema
│       ├── search/
│       │   ├── types.ts           # Type definitions
│       │   ├── engine.ts          # Hybrid RRF search
│       │   └── embeddings.ts     # Vector embedding generation
│       ├── p2p/
│       │   ├── types.ts           # P2P message types
│       │   └── mesh.ts            # Libp2p GossipSub mesh
│       ├── telemetry/
│       │   ├── circuit-breaker.ts # Liveness tracking
│       │   └── tracker.ts         # Telemetry metrics
│       └── catalog/
│           └── ingestion.ts       # Auto-cataloging worker
│
├── mcp-discovery-server/          # AI Agent MCP Server
│   └── src/
│       ├── server.ts              # MCP server implementation
│       └── index.ts               # CLI entry point
│
├── contracts/                     # Soroban Smart Contracts
│   └── upto-settlement/
│       ├── src/lib.rs             # Upto escrow contract (340 lines)
│       └── Cargo.toml             # Rust dependencies
│
├── sdks/                          # Multi-Language SDKs
│   ├── typescript/
│   │   ├── seller.ts              # TypeScript helpers
│   │   └── package.json
│   ├── python/
│   │   ├── seller.py              # Python helpers
│   │   └── setup.py
│   └── go/
│       ├── seller.go              # Go helpers
│       └── go.mod
│
├── specs/                         # Specifications
│   └── (to be added: scheme_upto_stellar.md)
│
├── ARCHITECTURE.md                # Architecture documentation
├── IMPLEMENTATION_STATUS.md       # Current implementation status
├── package.json                   # Root package config
└── README.md                      # This file

Quick Start

Prerequisites

  • Node.js 20+
  • PostgreSQL 15+ with pgvector extension
  • Rust + Soroban CLI (for smart contract)
  • Stellar account with testnet XLM

Installation

# Clone repository
git clone https://github.com/veridex-protocol/stellar-facilitator.git
cd stellar-facilitator

# Install dependencies
npm install
cd bazaar-service && npm install && cd ..
cd mcp-discovery-server && npm install && cd ..

# Setup PostgreSQL database
psql -U postgres -c "CREATE DATABASE veridex_bazaar"
psql -U postgres -d veridex_bazaar -f bazaar-service/src/db/schema.sql

Running Components

1. Bazaar Discovery Service

cd bazaar-service

# Configure environment
export DATABASE_HOST=localhost
export DATABASE_PORT=5432
export DATABASE_NAME=veridex_bazaar
export DATABASE_USER=postgres
export DATABASE_PASSWORD=yourpassword

# Start service
npm run dev

2. Facilitator HTTP Server

cd facilitator

# Configure environment
export STELLAR_RPC_URL=https://soroban-testnet.stellar.org
export STELLAR_NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
export CHANNEL_ACCOUNT_COUNT=50
export FEE_SPONSORSHIP_ENABLED=true

# Start server
npm run dev

3. MCP Discovery Server

cd mcp-discovery-server

# Configure environment
export BAZAAR_API_URL=http://localhost:3001
export FACILITATOR_URL=http://localhost:3000

# Start MCP server
npm start

4. Deploy Soroban Contract

cd contracts/upto-settlement

# Build contract
soroban contract build

# Deploy to testnet
soroban contract deploy \
  --wasm target/wasm32-unknown-unknown/release/upto_settlement.wasm \
  --network testnet \
  --source <YOUR_SECRET_KEY>

API Endpoints

Facilitator HTTP Server (Port 3000)

GET /supported

  • Returns facilitator capabilities
  • Response: { version, schemes, networks, extra }

POST /verify

  • Validates payment authorization
  • Request: { payload: string (base64 XDR) }
  • Response: { isValid: boolean, payer?: string }

POST /settle

  • Executes settlement transaction
  • Request: { payload: string (base64 XDR) }
  • Response: { txHash: string, ledger?: number }

Bazaar Discovery API (Port 3001)

GET /discovery/search?query=...&limit=20

  • Hybrid semantic + keyword search
  • Returns telemetry-ranked results

GET /discovery/resources?network=stellar:pubnet

  • List cataloged resources with filters

MCP Tools (Stdio)

discover_resources

  • Search Bazaar catalog
  • Input: { query, resourceType?, network?, minUptimeRatio?, limit? }

pay_resource

  • Execute paid x402 request
  • Input: { url, method?, params?, maxAmount? }

Development

Build All Packages

# Build facilitator
cd facilitator && npm run build && cd ..

# Build bazaar-service
cd bazaar-service && npm run build && cd ..

# Build mcp-discovery-server
cd mcp-discovery-server && npm run build && cd ..

# Build Soroban contract
cd contracts/upto-settlement && soroban contract build && cd ../..

Run Tests

# TypeScript tests
npm test

# Soroban contract tests
cd contracts/upto-settlement
cargo test

# SDK tests
cd sdks/typescript && npm test

Type Checking

npm run typecheck

SDKs

TypeScript

import { createBazaarMetadata, validateBazaarMetadata } from "@veridex/stellar-sdk";

const metadata = createBazaarMetadata("Weather API", {
  serviceName: "OpenWeather",
  tags: ["weather", "api"],
  inputSpec: { /* JSON Schema */ },
});

const validation = validateBazaarMetadata(metadata);

Python

from veridex_sdk.seller import create_bazaar_metadata, validate_bazaar_metadata

metadata = create_bazaar_metadata(
    description="Weather API",
    input_spec={},
    service_name="OpenWeather",
    tags=["weather", "api"]
)

validation = validate_bazaar_metadata(metadata)

Go

import veridex "github.com/veridex-protocol/veridex/stellar-sdk"

metadata := veridex.CreateBazaarMetadata(
    "Weather API",
    map[string]interface{}{},
    "OpenWeather",
    []string{"weather", "api"},
    "", "", "", nil,
)

validation := veridex.ValidateBazaarMetadata(metadata)

Architecture Highlights

Hybrid RRF Search Engine

Combines BM25 keyword matching with pgvector cosine similarity:

-- Composite Score (Φ)
Φ = 0.35×semantic + 0.25×bm25 + 0.15×uptime + 0.15×latency + 0.10×reliability

P2P Federated Mesh

  • GossipSub topic: /x402/bazaar/v1/announce
  • Active heartbeat pings every 30 seconds
  • Circuit breaker: HEALTHY → DEGRADED → OFFLINE

Channel Account Pool

  • 50 pre-funded Stellar accounts
  • Round-robin sequence number management
  • ~50 parallel settlements per ledger (~5 seconds)

Soroban Upto Contract

Enforces 5 core properties:

  1. Maximum cap: A ≤ M
  2. Recipient binding
  3. Single settlement (nonce tracking)
  4. Unspent refundability
  5. Expired refundability (ledger-based)

Implementation Status

Overall Progress: ~80% Complete

✅ Completed:

  • Bazaar search engine with telemetry ranking
  • P2P libp2p GossipSub mesh
  • Facilitator HTTP server structure
  • Channel account pool manager
  • Soroban upto contract (with tests)
  • MCP server (tool definitions)
  • Multi-language SDKs (TS, Python, Go)
  • Auto-cataloging ingestion worker

⚠️ In Progress:

  • Facilitator verify/settle integration with @x402/stellar
  • MCP payment flow (402 challenge loop)

🔄 Pending:

  • Integration testing
  • Conformance test suite
  • Documentation hub
  • Mainnet deployment

Contributing

Contributions welcome! Please:

  1. Follow Apache-2.0 licensing
  2. Maintain zero AGPL dependencies
  3. Write tests for new features
  4. Keep SDKs synchronized across languages


Resources

  • Repository: https://github.com/veridex-protocol/stellar-facilitator
  • Documentation: (Coming soon)
  • Specifications: specification.md

License

Apache License 2.0

Copyright 2026 Veridex Protocol Team


Contact

Team: Emmanuel Akanji (Protocol Lead) & Testimony Adekoya (AI/MCP Engineer)
Email: omoebun52@gmail.com
GitHub: https://github.com/veridex-protocol

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选