Skip to main content
Glama
BACH-AI-Tools

Virtual Number MCP Server

Virtual Number MCP Server

English | 简体中文 | 繁體中文

Virtual Number 的 MCP 服务器,由 API-to-MCP 工具自动生成。

🚀 使用 EMCP 平台快速体验

EMCP 是一个强大的 MCP 服务器管理平台,让您无需手动配置即可快速使用各种 MCP 服务器!

快速开始:

  1. 🌐 访问 EMCP 平台

  2. 📝 注册并登录账号

  3. 🎯 进入 MCP 广场,浏览所有可用的 MCP 服务器

  4. 🔍 搜索或找到本服务器(bach-virtual_number

  5. 🎉 点击 "安装 MCP" 按钮

  6. ✅ 完成!即可在您的应用中使用

EMCP 平台优势:

  • 零配置:无需手动编辑配置文件

  • 🎨 可视化管理:图形界面轻松管理所有 MCP 服务器

  • 🔐 安全可靠:统一管理 API 密钥和认证信息

  • 🚀 一键安装:MCP 广场提供丰富的服务器选择

  • 📊 使用统计:实时查看服务调用情况

立即访问 EMCP 平台 开始您的 MCP 之旅!


Related MCP server: VirtualSMS MCP Server

简介

这是一个使用 FastMCP 自动生成的 MCP 服务器,用于访问 Virtual Number API。

  • PyPI 包名: bach-virtual_number

  • 版本: 1.0.0

  • 传输协议: stdio

安装

从 PyPI 安装:

pip install bach-virtual_number

从源码安装:

pip install -e .

运行

方式 1: 使用 uvx(推荐,无需安装)

# 运行(uvx 会自动安装并运行)
uvx --from bach-virtual_number bach_virtual_number

# 或指定版本
uvx --from bach-virtual_number@latest bach_virtual_number

方式 2: 直接运行(开发模式)

python server.py

方式 3: 安装后作为命令运行

# 安装
pip install bach-virtual_number

# 运行(命令名使用下划线)
bach_virtual_number

配置

API 认证

此 API 需要认证。请设置环境变量:

export API_KEY="your_api_key_here"

环境变量

变量名

说明

必需

API_KEY

API 密钥

PORT

不适用

HOST

不适用

在 Claude Desktop 中使用

编辑 Claude Desktop 配置文件 claude_desktop_config.json:

{
  "mcpServers": {
    "virtual_number": {
      "command": "python",
      "args": ["E:\path\to\virtual_number\server.py"],
      "env": {
        "API_KEY": "your_api_key_here"
      }
    }
  }
}

注意: 请将 E:\path\to\virtual_number\server.py 替换为实际的服务器文件路径。

可用工具

此服务器提供以下工具:

view_sms_history

View All received SMS for the given number and country id

端点: GET /api/v1/e-sim/view-messages

参数:

  • countryId (string) 必需: Example value: 7

  • number (string) 必需: Example value: 79034134722

  • page (string): Example value:

  • countryId (string) 必需: Example value: 7

  • number (string) 必需: Example value: 79034134722

  • page (string): Example value:


get_number_by_country_id

Get currently available numbers list by given country id

端点: GET /api/v1/e-sim/country-numbers

参数:

  • countryId (string) 必需: Example value: 7

  • countryId (string) 必需: Example value: 7


get_all_countries

Get the list of currently available countries

端点: GET /api/v1/e-sim/all-countries


技术栈

  • FastMCP: 快速、Pythonic 的 MCP 服务器框架

  • 传输协议: stdio

  • HTTP 客户端: httpx

开发

此服务器由 API-to-MCP 工具自动生成。

版本: 1.0.0

Available Tools

3 tools
get_all_countriesA

Get the list of currently available countries

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the purpose and gives no details about read-only behavior, ordering, pagination, or response format. The phrase 'currently available' hints at dynamic data but is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, concise sentence that immediately conveys the tool's purpose. No wasted words or redundant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters) and the presence of an output schema to describe return values, the description is adequate. It could mention whether the list is sorted or if any filtering is applied, but for a basic list retrieval it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema fully covers parameter semantics. The description adds no parameter details because none are needed. Baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and identifies the exact resource ('list of currently available countries'), clearly distinguishing it from siblings like view_sms_history and get_number_by_country_id, which target different data. It is immediately obvious what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a list of countries is needed, but provides no explicit when-to-use guidance or comparison with alternatives. Sibling tool names make the distinction clear, but the description itself does not state when to choose this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_number_by_country_idA

Get currently available numbers list by given country id

ParametersJSON Schema
NameRequiredDescriptionDefault
countryIdYesExample value: 7

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description is the sole source of behavioral disclosure. It adds 'currently available', implying a dynamic read operation, but does not explicitly state read-only behavior, pagination, error handling, or other side effects. This is adequate for a simple list tool but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the action and resource. There is no redundant wording or unnecessary elaboration, earning full marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and only one required parameter, the description is reasonably complete. It could be improved by clarifying what 'numbers' refers to (e.g., phone numbers), but the sibling tools and tool name provide enough context to disambiguate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage with the countryId parameter and an example value. The description mentions 'by given country id', which mirrors the parameter name and adds minimal semantic value beyond what the schema already conveys. It does not introduce new constraints or formatting details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get), the resource (numbers list), and the condition (by given country id). This distinguishes it from sibling tools like view_sms_history and get_all_countries by targeting a specific country-based number lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the usage context: use when you need a list of currently available numbers for a specific country. It does not explicitly mention alternatives or exclusions, but the context is unambiguous enough for an agent to decide when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

view_sms_historyA

View All received SMS for the given number and country id

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoExample value:
numberYesExample value: 79034134722
countryIdYesExample value: 7

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits, but it only states 'View All received SMS,' which implies a read-only operation. It fails to address the 'page' parameter, and the word 'All' could mislead an agent into thinking a single call returns all messages when pagination might be required. This is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately states the action and resource. It contains no redundant words or irrelevant details, making it well-structured and appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so return values need not be described. However, the presence of the 'page' parameter in the schema and the phrase 'All' in the description suggest pagination, which is not addressed. This leaves the agent uncertain about retrieving the full set of SMS, making the description slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (each parameter has an example value), so the baseline is 3. The description clarifies that 'number' and 'countryId' identify the SMS history to view, but it does not explain the 'page' parameter, leaving its semantics undefined. The description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'View' and a clear resource 'All received SMS,' immediately conveying the tool's function. It also identifies the required parameters (number and country id), distinguishing it from sibling tools that fetch numbers or countries. The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: when you need SMS history for a specific number in a given country. It does not explicitly mention alternatives or exclusions, but the sibling tools are clearly different in purpose, so the usage context is adequate without further elaboration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.0.0
    • First observedget_all_countries
    • First observedget_number_by_country_id
    • First observedview_sms_history

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: viewing SMS history, retrieving available numbers for a country, and listing countries. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (view_sms_history, get_number_by_country_id, get_all_countries). While 'view' and 'get' are different verbs, the overall style and structure are uniform and readable.

Tool Count5/5

With 3 tools, the server is well-scoped and within the ideal 3-15 range. Each tool covers a necessary aspect of the virtual number workflow without unnecessary bloat.

Completeness5/5

The tool set covers the full core workflow: discover countries, get available numbers for a country, and view SMS history for a number. There are no obvious gaps for the stated purpose of a virtual number service.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for provisioning dedicated real-SIM US phone numbers, receiving inbound SMS, and extracting OTP codes. Built for AI agents automating phone verification workflows.
    47
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for integrating with SMS-Activate service, enabling phone number operations, email activations, and account management for receiving SMS verification codes and temporary email addresses.
    17
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/virtual_number'

If you have feedback or need assistance with the MCP directory API, please join our Discord server