关于 1NCE API MCP Server
这是连接 AI Agent 与 1NCE IoT 连接管理平台的 MCP 服务,适用于管理 SIM 卡和订单的团队。它通过 OAuth 2.0 访问 1NCE API,并提供工具、资源和预设提示词。
主要功能
- 01OAuth 2.0 身份验证
- 02查询产品并管理订单
- 03查看 SIM 状态与用量
- 04更新 SIM 配置并重置连接
- 05提供资源和预设提示词
适用场景
- 01查询可用的 IoT 连接产品
- 02创建订单并跟踪订单状态
- 03检查 SIM 卡状态、配额和使用情况
- 04更新 SIM 配置或重置连接
MCP 相关
该 MCP 服务向客户端开放 1NCE 产品、订单和 SIM 管理工具,并提供 SIM 状态及产品资源和常用任务提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
1NCE IoT 平台 MCP 服务
一个模型上下文协议(MCP)服务,可让 AI Agent 通过自然语言与 1NCE IoT 连接管理平台交互。
概述
本项目提供一个中间件层,将大模型(LLM)连接到 1NCE API,以管理 IoT 连接。它可让 AI 助手:
- 获取产品信息
- 管理订单
- 监控 SIM 卡状态
- 查看数据和 SMS 配额
- 更新 SIM 配置
- 查看连接信息
通过模型上下文协议提供这些功能,AI Agent 可以使用自然语言与 IoT 基础设施交互,从而简化联网设备的管理。
功能
- 身份验证:通过 1NCE API 进行安全的 OAuth 2.0 令牌身份验证
- 产品管理:查询可用的 IoT 连接产品
- 订单管理:创建和跟踪订单
- SIM 管理:监控和配置 SIM 卡
- 资源:直接访问 SIM 状态和产品数据
- 提示词:针对常见任务预先定义的交互模板
前提条件
- Python 3.8+
- FastMCP v2
- 拥有 API 凭据的 1NCE 账户
安装
- 克隆此仓库
git clone https://github.com/yourusername/1nce-mcp-server.git
cd 1nce-mcp-server
- 安装所需依赖
pip install fastmcp httpx
- 设置包含 1NCE API 凭据的环境变量
export ONCE_CLIENT_ID="your_client_id"
export ONCE_CLIENT_SECRET="your_client_secret"
使用方法
使用 FastMCP 安装
推荐使用 FastMCP CLI 安装此 MCP 服务:
fastmcp install 1nce_mcp.py
这样即可让兼容的 MCP 客户端使用此服务,包括 Claude Desktop。
直接运行
在开发或测试时,可以直接运行此服务:
python 1nce_mcp.py
与客户端配合使用
可以使用 FastMCP 客户端以编程方式与服务交互:
from fastmcp import Client
async with Client("1nce_mcp.py") as client:
# Get list of products
products = await client.call_tool("get_all_products")
print(products)
# Check SIM status
sim_status = await client.call_tool("get_sim_status", {"iccid": "your_sim_iccid"})
print(sim_status)
可用工具
产品工具
get_all_products()- 获取所有可用的 1NCE 产品
订单工具
get_all_orders(page, page_size, sort)- 获取订单列表,支持分页get_order_by_number(order_number)- 获取指定订单的详细信息create_order(products, delivery_address, customer_reference)- 创建新订单
SIM 工具
get_all_sims(page, page_size, query, sort)- 列出 SIM 卡,支持筛选选项get_sim_details(iccid)- 获取指定 SIM 卡的详细信息get_sim_status(iccid)- 查看 SIM 卡的连接状态get_sim_data_quota(iccid)- 查看 SIM 卡的剩余数据配额get_sim_sms_quota(iccid)- 查看 SIM 卡的剩余 SMS 配额update_sim_status(iccid, status, label, imei_lock)- 更新 SIM 配置get_sim_usage(iccid, start_date, end_date)- 获取指定时间段的使用统计信息get_sim_events(iccid, page, page_size, sort)- 获取 SIM 卡的事件历史记录reset_sim_connectivity(iccid)- 触发 SIM 卡连接重置
示例
检查 SIM 状态
from fastmcp import Client
async with Client("1nce_mcp.py") as client:
# Check SIM status
sim_status = await client.call_tool("get_sim_status", {
"iccid": "8988303000123456789"
})
print(f"SIM Status: {sim_status.get('status')}")
# Check data quota
quota = await client.call_tool("get_sim_data_quota", {
"iccid": "8988303000123456789"
})
print(f"Remaining data: {quota.get('volume')} MB")
print(f"Expires on: {quota.get('expiry_date')}")
创建订单
from fastmcp import Client
async with Client("1nce_mcp.py") as client:
# Create an order for 5 SIM cards
order = await client.call_tool("create_order", {
"products": [{"productId": 1001, "quantity": 5}],
"customer_reference": "IoT-Project-XYZ"
})
print(f"Order created with number: {order.get('order_number')}")
安全性
- MCP 服务要求将 1NCE API 凭据设置为环境变量
- 使用 OAuth 2.0 和 Basic Authentication 进行身份验证
- 动态获取访问令牌,不会持久存储
- 此服务仅公开必要的 API 操作,并优先提供读取操作而非写入操作
贡献
欢迎贡献!欢迎提交 Pull Request。
许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
致谢
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。