Africa's Talking Airtime MCP

by nasoma
MIT License

Integrations

  • Uses curl to install dependencies (uv) required for setting up the MCP server environment.

  • Offers installation via GitHub repository clone, providing access to the complete MCP server codebase.

  • Uses Python to implement the server and interact with Africa's Talking Airtime API to send and manage airtime transactions.

Африканское говорящее эфирное время MCP

Этот проект реализует сервер Model Context Protocol (MCP) для управления транзакциями эфирного времени с использованием Africa's Talking API . Он предоставляет набор инструментов для проверки баланса счета, отправки эфирного времени, просмотра последних транзакций пополнения, суммирования сумм последних пополнений и подсчета пополнений для определенного номера телефона. Приложение использует SQLite для хранения данных транзакций и поддерживает африканские страны, поддерживаемые Africa's Talking Airtime Service, с правильным форматированием телефонных номеров.

Описание

Сервер MCP Africa's Talking Airtime интегрируется с API Africa's Talking Airtime для упрощения передачи эфирного времени. Основные функции включают:

  • Отправка эфирного времени на указанные номера телефонов.
  • Хранение сведений о транзакциях в базе данных SQLite.
  • Извлечение и обобщение истории транзакций.
  • Проверка баланса счета на Africa's Talking.

Приложение поддерживает страны, в которых поддерживается услуга Africa Talking Airtime.

Установка

Предпосылки

  1. Python 3.10 или выше
  2. Установить УФ
curl -LsSf https://astral.sh/uv/install.sh | sh

Чтобы настроить и запустить проект локально, выполните следующие действия:

  1. Клонируйте репозиторий:
git clone https://github.com/nasoma/africastalking-airtime-mcp.git cd africastalking-airtime-mcp
  1. Настройте виртуальную среду и установите зависимости, выполнив:
uv sync
  1. Вы готовы идти!

Использование с инструментами ИИ

С Клодом Десктопом

Добавьте это в ваш claude_desktop_config.json :

{ "mcpServers": { "Airtime Server": { "command": "{{PATH_TO_UV}}", // Run `which uv` and place the output here "args": [ "--directory", "{{PATH_TO_PROJECT}}", // cd into the repo, run `pwd` and enter the output here "run", "main.py" ], "env": { "username": "your_africastalking_username", "api_key": "your_africastalking_api_key", "country":"your_country", # e.g kenya, uganda, dr congo, rwanda, south africa "currency_code":"currency-code" # e.g. KES, UGX, NGN } } } }

С гусем

Goose — хороший вариант, если вы хотите использовать предпочитаемую вами LLM и предоставить ключ API.

  • Установите Goosee.
  • Откройте панель настроек и добавьте пользовательское расширение (MCP Server).
  • Дайте вашему расширению имя. Тип — STDIO.
  • Добавьте команду. Сохраните изменения.
  • Добавьте переменные среды: username , api_key , currency_code и country .
  • Сохраните изменения.

Описания инструментов

MCP предоставляет следующие инструменты для управления транзакциями эфирного времени:

  1. проверка_баланса :
    • Описание : Возвращает текущий баланс эфирного времени для вашего аккаунта Africa's Talking.
    • Использование : check_balance()
    • Вывод : Возвращает остаток на счете (например, «Остаток на счете: KES 1234.00») или сообщение об ошибке, если остаток не может быть получен.
  2. load_airtime :
    • Описание : Отправляет эфирное время на указанный номер телефона и сохраняет транзакцию в базе данных.
    • Параметры :
      • phone_number : номер телефона получателя (например, «0712345678» или «+254712345678»).
      • amount : количество отправленного эфирного времени (например, 100).
      • currency_code : Код валюты (например, «KES»).
    • Использование : load_airtime("0712345678", 100.00, "KES")
    • Вывод : подтверждение успеха (например, «Успешно отправлено 100,00 KES на номер +254712345678») или сообщение об ошибке.
  3. get_last_topups :
    • Описание : Извлекает последние N транзакций пополнения счета из базы данных.
    • Параметры :
      • limit : количество транзакций для извлечения (по умолчанию: 3).
    • Использование : get_last_topups(3)
    • Вывод : список последних транзакций (например, «Последние 3 транзакции пополнения: ...») или указание на отсутствие транзакций.
  4. сумма_последних_n_пополнений :
    • Описание : Рассчитывает общую сумму последних N успешных пополнений, гарантируя, что они используют одну и ту же валюту.
    • Параметры :
      • n : Количество транзакций для суммирования (по умолчанию: 3).
    • Использование : sum_last_n_topups(3)
    • Вывод : Возвращает сумму (например, «Сумма последних 3 успешных пополнений: KES 300.00») или ошибку, если валюты различаются.
  5. count_topups_by_number :
    • Описание : Подсчитывает количество успешных пополнений счета определенного номера телефона.
    • Параметры :
      • phone_number : номер телефона для запроса (например, «0712345678»).
    • Использование : count_topups_by_number("0712345678")
    • Вывод : Возвращает количество (например, «Количество успешных пополнений счета +254712345678: 5») или ошибку.

Примеры подсказок

Ниже приведены примеры вопросов или команд, которые пользователи могут задать ИИ для взаимодействия с MCP африканского Talking Airtime, на основе доступных инструментов:

Проверить баланс счета
  • Каков баланс моего счета Africa's Talking?
  • Можете ли вы показать мне текущий баланс?
  • Проверьте мой баланс эфирного времени.
Отправить эфирное время
  • Отправьте 100 KES эфирного времени на номер 0712345678.
  • Пополните мой счет 0712345678 на 60.
  • Пополните счет на 50 NGN на номер +2348012345678.
  • Можете ли вы пополнить счет на 200 UGX на номер 0755123456?
Просмотреть последние пополнения
  • Покажите мне последние 3 транзакции эфирного времени.
  • Каковы мои последние пополнения?
  • Перечислите последние 5 пополнений счета.
Сумма последних пополнений
  • Какова общая сумма моих последних трех пополнений?
  • Сложите суммы моих последних 4 транзакций по эфирному времени.
  • Какую сумму я отправил за последние 5 пополнений?
Подсчет пополнений по номеру телефона
  • Сколько раз я пополнял счет 0712345678?
  • Учитывайте пополнения на счете +254712345678.
  • Скажите, сколько успешных пополнений было совершено на номер 0755123456?

Примечания

  • Убедитесь, что на вашем счете Africa's Talking достаточно средств для отправки эфирного времени.
  • Номера телефонов автоматически форматируются на основе переменной country , установленной в клиенте или в claude_desktop_config.json .
  • База данных SQLite ( airtime_transactions.db ) создается в каталоге проекта при инициализации.
  • Лучше всего работает с моделями, которые поддерживают вызов инструментов, например, Claude 3.7 Sonnet . Если вы заботитесь о цене GPT-4.1 Nano — хороший и более дешевый вариант при использовании с такими клиентами, как Goose.

🙏 Кредиты

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Позволяет пользователям управлять транзакциями по эфирному времени через API Africa's Talking, что позволяет им проверять баланс счета, отправлять эфирное время на телефонные номера, просматривать историю транзакций и анализировать закономерности пополнения счета в поддерживаемых странах Африки.

  1. Описание
    1. Установка
      1. Предпосылки
    2. Использование с инструментами ИИ
      1. С Клодом Десктопом
      2. С гусем
    3. Описания инструментов
      1. Примеры подсказок
        1. Проверить баланс счета
        2. Отправить эфирное время
        3. Просмотреть последние пополнения
        4. Сумма последних пополнений
        5. Подсчет пополнений по номеру телефона
      2. Примечания
        1. 🙏 Кредиты

          Related MCP Servers

          • A
            security
            F
            license
            A
            quality
            Enables interaction with the Twitch API, allowing users to retrieve comprehensive information about channels, streams, games, and more, with additional support for searching and accessing chat elements like emotes and badges.
            Last updated -
            14
            9
            1
            TypeScript
            • Apple
            • Linux
          • -
            security
            F
            license
            -
            quality
            Enables enrichment of banking data through the Ntropy API, including creating account holders and enriching transaction details.
            Last updated -
            • Apple
          • A
            security
            F
            license
            A
            quality
            Enables AI assistants to interact with the World Bank open data API, allowing for listing and analysis of indicators across available countries.
            Last updated -
            1
            8
            Python
          • -
            security
            A
            license
            -
            quality
            Enables AI-powered applications to access and manipulate Airtable data directly from your IDE, supporting operations like querying, creating, updating, and deleting records through natural language commands.
            Last updated -
            MIT License

          View all related MCP servers

          ID: h39f9933k8