アフリカのトーキングエアタイムMCP
このプロジェクトは**、Africa's Talking APIを用いて通話時間取引を管理するためのモデルコンテキストプロトコル(MCP)サーバー**を実装します。アカウント残高の確認、通話時間の送信、最近のトップアップ取引の表示、最近のトップアップ金額の合計、特定の電話番号のトップアップ回数のカウントなど、一連のツールを提供します。このアプリケーションはSQLiteを使用して取引データを保存し、Africa's Talking Airtime Service がサポートするアフリカ諸国の電話番号を適切な形式でサポートします。
説明
Africa's Talking Airtime MCPサーバーは、 Africa's Talking Airtime APIと統合されており、通話時間の転送を容易にします。主な機能は以下のとおりです。
- 指定された電話番号に通話時間を送信します。
- トランザクションの詳細を SQLite データベースに保存します。
- 取引履歴の取得と要約。
- Africa's Talking のアカウント残高を確認します。
このアプリケーションは、アフリカの Talking Airtime サービスがサポートされている国をサポートしています。
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop に Africa's Talking Airtime Server を自動的にインストールするには:
前提条件
- Python 3.10以上
- uvをインストールする
プロジェクトをローカルでセットアップして実行するには、次の手順に従います。
- リポジトリをクローンします。
- 次のコマンドを実行して仮想環境をセットアップし、依存関係をインストールします。
- 準備完了です!
AIツールと併用する
クロード・デスクトップ
これをclaude_desktop_config.json
に追加します:
ガチョウと
好みの LLM を使用し、API キーを提供する場合は、 Gooseが適切なオプションです。
- Goose をインストールします。
- 設定パネルを開き、カスタム拡張機能 (MCP サーバー) を追加します。
- 拡張機能に名前を付けます。タイプは STDIO です。
- コマンドを追加します。変更を保存します。
- 環境変数を追加します:
username
、api_key
、currency_code
、country
。 - 変更を保存します。
ツールの説明
MCP は、通話時間トランザクションを管理するための次のツールを提供します。
- 残高確認:
- 説明: Africa's Talking アカウントの現在の通話時間残高を取得します。
- 使用法:
check_balance()
- 出力: アカウント残高 (例: 「アカウント残高: KES 1234.00」) を返します。残高を取得できない場合はエラー メッセージを返します。
- ロードエアタイム:
- 説明: 指定された電話番号に通話時間を送信し、トランザクションをデータベースに保存します。
- パラメータ:
phone_number
: 受信者の電話番号(例:「0712345678」または「+254712345678」)。amount
: 送信する通信時間の量 (例: 100)。currency_code
: 通貨コード (例: "KES")。
- 使用方法:
load_airtime("0712345678", 100.00, "KES")
- 出力: 成功を確認します (例: 「KES 100.00 の通話時間を +254712345678 に正常に送信しました」)、またはエラーを報告します。
- get_last_topups :
- 説明: データベースから最後の
N
通話時間トップアップ取引を取得します。 - パラメータ:
limit
: 取得するトランザクションの数 (デフォルト: 3)。
- 使用法:
get_last_topups(3)
- 出力: 最近のトランザクション (例: 「最後の 3 つのトップアップ トランザクション: ...」) を一覧表示するか、トランザクションが見つからないことを示します。
- 説明: データベースから最後の
- 最後のn個のトップアップの合計:
- 説明: 同じ通貨が使用されていることを確認しながら、最後の
N
回の成功したトップアップの合計金額を計算します。 - パラメータ:
n
: 合計するトランザクションの数 (デフォルト: 3)。
- 使用法:
sum_last_n_topups(3)
- 出力: 合計を返します (例: 「過去 3 回の成功したトップアップの合計: KES 300.00」)。通貨が異なる場合はエラーを返します。
- 説明: 同じ通貨が使用されていることを確認しながら、最後の
- カウントトップアップ数:
- 説明: 特定の電話番号への成功したトップアップの数をカウントします。
- パラメータ:
phone_number
: 照会する電話番号 (例: 「0712345678」)。
- 使用方法:
count_topups_by_number("0712345678")
- 出力: カウント (例: 「+254712345678 への成功したトップアップの数: 5」) またはエラーを返します。
プロンプトの例
以下は、利用可能なツールに基づいて、ユーザーが AI に Africa's Talking Airtime MCP と対話するために尋ねることができる質問またはコマンドの例です。
口座残高を確認する
- 私のAfrica's Talkingアカウントの残高はいくらですか?
- 現在の残高を見せてもらえますか?
- 通話時間の残高を確認してください。
エアタイムを送信
- 100 KES の通話時間を 0712345678 に送信します。
- 0712345678 に 60 をチャージします。
- +2348012345678 に 50 NGN をチャージします。
- 0755123456に200UGXをチャージできますか?
最近のトップアップを表示
- 過去 3 件の通話時間取引を表示してください。
- 最近のトップアップは何ですか?
- 過去 5 回の通話時間のトップアップを一覧表示します。
最近のトップアップの合計
- 過去 3 回のトップアップの合計はいくらですか?
- 過去 4 回の通話時間取引の金額を合計します。
- 過去 5 回のトップアップでいくら送金しましたか?
電話番号によるトップアップのカウント
- 0712345678 に何回チャージしましたか?
- +254712345678 までのトップアップを数えます。
- 0755123456 へのトップアップが何回成功したか教えてください。
注記
- 通話時間を送信するには、Africa's Talking アカウントに資金があることを確認してください。
- 電話番号は、クライアントまたは
claude_desktop_config.json
で設定されたcountry
変数に基づいて自動的にフォーマットされます。 - 初期化時に、SQLite データベース (
airtime_transactions.db
) がプロジェクト ディレクトリに作成されます。 - ツール呼び出しをサポートするモデル(例:
Claude 3.7 Sonnet
に最適です。価格を重視する場合は、Gooseなどのクライアントと併用すると、GPT-4.1 Nano
安価で優れた選択肢となります。
🙏 クレジット
- Africa's Talking API Africa's Talking ドキュメント。
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
ユーザーは、Africa's Talking API を通じて通話時間取引を管理できるため、アカウント残高の確認、電話番号への通話時間の送信、取引履歴の表示、サポートされているアフリカ諸国のトップアップ パターンの分析などが可能になります。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates interaction with Ethereum blockchain data via Etherscan's API, providing real-time access to balances, transactions, token transfers, contract ABIs, gas prices, and ENS name resolutions.Last updated -6313TypeScriptMIT License
- -securityAlicense-qualityEnables 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
- -securityAlicense-qualityConnects AI tools directly to Airtable, allowing users to query, create, update, and delete records using natural language.Last updated -1226PythonMIT License
- -securityAlicense-qualityTelegram API integration for accessing user data, managing dialogs (chats, channels, groups), retrieving messages, and handling read status.Last updated -38GoMIT License