非洲通话时间MCP
](https://mseep.ai/app/nasoma-africastalking-airtime-mcp) ](https://smithery.ai/server/@nasoma/africastalking-airtime-mcp)

该项目实现了 模型上下文协议(MCP)服务器 这使得与 非洲会说话的API 用于与通话时间相关的操作。它提供了一套工具,用于检查账户余额、发送通话时间、查看交易历史记录和汇总充值数据。该服务器使用SQLite数据库进行持久存储,并包括格式化非洲各国电话号码的逻辑。
主要特点
- 查询余额:立即检索您的Africa’s Talking帐户的当前通话时间余额。
- 发送通话时间:将通话时间加载到支持国家/地区的任何电话号码。
- 事物日志:自动将每笔交易保存到本地SQLite数据库。
- 交易记录:查看最近充值交易的列表。
- 总结充值:计算最近n次充值的总金额。
- 计算充值金额:统计特定电话号码的交易数量。
- 电话号码格式:自动格式化电话号码以包含正确的国家代码。
安装指南
先决条件
- Python 3.10或更高版本:确保您安装了现代版本的Python。
uv包管理器:此项目使用uv用于依赖性管理。通过运行以下命令进行安装:
curl -LsSf https://astral.sh/uv/install.sh | sh从Smithery安装
通过以下方式自动安装适用于Claude Desktop的非洲Talking Airtime服务器 史密瑟里:
npx -y @smithery/cli install @nasoma/africastalking-airtime-mcp --client claude本地设置
- 克隆存储库:
git clone https://github.com/nasoma/africastalking-airtime-mcp.git
cd africastalking-airtime-mcp- 再进行:
使用设置虚拟环境并安装所需的软件包 uv:
uv sync使用AI工具
使用克劳德桌面
将此添加到您的 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
}
}
}
}与鹅
鹅 如果您希望使用首选的LLM并提供API密钥,则是一个很好的选择。
- 安装Goose。
- 打开设置面板并添加自定义扩展(MCP服务器)。
- 给你的分机起个名字。类型为STDIO。
- 添加命令。保存更改。
- 添加环境变量:
username,api_key,currency_code和country. - 保存更改。
工具参考
MCP服务器公开了以下用于管理通话时间的工具:
check_balance
- 描述:从您的非洲通话账户中检索当前通话时间余额。
- 用法:
check_balance() - 退货:显示账户余额的字符串(例如,“账户余额:KES 1234.00”)或错误消息。
load_airtime
- 描述:将指定的通话时间发送到电话号码并记录交易。
- 参数:
- phone_number (str):收件人的电话号码。 - amount (浮动):发送的播放时间。 - currency_code (str):货币代码(例如,“KES”、“UGX”)。
- 用法:
load_airtime(phone_number="0712345678", amount=100.0, currency_code="KES") - 退货:成功时的确认消息或错误消息。
get_last_topups
- 描述:获取最后一个
N从数据库中提取通话时间充值交易。 - 参数:
- limit (int,可选):要检索的事务数。默认为3。
- 用法:
get_last_topups(limit=5) - 退货:列出最近交易的格式化字符串。
sum_last_n_topups
- 描述:计算最后一个值的总和
N充值。 - 参数:
- n (int,可选):要求和的事务数。默认为3。
- 用法:
sum_last_n_topups(n=5) - 退货:一个包含总和的字符串,如果交易有不同的货币,则会出错。
count_topups_by_number
- 描述:统计成功充值到特定电话号码的次数。
- 参数:
- phone_number (str):要查询的电话号码。
- 用法:
count_topups_by_number(phone_number="0712345678") - 退货:给定号码的充值总数。
示例提示
以下是一些示例提示,您可以使用它们与MCP服务器进行交互:
- 查询余额:
- “我的非洲Talking账户余额是多少?” - “检查我的通话时间余额。”
- 发送通话时间:
- “发送100肯尼亚先令的通话时间至0712345678。” - “用50鲍勃充值我的手机+254712345678。” - “将200 UGX加载到0755123456。”
- 查看最近的充值:
- “显示最近3次通话时间交易。” - “列出我最近的5次充值。”
- 总结最近的充值:
- “我最近3次充值的总数是多少?” - “我在过去的5笔交易中花了多少钱?”
- 计算充值金额:
- “我给0712345678充值了多少次?” - “将充值金额计算到+254712345678。”
重要提示
- 资金:确保您的非洲谈话账户有足够的资金发送通话时间。
- 电话号码格式:电话号码会根据以下内容自动格式化
country环境变量。 - 数据库:SQLite数据库(
airtime_transactions.db)在项目目录中自动创建。 - 支持的型号:此MCP服务器最适合支持工具调用的模型,例如
Claude 3.7 Sonnet或GPT-4.1 Nano.
鸣谢
- 非洲会说话的API:用于基础通话时间服务。看 官方文件.

