Token导航 LogoToken导航TokenDH.com
Monty Esim Hub MCP logo
运维云端stdio官方级别未说明来源级核验

Monty Esim Hub MCP

MCP Server

一个基于FastAPI的MCP服务器,提供通过eSIM Hub服务管理eSIM捆绑包的工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API集成Python本地部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

samah-jamal-monty

提供方

samah-jamal-monty

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

根据提供的信息,原文“eSIM Hub MCP API”翻译成中文为:“eSIM中心MCP API”

一个基于FastAPI的模型上下文协议(MCP)服务器,提供通过eSIM Hub服务管理eSIM套餐的工具。

概述

该项目实现了一个MCP服务器,该服务器将eSIM Hub功能作为工具暴露出来,供AI助手和其他MCP客户端使用。它提供了REST API接口和MCP工具,用于获取和购买eSIM套餐。

特点/功能

  • MCP工具集成将eSIM Hub操作作为MCP工具暴露出来
  • REST API(Representational State Transfer Application Programming Interface,表述性状态传递应用程序编程接口)基于FastAPI的HTTP端点
  • 包管理获取所有可用的eSIM套餐
  • 采购运营通过套餐代码购买eSIM套餐
  • 健康监测健康检查端点

项目结构

esim-hub-mcp/
├── main.py                     # FastAPI app with MCP integration
├── requirements.txt            # Python dependencies
├── .env                       # Environment configuration
├── .gitignore                 # Git ignore rules
├── config/
│   └── utils.py               # Configuration utilities
├── dto/
│   ├── __init__.py
│   ├── bundle.py              # Bundle data models
│   └── mapper.py              # Data mapping utilities
└── services/
    ├── __init__.py
    └── esim_hub_service.py    # eSIM Hub API client

安装

  1. 克隆仓库
   git clone 
   cd esim-hub-mcp
  1. 创建一个虚拟环境:
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项
   pip install -r requirements.txt
  1. 配置环境变量

创建一个 .env 在项目根目录中创建一个文件,包含以下变量:

   ESIM_HUB_API_KEY=your_api_key_here
   ESIM_MM_HUB_API_URL=https://mm-hub-api-software-qa.montylocal.net
   ESIM_DIGITAL_SERVICE_URL=https://digital-services-api-software-qa.montylocal.net
   ESIM_HUB_TENANT_KEY=your_tenant_key_here
   SMTP_SERVER=smtp.gmail.com
   SMTP_PORT=587
   SMTP_USE_TLS=true
   SMTP_USERNAME=your_username
   SMTP_PASSWORD=your_password
   SMTP_SENDER=noreply@yourdomain.com
   SMTP_SENDER_NAME=Esim Support

环境变量

变量描述必填
ESIM_HUB_API_KEY 用于eSIM Hub认证的API密钥
ESIM_MM_HUB_API_URL MM Hub API的基础URL
ESIM_DIGITAL_SERVICE_URL 数字服务API的基线URL
ESIM_HUB_TENANT_KEY多租户访问的租户密钥
SMTP_SERVERSMTP服务器主机名是(用于电子邮件)
SMTP_PORTSMTP 端口(587 或 465)是(用于电子邮件)
SMTP_USE_TLS使用 SSL/TLS(真/假)是(用于电子邮件)
SMTP_USERNAMESMTP 用户名是(用于电子邮件)
SMTP_PASSWORDSMTP 密码是(用于电子邮件)
SMTP_SENDER发件人电子邮件地址推荐
SMTP_SENDER_NAME发件人显示名称推荐

使用方法

在本地运行服务器

通过随附的运行程序启动MCP服务器(绑定到0.0.0.0并尊重PORT环境变量):

python main.py --server_type=sse --port 8000

服务器将在以下地址可用:

  • REST API(Representational State Transfer Application Programming Interface,表述性状态传递应用程序编程接口)http://localhost:8000 翻译为中文是:“本地主机上的8000端口”。不过,通常我们不会直接这样翻译URL,而是根据上下文或使用场景来解释其含义,比如“访问本地开发服务器的8000端口”或“本地运行的Web服务地址(端口8000)”。在这里,为了简洁明了,可以将其翻译为“本地主机8000端口(Web服务地址)”
  • MCP服务器http://localhost:8000/mcp 翻译为中文是:“本地主机上的8000端口,路径为/mcp”。不过,在中文语境中,我们通常不会直接这样翻译网址,而是会说“访问本地主机的8000端口上的/mcp路径”或者简化为“访问本地8000端口的/mcp页面”
  • API 文档http://localhost:8000/docs 翻译为中文是:“本地主机:8000 端口的文档页面”。不过,通常我们不会直接翻译网址,而是说明其用途或指向的内容,比如“访问本地开发服务器上的文档页面,地址为 http://localhost:8000/docs”

可用的终端节点

REST API

  • GET / - 健康检查端点

MCP 工具

以下工具可通过MCP接口使用:

  1. test()(注:这是一个函数或方法的名称,在中文中通常直接保留原样,不进行翻译,表示“测试”这个动作或功能。)测试与API的连接性

- 返回值: {"message": "The API is working!"}

  1. 获取所有软件包(或资源包)获取所有可用的eSIM套餐

- 返回:包含套餐对象的列表,其中包含名称、价格、数据流量等详细信息。

  1. 购买套餐(用户邮箱: 字符串,套餐代码: 字符串)购买eSIM套餐

- 参数: user_emailbundle_code

  1. 购买套餐并发送激活码(用户邮箱: str, 套餐代码: str)一键流程:购买、获取激活码、构建激活URL,并将其通过电子邮件发送给用户。
  1. 获取激活码(order_id: str)获取订单的激活码
  1. 通过电子邮件发送激活链接(用户邮箱:str,激活链接:str)将激活URL通过电子邮件发送给用户

示例用法

使用REST API

# Health check
curl http://localhost:8000/

# Access MCP interface
curl http://localhost:8000/mcp

部署到Render

您可以使用Render仪表板(手动方式)或提供的Blueprint文件进行部署。

选项A:渲染仪表板(手动)

  • 构建命令:
  pip install -r requirements.txt
  • 启动命令:
  python main.py --server_type=sse --port $PORT
  • 健康检查路径: /
  • 环境:设置“环境变量”部分中列出的所有变量。

这取代了任何 uv run ... 使用(渲染图像不包含 uv)。

选项B:渲染蓝图(render.yaml)

A. render.yaml 已包含在仓库根目录中。它定义了一个Web服务,包括适当的构建和启动命令以及健康检查。要使用它:

  1. 将此仓库推送到GitHub/GitLab。
  2. 在Render中,创建一个新的蓝图并将其指向该仓库。
  3. 在Render仪表板中设置环境变量。

该服务将绑定到 0.0.0.0 并从(某个地方)读取端口 $PORT 自动地。

依赖项

关键依赖项包括:

  • FastAPIREST API的Web框架
  • FastMCPMCP服务器实现
  • httpx(注:httpx是一个用于执行HTTP请求的工具,常用于网络安全测试等场景,但具体含义和用途可能根据上下文有所不同)用于eSIM Hub API调用的异步HTTP客户端
  • pydantic(一个用于数据验证和设置管理的Python库)数据验证和设置管理
  • python-dotenv(注:这是一个库名,直接翻译为“Python 点环境变量”并不准确,因为它实际上是一个用于加载环境变量到Python环境中库的名称,但为保持格式一致,此处仅翻译其字面意思,实际使用时应理解为该库的功能或用途)环境变量管理
  • loguru(注:这是一个专有名词,通常指的是一种日志记录库或工具,直接翻译为中文可能无法准确传达其含义,因此保持原样。)增强的日志记录

requirements.txt 以获取完整的依赖项列表。

发展

项目架构

该项目遵循了整洁架构模式:

  • main.py使用FastAPI应用和MCP工具定义的入口点
  • services/业务逻辑和外部API集成
  • dto/数据传输对象和映射工具
  • config/配置管理和服务实例化

添加新工具

添加新的MCP工具:

  1. 在(某处)定义工具函数 main.py
   @mcp.tool
   async def new_tool(param: str) -> dict:
       """Description of the new tool."""
       # Implementation here
       return {"result": "success"}
  1. 在适当的服务中实现业务逻辑
  1. 更新文档

测试

使用以下命令运行测试:

python -m pytest test.py

安全注意事项

  • 保持你的 .env 文件要安全存储,切勿提交到版本控制系统中
  • API密钥和租户密钥可提供对eSIM Hub服务的访问权限
  • 在生产环境中使用HTTPS
  • 确保您的SMTP服务提供商允许来自Render的连接以及所选端口(587/465)的连接
  • 考虑在生产环境中实施速率限制

许可证

\[在此添加您的许可证信息\]

贡献

\[在此添加贡献指南\]

支持

对于问题和疑问:

  • 在仓库中创建一个问题
  • 请查阅API文档 /docs 当服务器正在运行时
  • 查看日志以获取调试信息

目录标签

目录标签

API集成Python本地部署eSIM管理API服务移动通信RESTAPIMCP工具

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP