Skip to main content
Glama

TextVerified 插件

English README · GitHub · TextVerified API v2 文档

textverified-mcp 是一个可安装到 Codex、ChatGPT 以及其他兼容 Agent 的 TextVerified 插件。它封装完整的 TextVerified API v2,并为 SMS 和 voice verification 提供快捷工作流。

一句话安装

把下面这句话直接发给支持插件的 Agent:

请从 https://github.com/guangfuhao/textverified-mcp 安装 TextVerified 插件,安装完成后打开插件设置页面,让我配置 TextVerified 用户名和 API Key。

Codex CLI 也可以从个人或仓库 marketplace 安装:

codex plugin marketplace add https://github.com/guangfuhao/textverified-mcp
codex plugin add textverified-mcp

不同 Agent 的插件目录和命令可能不同;上面的一句话安装请求会让 Agent 选择其支持的安装方式。

Related MCP server: Telnyx MCP Server

首次配置

插件安装后会通过 textverified-setup onboarding skill 引导用户配置:

  • TextVerified username:TextVerified 注册邮箱;

  • TextVerified API key:TextVerified 主 API Key;

  • API base URL:默认使用 https://www.textverified.com。

保存后,插件把凭据写入当前用户的本地配置文件,并设置为仅文件所有者可读(权限 0600)。API Key 在设置读取结果中始终显示为掩码,不会写入 GitHub、README、聊天消息或工具参数。无图形设置页的 CI/headless 环境可以使用 TEXTVERIFIED_USERNAME 和 TEXTVERIFIED_API_KEY 环境变量。

如果宿主支持 OpenAI MCP Extensions,设置页由 openai/settings capability 原生渲染。当前 Codex 的本地插件详情页可能只显示技能;此时 onboarding skill 会调用 textverified_setup_local,启动一个只监听本机的临时配置页,保存后自动关闭。无法启动本地页的 CI/headless 环境再使用环境变量或密钥存储。

支持能力

  • textverified_request:调用所有 /api/pub/v2/* API v2 接口;

  • 创建和查询 SMS/voice verification;

  • 查询和发送 SMS;

  • 查询语音通话并创建来电访问令牌;

  • 创建租号;

  • 访问服务、价格、库存、计费、backorder、唤醒请求、webhook 定义和分页链接等其他接口。

完整 OpenAPI 合同见 docs/api-v2.openapi.json,接口清单见 docs/endpoints.md。

安全行为

购买、退款、续期、回复、发送 SMS、扩展等操作可能消耗余额或改变账号状态。快捷写操作要求显式确认参数,通用 API 工具也应只在明确了解请求后使用。建议集成测试优先使用官方文档中的 test_* mock 服务名。

客户端会缓存短期 bearer token,对临时网络错误、429 和 5xx 做有上限的退避重试,支持 Idempotency-Key,并限制请求只能访问 TextVerified API v2 域名。

本地开发

python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
pytest -q

测试使用本地 mock transport,不会访问 TextVerified,也不会购买号码。

项目文件

  • plugin.json:可移植 Agent Plugins 清单;

  • mcp.json:插件内置 stdio MCP server 配置;

  • .agents/plugins/marketplace.json:从 GitHub 仓库发现和安装插件的 marketplace 清单;

  • skills/setup/SKILL.md:首次安装配置引导;

  • skills/textverified-usage/SKILL.md:使用与安全规则;

  • docs/api-v2.openapi.json:官方 API v2 OpenAPI 快照;

  • src/textverified_mcp/:Python 客户端和 MCP server。

许可

MIT。本项目是独立的社区客户端,TextVerified 商标归其权利人所有,TextVerified 未对本项目作任何背书。

Available Tools

11 tools
textverified_create_call_access_tokenC

Create the incoming-call access token for a reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
reservation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry behavioral disclosure. It says only 'create' and does not state required permissions, whether the token expires, side effects, or failure behavior, which is a significant gap for a token-generation tool.

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 front-loaded sentence with no filler. It is appropriately sized for the stated operation and avoids redundancy.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, with no annotations and zero parameter description coverage, the description is missing critical context about usage and behavior, making it insufficient for confident invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the sole parameter reservation_id has no schema description. The phrase 'for a reservation' merely restates the parameter name and adds no format, source, or constraint details to compensate.

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

Purpose4/5

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

The description states a specific verb and resource: creating the incoming-call access token for a reservation. It distinguishes itself from listing/sending SMS or calls by the token scope, but does not explicitly name alternatives or contrast with sibling tools.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The description only states what the tool does, leaving the agent to infer the context in which this token should be requested.

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

textverified_create_rentalC

Purchase a rental number; requires explicit confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNo
durationYes
capabilityNosms
number_typeNomobile
is_renewableNo
service_nameYes
idempotency_keyNo
confirm_purchaseNo
allow_back_order_reservationsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It discloses that this is a purchase and that explicit confirmation is required, but omits cost implications, whether the rental is reversible, permission requirements, and what confirmation entails beyond the boolean parameter.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no fluff, so it is efficient and readable. However, it is arguably under-sized for a 9-parameter mutation tool, which keeps it from being a model of appropriately scaled conciseness.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the definition still leaves major gaps. With no annotations, 9 undocumented parameters, and only a terse confirmation note, an agent lacks the context needed to call this purchase tool correctly.

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

Parameters1/5

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

The schema has 0% description coverage across 9 parameters, and the description adds no meaning for any of them. There is only an implicit nod to confirm_purchase, with no explanation of service_name, duration, options, capability, number_type, is_renewable, idempotency_key, or allow_back_order_reservations.

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

Purpose4/5

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

The description states a specific verb and resource: 'Purchase a rental number.' This distinguishes it from siblings focused on SMS, calls, verifications, and settings. It does not explicitly name an alternative or boundary, so it falls short of a 5.

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

Usage Guidelines2/5

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

The only usage signal is 'requires explicit confirmation,' which is a precondition rather than guidance on when to choose this tool over alternatives like create_verification or send_sms. No when-to-use or when-not-to-use context is provided.

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

textverified_create_verificationA

Purchase a single-use verification number for SMS or voice.

Set confirm_purchase=true only after confirming service, capability, and max price. Use test_* service names to exercise the documented mock flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNo
max_priceNo
capabilityNosms
service_nameYes
idempotency_keyNo
confirm_purchaseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the most important trait: this spends money and requires an explicit confirm_purchase=true gate. It leaves out reversibility/refund behavior, rate limits, and the role of idempotency_key in safe retries, so it is useful but incomplete for a purchase operation.

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?

Three short sentences, front-loaded with the action and followed immediately by the safety precondition. Every sentence conveys a distinct constraint; nothing is padded.

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?

An output schema exists, so return-value explanation is rightly omitted, and the payment/confirm behavior is covered. However, for a 6-parameter mutating purchase tool with zero annotation coverage, the unexplained idempotency_key and options fields leave real gaps.

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 description coverage is 0% across 6 parameters, so the description must compensate. It mentions service_name, capability, max_price, and confirm_purchase in prose, but 'options' (free-form object) and 'idempotency_key' get no explanation at all, leaving roughly a third of the surface undocumented.

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

Purpose4/5

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

States a specific verb and resource: 'Purchase a single-use verification number for SMS or voice.' The 'single-use' qualifier implicitly separates it from textverified_create_rental, so an agent can route between them. No sibling is named explicitly, which keeps it short of a 5.

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?

Guidance is limited to the confirm_purchase gate ('only after confirming service, capability, and max price') and the test_* mock convention. It says nothing about when to prefer this tool over textverified_create_rental or textverified_get_verification, so the sibling-selection decision is left to inference.

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

textverified_get_verificationC

Read verification status and its follow-up links.

ParametersJSON Schema
NameRequiredDescriptionDefault
verification_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 the full behavioral burden. 'Read' implies a safe, idempotent lookup, but it does not disclose auth requirements, error behavior for an unknown or expired verification_id, or whether status can be polled repeatedly.

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

Conciseness4/5

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

A single short sentence with no filler, and the resource is front-loaded. It is efficient, though terse to the point of leaving gaps rather than being optimally informative.

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?

An output schema exists, so return-value explanation is not required, and 'follow-up links' gestures at the response. However, for a tool with an undocumented required identifier and a write-capable sibling family, the description leaves important context unstated.

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

Parameters2/5

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

There is one parameter with 0% schema description coverage, and the description never explains what verification_id is, where it comes from, or its expected format. The description adds no meaning beyond the bare parameter name.

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

Purpose4/5

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

States a clear verb (read) plus resource (verification status) and adds a scope hint (follow-up links). It is distinguishable from write-oriented siblings like textverified_create_verification, though it never names a sibling explicitly.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and no exclusions or alternatives among the ten sibling tools. An agent must infer that this is a lookup performed after a verification has been created.

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

textverified_list_callsC

List voice calls associated with the account or reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
extra_queryNo
reservation_idNo
reservation_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says it lists calls. It never confirms the read-only nature, whether results are paginated, whether auth is scoped to a reservation, or what happens with an empty result set.

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

Conciseness4/5

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

A single efficient sentence with the resource front-loaded and no filler. It is under-specified rather than verbose, which is a different problem.

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

Completeness2/5

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

An output schema exists so return values needn't be described, but for a four-parameter filtered-list tool with zero annotation coverage and zero schema descriptions, the definition leaves too much unsaid about filters and behavior.

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

Parameters2/5

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

Schema coverage is 0% across 4 parameters, so the description must compensate and does not. 'To', 'reservation_id', 'reservation_type', and 'extra_query' are never explained; the vague mention of 'account or reservation' only loosely gestures at reservation_id/reservation_type.

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

Purpose4/5

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

Clear verb (List) plus resource (voice calls) and scope (associated with the account or reservation). It's distinguishable from textverified_list_sms in principle, but the description never names that obvious sibling, so it stops short of explicit differentiation.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no reference to alternatives like textverified_list_sms. The phrase 'account or reservation' hints at filtering dimensions but doesn't tell the agent which condition selects which path.

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

textverified_list_smsB

List received SMS, optionally filtered by reservation or number.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
extra_queryNo
reservation_idNo
reservation_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden; 'List received SMS' does at least signal a read-only operation. Beyond that it gives nothing about pagination, ordering, date bounds, or rate limits, which matters for a listing endpoint. Minimum viable rather than rich.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the core verb and resource lead. It is efficient, though arguably too terse to be maximally useful.

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

Completeness2/5

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

With no annotations, 4 parameters at 0% schema coverage, and only a one-line description, the definition leaves key operational details (filter semantics, pagination, result scope) unspecified. The output schema covers return shape, but the invocation-side guidance is thin.

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

Parameters2/5

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

Schema coverage is 0% and the description only loosely maps 'reservation or number' onto reservation_id/reservation_type/to, leaving the meaning of 'to' and the entirely undocumented extra_query parameter unexplained. It partially compensates but falls well short of covering 4 undocumented parameters.

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

Purpose4/5

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

States a specific verb and resource ('List received SMS') with the scope of optional filtering, which distinguishes it from textverified_list_calls and textverified_send_sms. It stops short of explicitly naming those siblings, so it is clear but not fully differentiated.

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 phrase 'optionally filtered by reservation or number' implies the filtering use case, but there is no statement of when to prefer this over list_calls or how the filters interact. Usage is inferable rather than guided.

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

textverified_requestB

Call any TextVerified API v2 endpoint.

Use the exact relative path from docs, such as /api/pub/v2/services. This is the complete escape hatch for all current and future v2 endpoints. Purchase, refund, renewal, reply, and other state-changing calls spend account credits or change account state; use only when explicitly intended.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pathYes
queryNo
methodYes
headersNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose meaningful behavior: purchase, refund, renewal, and reply calls spend account credits or mutate account state. However, it says nothing about authentication requirements, rate limits, error semantics, or that the tool can execute arbitrary v2 endpoints indiscriminately.

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

Conciseness4/5

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

Four short lines, front-loaded with the core capability and then the path convention and the credit/state warning. The 'complete escape hatch for all current and future v2 endpoints' line is slightly promotional filler but useful framing; nothing is bloated.

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?

An output schema exists, so return values need no explanation. For a generic proxy with 0% schema coverage, however, the description omits method/body conventions and auth context, leaving meaningful gaps for an agent composing an arbitrary API call.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, so the description must compensate and largely does not. It clarifies the expected shape of path ('relative path from docs, such as /api/pub/v2/services') but leaves method, query, headers, and body entirely unexplained, including what method values are valid.

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

Purpose4/5

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

States a specific verb and resource: it calls any TextVerified API v2 endpoint via a raw path, which distinguishes it from the sibling tools that wrap individual operations. It is clear this is the generic escape hatch rather than a task-specific action.

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?

Tells the caller to use the exact relative path from docs and supplies a concrete example (/api/pub/v2/services). It also flags when to be cautious (state-changing calls) and says to use only when explicitly intended, though it never explicitly says to prefer the specialized sibling tools when one exists.

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

textverified_send_smsB

Send an SMS from a rented number; requires explicit confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
send_toYes
confirm_sendNo
reservation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the tool sends an SMS (external side effect) and that explicit confirmation is required, which is useful, but it omits permissions, cost, irreversibility, rate limits, and what happens if confirm_send is false.

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?

One tight sentence, front-loaded with the action and followed by the key precondition. No filler.

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

Completeness2/5

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

Although an output schema exists, the description is too thin for a mutation tool with no annotations and 0% parameter coverage. It leaves auth, cost, delivery behavior, and confirmation semantics unexplained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It loosely maps 'from a rented number' to reservation_id and 'requires explicit confirmation' to confirm_send, but gives no format or meaning for send_to and content, leaving most parameters undocumented.

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?

States a specific verb ('Send') and resource ('SMS') and scopes it to a rented number, which cleanly separates it from read-oriented siblings like textverified_list_sms. An agent can tell what the tool does without opening the schema.

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

Usage Guidelines2/5

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

The only guidance is 'requires explicit confirmation,' which is a precondition rather than a when-to-use rule. It does not say when to choose this over textverified_request or other messaging tools, nor when not to use it.

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

textverified_settings_readTextVerified settingsA
Read-only

Read the current TextVerified plugin settings. The API key is always masked.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
layoutNo
schemaYes
valuesYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral detail — that the API key is always masked in the output — which is context the agent could not get from annotations or schema.

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?

Two short sentences with no filler, front-loaded with the read action and followed by the masking caveat. Every clause earns its place.

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

Completeness5/5

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

With annotations covering the safety profile, an output schema describing the return, and no parameters to document, the description supplies exactly the extra context needed (the masked key) and nothing is missing for correct invocation.

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?

Zero parameters, so the schema baseline of 4 applies. There is nothing for the description to clarify beyond what the empty argument object already conveys.

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?

States a specific verb (Read) and resource (TextVerified plugin settings), which the agent can cleanly separate from the sibling textverified_settings_update. No ambiguity about what the tool returns.

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?

Usage is implied by 'Read the current settings' versus the update sibling, but there is no explicit when-to-use statement or condition for choosing this over textverified_settings_update. Adequate but not spelled out.

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

textverified_settings_updateSave TextVerified settingsB

Save TextVerified credentials entered in the plugin settings page.

ParametersJSON Schema
NameRequiredDescriptionDefault
setYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
valuesYes

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-destructive write. The description adds only that credentials come from the settings page; it omits what happens to existing stored values, whether the save overwrites, whether it is idempotent, and any permission or security caveats — relevant gaps for a credentials-writing tool.

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

Conciseness4/5

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

One short, front-loaded sentence with no wasted words. It is efficient, though the brevity reflects under-specification rather than tight editing of rich content.

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

Completeness2/5

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

For a mutation tool that writes credentials, the definition is thin: it says nothing about persistence behavior, overwrite semantics, or security handling, and only waves at the parameter shape. An output schema exists so return values need not be described, but the core behavior remains under-covered.

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 0% and the single 'set' parameter is an untyped string map, so the description must compensate. It gestures at the content ('credentials') but gives no key names, expected fields, or value formats, leaving the map structure largely unexplained.

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

Purpose4/5

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

The description states a specific verb and resource: saving TextVerified credentials. This is clearly distinguishable from the sibling textverified_settings_read, since one saves and one reads, though the description never names that alternative explicitly.

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 phrase 'entered in the plugin settings page' implies the context of use, but there is no explicit when-to-use, when-not-to-use, or reference to textverified_settings_read as the counterpart. Usage is only implied.

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

textverified_setup_localOpen TextVerified local setupA

Launch a one-shot localhost form for entering TextVerified credentials. The form closes its service after saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
open_browserNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is known. The description adds genuinely useful lifecycle information beyond that: the localhost service shuts itself down after saving, which matters for an agent sequencing calls. It writes credentials, consistent with the annotations.

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?

Two short sentences, no filler, with the core action stated first and the lifecycle constraint second. Nothing needs trimming.

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?

An output schema exists, so return values need not be described, and the description covers the action and the ephemeral service lifecycle. What is missing is the setup context an agent would need: what credentials are expected, whether user interaction at the browser is required, and any prerequisite state.

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

Parameters2/5

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

The single parameter open_browser has 0% schema description coverage, so the description must compensate and does not — the parameter is never mentioned. The name and default (true) are intuitive, which keeps this above a 1, but a 'false' behavior is left unexplained.

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

Purpose4/5

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

The description gives a specific verb and resource: launching a one-shot localhost form for TextVerified credentials. That is clearly distinct from the API-style siblings (send_sms, settings_update, etc.), though it never explicitly says how it relates to them.

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?

'One-shot' implies it is used once, during initial setup, rather than repeatedly. However, there is no explicit when-to-use statement or exclusion, e.g. how it relates to textverified_settings_update or when credentials must be re-entered.

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.

  1. 11 tool updatesv0.2.2
    • First observedtextverified_create_call_access_token
    • First observedtextverified_create_rental
    • First observedtextverified_create_verification
    • First observedtextverified_get_verification
    • First observedtextverified_list_calls
    • First observedtextverified_list_sms
    • First observedtextverified_request
    • First observedtextverified_send_sms
    • First observedtextverified_settings_read
    • First observedtextverified_settings_update
    • First observedtextverified_setup_local

TDQS

B3.4/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but the generic `textverified_request` escape hatch overlaps functionally with every specific tool, creating some risk of misselection. The settings tools (`read`, `update`, `setup_local`) are also slightly overlapping in purpose, though descriptions help differentiate them.

Naming Consistency4/5

All tools use a consistent `textverified_` prefix and snake_case, which is predictable. However, the pattern is not uniformly verb_noun: `textverified_settings_read` and `textverified_settings_update` invert to noun_verb, and `textverified_setup_local` deviates slightly.

Tool Count5/5

With 11 tools, the set is well-scoped for a TextVerified API integration. Each tool appears to earn its place, covering key actions without excessive granularity or redundancy.

Completeness4/5

The surface covers core verification, rental, SMS, calls, and settings operations. Minor gaps exist for rental lifecycle management (e.g., list/release) and verification cancellation, but the generic `textverified_request` tool provides a complete escape hatch for any missing endpoint.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers