Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

UnifyAPI

БесплатноНе проверен

One API key and one billing rail for hundreds of API tools across many providers — exposed to AI agents through a single MCP endpoint and billed per call with x

GitHubEmbed

Описание

One API key and one billing rail for hundreds of API tools across many providers — exposed to AI agents through a single MCP endpoint and billed per call with x402 crypto payments.

README

One API key and one billing rail for hundreds of API tools across many providers — exposed to AI agents through a single MCP endpoint and billed per call with x402 crypto payments.

UnifyAPI is a full-stack demo platform (inspired by the MCP + x402 ecosystem) built with Next.js 16, PostgreSQL + Prisma 7, and x402. Agents connect once and call any tool; humans manage keys, balance, and usage from a dashboard.


Features

  • Tool catalog — 24 seeded tools across 12 categories and 13 providers.
  • Three access surfaces
    • REST: POST /api/call/{slug}
    • MCP (JSON-RPC): POST /api/mcpinitialize, tools/list, tools/call
    • OpenAPI 3.1 spec: GET /api/openapi
    • Machine-readable agent card: GET /api/agent-card
  • Privy authentication — email / Google / wallet login with embedded wallets; falls back to a demo email login when Privy isn't configured.
  • API-key auth — hashed keys, Bearer tokens, revocation.
  • Per-call billing — every call validates input, checks balance, executes, charges, and records usage atomically.
  • x402 crypto payments — top up balance with USDC; real verify/settle through a facilitator, with an automatic simulation mode when not configured.
  • Live + mock tools — weather (Open-Meteo) and crypto price (CoinGecko) hit real key-less APIs; the rest return realistic mock data.
  • Dashboard — balance, top-up, key management, usage history.
  • Tool playground — run real calls from the tool detail page.

Tech stack

Layer Choice
Framework Next.js 16 (App Router, Turbopack) + React 19 + TypeScript
Styling Tailwind CSS v4
Database PostgreSQL via Prisma 7 (prisma-client generator + @prisma/adapter-pg)
Payments x402 (USDC on Base / Base-Sepolia)

Getting started

1. Install

npm install

2. Start a database

For local development, run a zero-install Postgres with Prisma:

npm run db:dev      # starts a local Prisma Postgres server (keep this running)

This prints connection URLs. The default .env is already pointed at the local server (postgres://postgres:postgres@localhost:51214/template1).

Production: set DATABASE_URL in .env to your own PostgreSQL connection string instead.

3. Create the schema & seed data

In a second terminal:

npm run db:push     # create tables
npm run db:seed     # load categories, providers, and tools

4. Run the app

npm run dev

Open http://localhost:3000.


Using the API

Create an account and key:

  1. Go to /login, enter any email (passwordless demo auth).
  2. On /dashboard, click Top up (credits instantly in simulation mode) and Create new key.

Call a tool over REST:

curl -X POST http://localhost:3000/api/call/crypto.price \
  -H "Authorization: Bearer uak_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "coin": "bitcoin", "vs": "usd" }'

Call a tool over MCP:

curl -X POST http://localhost:3000/api/mcp \
  -H "Authorization: Bearer uak_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"weather__current","arguments":{"latitude":-6.2,"longitude":106.8}}}'

MCP tool names replace dots with double underscores: weather.currentweather__current.


Enabling real x402 payments

By default the server runs in simulation mode: top-ups credit instantly and no on-chain settlement happens. To enable real crypto payments, fill these in .env:

X402_PAY_TO="0xYourReceivingWalletAddress"
X402_NETWORK="base-sepolia"                  # or "base" for mainnet
X402_FACILITATOR_URL="https://x402.org/facilitator"
# Mainnet via Coinbase CDP facilitator also needs:
# CDP_API_KEY_ID="..."
# CDP_API_KEY_SECRET="..."

With X402_PAY_TO set, POST /api/payments/topup returns HTTP 402 with payment requirements. An x402-capable client/wallet completes the payment and retries with an X-PAYMENT header, which the server verifies and settles through the facilitator before crediting the balance.

The wallet, network, and facilitator credentials must be supplied by you — they are the only pieces that can't be bundled into the demo.


Project structure

prisma/
  schema.prisma         # data model
  seed.ts               # catalog seed
src/
  app/
    page.tsx            # landing
    tools/              # catalog + tool detail (+ playground)
    docs/               # documentation
    login/  dashboard/  # account UI
    api/
      tools/            # public catalog
      call/[slug]/      # authenticated tool execution + billing
      mcp/              # MCP JSON-RPC endpoint
      openapi/          # OpenAPI 3.1 spec
      agent-card/       # agent discovery card
      keys/  me/  auth/ # account management
      payments/topup/   # x402 top-up
  lib/
    prisma.ts  apiKeys.ts  auth.ts
    catalog.ts validate.ts execute.ts  billing.ts  x402.ts
  components/           # client UI (CodeTabs, Playground, CatalogSearch)

Authentication (Privy)

Set NEXT_PUBLIC_PRIVY_APP_ID and PRIVY_APP_SECRET (from dashboard.privy.io) to enable real auth: email, Google, and crypto-wallet login, each with an embedded wallet. The client signs in with Privy, and the server verifies the Privy access token and bridges it into a session (src/app/api/auth/privy/route.ts). With those vars empty, the app uses a passwordless demo login so you can run it immediately.

Deployment

See DEPLOY.md for step-by-step Vercel and Docker instructions, plus the full environment-variable checklist. In short:

  • Vercel: import the repo (uses vercel.json), set env vars, point DATABASE_URL at managed Postgres.
  • Docker: docker compose up --build brings up the app + Postgres together.

Live vs mock tools

11 tools call real, key-less upstreams (weather, crypto price/market, FX, geocode, timezone, dictionary, translation, news). The rest return realistic mock data — wire them to real providers in src/lib/execute.ts.

Notes & caveats (it's a demo)

  • Rate limiting, caching, and retries are described in the UI but not fully implemented.
  • The x402 mainnet path needs a Coinbase CDP facilitator; testnet works with the public facilitator.

from github.com/UnifyAPIPRO/UNIFYAPI

Установка UnifyAPI

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/UnifyAPIPRO/UNIFYAPI

FAQ

UnifyAPI MCP бесплатный?

Да, UnifyAPI MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для UnifyAPI?

Нет, UnifyAPI работает без API-ключей и переменных окружения.

UnifyAPI — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить UnifyAPI в Claude Desktop, Claude Code или Cursor?

Открой UnifyAPI на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare UnifyAPI with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории finance