Skip to main content
Glama
black12-ag

@ethioviral/mcp

by black12-ag

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ETHIOVIRAL_API_KEYYesYour API key for the Ethio-Viral API (required).
ETHIOVIRAL_API_BASE_URLNoBase URL for the API. Defaults to https://api.ethio-viral.com.https://api.ethio-viral.com

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_catalogA

Full-text search across airtime, eSIMs, gift cards, and game top-ups. Returns up to 50 matching products with live prices.

list_categoriesA

Returns each product category (airtime, esim, giftcards, gaming, bills) with its item count.

get_categoryB

Returns every product in one category (from list_categories).

get_productA

Fetches one product by id (from search_catalog / get_category), including its current live price — always call this right before create_order to get the exact denomination.

get_balanceA

Returns the calling partner account's current prepaid balance (ETB). Orders are paid from this balance.

create_orderA

Places a live order, debited from your prepaid balance. denomination MUST exactly match one of the product's denoms[].retailMinor from get_product — call get_product first to get a current price, since prices can change. recipient is required when the product's recipientType is phone_number or email (E.164 digits, no leading + for phone). Moves real money — only call this once you intend to complete the purchase.

get_orderA

Fetches the current status of one order by id — use this to re-check an order after create_order, or to recover from a timed-out call.

get_order_historyA

Returns up to 50 of your most recent orders, newest first.

list_premium_productsA

Subscription seats (design tools, AI tools, streaming) priced on your reseller tier. Separate catalog and separate USD wallet from the store, but the same API key opens both.

get_premium_productA

Fetches one subscription product with its current tier price and stock — call this right before create_premium_order so you are quoting a live price.

get_premium_balanceA

The USD wallet premium orders are debited from. Check this before ordering — an order with insufficient balance is refused with 402.

create_premium_orderA

Buys a subscription seat and debits your USD wallet. Confirm the product, the price and the recipient with the user before calling this — it is not reversible from here. An Idempotency-Key is sent automatically, so retrying an identical call is safe and will never double-charge.

get_premium_orderA

Status of a premium order. Poll this after create_premium_order, or to recover from a timed-out call.

get_premium_deliveryA

The credentials, invite or link for a fulfilled premium order. Unlike store orders, premium delivery is NOT inline on the order — you must call this once status is fulfilled.

list_smm_servicesA

Social-media services (followers, views, likes) with their rate per 1000 and min/max order size. There are ~7,500 services, so ALWAYS pass a query (e.g. "tiktok followers", "instagram likes") — an unfiltered list is enormous and mostly irrelevant. The min and max are enforced server-side; an order outside them is refused.

create_smm_orderA

Buys a social-media service and debits your wallet. CONFIRM THE LINK WITH THE USER FIRST — delivery goes to whatever link is given and cannot be recalled once the supplier accepts it. Quantity must be within the service min/max.

get_smm_orderC

Status and real delivery progress (start count, delivered so far, remaining) for an SMM order.

get_webhookA

The endpoint we POST order events to, with its recent delivery health. Returns null if none is configured.

set_webhookA

Registers an https endpoint we call on every terminal order state, so you can stop polling. RETURNS THE SIGNING SECRET EXACTLY ONCE — show it to the user and tell them to store it now; it can never be read back. Private, loopback and cloud-metadata addresses are refused.

delete_webhookA

Stops webhook delivery. Orders are unaffected; you fall back to polling get_order.

test_webhookA

Posts a signed test event to the configured endpoint and reports what came back, so a partner can verify their signature check before relying on it.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 21 tools

Disambiguation4/5

Tools are generally distinguishable by domain prefix (store, premium, SMM, webhook), and descriptions clarify remaining ambiguity. A few pairs like get_order vs get_smm_order or list_premium_products vs get_premium_product could cause misselection if an agent skims names, but context usually resolves them.

Naming Consistency5/5

Every tool follows a consistent verb_noun pattern using list, search, get, create, set, delete, or test. Domain qualifiers such as premium, smm, and webhook are applied uniformly, making the set predictable and easy to navigate.

Tool Count3/5

At 21 tools, the server is at the upper edge of what feels comfortable, though the breadth is justified by covering store, premium, SMM, and webhook workflows. Each tool has a clear purpose, but the overall surface area is heavy compared to a typical focused MCP server.

Completeness4/5

The server covers the core reseller lifecycle well: product discovery, balance checks, order creation, order status retrieval, delivery retrieval, and webhook configuration across all order types. Minor gaps exist, such as no pagination for order history and no SMM-specific history listing, but they are workable and not severe.

Maintenance

ActivityMaintained
ResponsivenessNo issues