NexaLayer Agent
OfficialThis MCP server lets an AI agent manage NexaLayer proxy sessions, budgets, billing, and support with safety guardrails.
List available proxy products and current prices by type, country, stock, and pagination.
Create paid dynamic or static proxy sessions with idempotency keys and budget/spend warnings.
Read session status and optionally request proxy credentials when needed.
Rotate dynamic sessions when health or telemetry recommends it.
Terminate sessions and release network resources; early termination does not imply refunds.
Read session health scores, rotation recommendations, and traffic/request usage.
Read and set budgets, spend limits, pause behavior, and alert thresholds.
Read budget alerts, account balance, trial-credit state, and billing transactions.
Check service status and known issues before retrying or filing support tickets.
File and read support tickets with automatic request/error context and workaround guidance.
Provides proxy network sessions for Puppeteer automation workflows. AI agents can create, monitor, rotate, and terminate dynamic or static proxy sessions (with budget guardrails and usage telemetry) that Puppeteer-based browser automation can route traffic through.
NexaLayer Agent
NexaLayer MCP Server — a Model Context Protocol (MCP) server that lets AI agents create and manage proxy sessions with budget guardrails.
The MCP implementation is in mcp/, with its source entry point at mcp/src/index.ts. The published package builds that file to the runtime entry path mcp/dist/index.js.
Current public starting prices are $0.23/GB for dynamic proxy sessions and
$1.05/month for shared static proxy sessions. Exclusive static proxy sessions
are $1.43–$5.86/month (launch pricing, live API authoritative). Query
GET /v1/public/products or the authenticated product catalog for the current,
authoritative quote and availability before creating a paid session.
MCP Server
Install
Run the published stdio server with npm:
npx -y @nexalayer/mcpOr build and run the existing Docker image from the repository root:
docker build -t nexalayer-mcp ./mcp
docker run -i --rm \
-e NEXALAYER_API_KEY="$NEXALAYER_API_KEY" \
nexalayer-mcpThe Docker image uses stdio and does not expose a port.
Configure
Set NEXALAYER_API_KEY for API-backed tool calls. The server can start and expose initialize and tools/list without a key so MCP clients and directories can discover its capabilities. NEXALAYER_BASE_URL is an optional override.
Claude Desktop and Cursor both accept an mcpServers configuration like this:
{
"mcpServers": {
"nexalayer": {
"command": "npx",
"args": ["-y", "@nexalayer/mcp"],
"env": {
"NEXALAYER_API_KEY": "agk_your_key"
}
}
}
}Tools
Tool | Description | Charges |
| List the compact, paginated catalog of available proxy products and current prices. | No |
| Create a dynamic or static proxy session with an idempotency key. The create API does not honor | Yes — deducts from the account balance |
| Read one session. Credentials are omitted unless | No |
| Rotate a dynamic session when health or telemetry recommends it. Credentials are omitted unless | May affect paid usage |
| Terminate a session and release its network resource; early termination does not imply a refund. | No new charge |
| Read a session health score and rotation recommendation. | No |
| Read traffic and request usage for a session. | No |
| Read spend limits, current spend, pause state, and daily reset. | No |
| Set API-key and daily spend limits, alerts, and pause behavior. | No direct charge |
| Read actionable budget-threshold alerts. | No |
| Read the account balance and trial-credit state. | No |
| List billing transactions for audit and reconciliation. | No |
| Check component status and incidents before retrying or filing a ticket. | No |
| List known issues with runnable workaround steps, filtered by error code. | No |
| File a support ticket; recent request ids and error codes are attached automatically. | No |
| Read a ticket's status, severity, events, and workaround. | No |
Transport: stdio.
See the mcp/ package README for packaging, Docker, pricing, and approval-policy details.
Related MCP server: Agentic Vault
Backend API
The repository also contains the Agent Layer backend for NexaLayer, the Network Execution Layer for AI Agents.
This service exposes API-first capabilities for AI Agent, Playwright, Puppeteer, Browser-use, crawler, and automation workflows:
Agent account registration and API key authentication
Dynamic and static proxy session lifecycle management
Session telemetry, health scoring, and rotation recommendations
Billing, balance, recharge, transaction, and usage-facing endpoints
Natural-language agent routes for controlled proxy network operations
Local Development
npm install
cp .env.example .env
npm run db:generate
npm run devUseful Commands
npm run build
npm run lint
npm run test:unit
npm test
npm run test:phase0
npm run test:phase0:real
npm run test:phase0:static
npm run test:smokenpm run test:phase0 is the safe profile. It validates registration,
API key auth, product listing, balance, and transactions without creating a
paid proxy session.
npm run test:phase0:real sets PHASE0_ALLOW_PAID=1 and creates one low-volume
dynamic session, polls until active, explicitly requests credentials with
include_credentials=true, checks proxy.full_url, reports telemetry,
reads health and billing, then terminates the session in a cleanup step. Use
NEXALAYER_PRODUCT_NO, PHASE0_QUANTITY, and PHASE0_PRINT_PROXY_URL=1 when
you need a specific product or need to inspect the returned proxy URL.
npm run test:phase0:static creates one minimal static session, polls for
proxy info, reports telemetry, reads health and billing, then terminates the
session and releases the static resource. It is a paid smoke profile and should
only be used in controlled environments.
The broader npm run test:smoke suite may create real Agent accounts, proxy
sessions, orders, or billing records depending on environment configuration.
Review docs/agentTest.md and the target environment before running it.
Session detail and rotation responses hide proxy.full_url by default. Send
include_credentials=true only when the caller needs to connect, and never log
the returned credentials. nexalayer_get_session and nexalayer_rotate_session
pass that flag through. POST /sessions does not honor it, so
nexalayer_create_session omits proxy credentials; read the session after it
is active. Read measured traffic from
GET /v1/sessions/{session_id}/usage. Unknown product numbers return HTTP 404
with PRODUCT_NOT_FOUND. PRICE_MISMATCH is HTTP 409: re-read prices, retry
once. BUDGET_EXCEEDED and INSUFFICIENT_BALANCE are HTTP 402: ask the owner,
don't retry.
Support (machine-readable)
API errors use an additive envelope: code, message, and details are
unchanged, plus retryable, retry_after, suggested_action,
side_effects, doc_url, known_issue_id, request_id, and a support
contact. MCP tools return the same object in structuredContent with
isError: true.
GET /v1/public/status: components, current state, and incident history (no key)GET /v1/public/known-issues: known issues with workaround steps (no key)GET /v1/public/errorsand/v1/public/errors/{code}: error catalog (no key)GET /v1/public/sla: early-access response targets, not guarantees (no key)POST /v1/support/tickets,GET /v1/support/tickets/{ticket_id}: tickets scoped to the API key
Human contact: support@nexalayer.net (Telegram @LEWISMIN). If the upstream is down during terminate, billing stops at the first terminate attempt. See docs/SUPPORT.md for triage, response targets, alerts, and environment variables.
Chinese Docs and Examples
中文文档首页: docs/zh/README.md
中文 Quick Start: docs/zh/quick-start.md
Playwright 中文 Demo: docs/zh/playwright-demo.md
Python 中文示例说明: examples/python-quickstart/README.zh.md
Playwright 中文示例代码: examples/playwright-zh
NexaLayer is not a raw proxy IP service. The Chinese MVP documentation presents it as a session-based network execution layer for Playwright, Puppeteer, Browser-use, AI browser agents, crawlers, and automation workflows.
Available Tools
16 toolsnexalayer_check_statusARead-onlyIdempotent
Check NexaLayer service status before retrying or filing a ticket. Returns each component (api, sessions, billing, catalog, upstream_network) as operational, degraded_performance, partial_outage, major_outage, or under_maintenance, plus active incidents and recent incident history. If the component your call depends on is not operational, wait and retry later instead of reporting an issue. No API key needed; no charge.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive, so the description's job is lower. It adds genuinely useful operational context beyond them: no API key required, no charge, and the correct behavioral response to a non-operational component. It does not mention caching, rate limits, or freshness of incident history.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose, then return shape, then the decision rule, then the access/cost note. All content earns its place, though the full enum enumeration is slightly long and the closing 'No API key needed; no charge' could be folded in.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the return-value burden itself and does so: component names, the five possible statuses, and incident data. Combined with annotations covering the safety profile, an agent has everything needed to call and interpret this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 per the rubric. The description correctly implies a no-argument invocation via "No API key needed; no charge" and adds no misleading parameter hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Check NexaLayer service status") and enumerates exactly what comes back: per-component states (api, sessions, billing, catalog, upstream_network), active incidents, and incident history. The enum vocabulary and the 'wait and retry later instead of reporting an issue' framing implicitly separate it from report_issue and known_issues siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear when-to-use context ("before retrying or filing a ticket") and a concrete when-not action ("wait and retry later instead of reporting an issue"), which routes the agent away from report_issue. It stops short of naming the sibling tools explicitly, so it is a strong 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_create_sessionAIdempotent
Create a paid network session. This action incurs charges against the account balance. Configure a budget first and obtain owner approval for autonomous spend. The create API does not honor include_credentials and omits proxy credentials; read the session with include_credentials=true. Credentials are omitted unless include_credentials=true; never log them. PRICE_MISMATCH (409: re-read prices, retry once). BUDGET_EXCEEDED and INSUFFICIENT_BALANCE (402: ask the owner, don't retry).
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | ||
| protocol | No | socks5 | |
| quantity | No | ||
| product_no | Yes | ||
| country_code | No | ||
| session_type | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly=false, destructive=false, idempotent=true, openWorld=true), and the description adds material context beyond them: monetary charges against account balance, approval requirements, credential handling ('never log them'), and failure-mode semantics for 402/409. The idempotency_key requirement is consistent with idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and cost warning are front-loaded, and the error-code guidance is compact and scannable. There is mild redundancy in stating the credentials/read-back rule twice, but overall nearly every clause carries operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a charged, open-world mutation with no output schema, the description covers cost, approval, credential exposure, and error handling well. The notable remaining hole is that it leaves all seven input parameters undefined, which matters given the schema's 0% description coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters (session_type, product_no, idempotency_key, duration, quantity, protocol, country_code), and the description explains none of them — no units, formats, or defaults. The only parameter-like identifier mentioned, include_credentials, is not even in the input schema, so it does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb+resource — 'Create a paid network session' — which is unmistakable against siblings like nexalayer_terminate_session, nexalayer_rotate_session, or nexalayer_get_session. It does not explicitly name an alternative tool, so it falls short of full sibling routing, but the create semantics are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states prerequisites ('Configure a budget first and obtain owner approval for autonomous spend'), the create-vs-read distinction ('The create API does not honor include_credentials... read the session with include_credentials=true'), and explicit retry policy per error class (retry once on 409, do not retry on 402). This is concrete when-to-use/when-not guidance an agent can act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_get_balanceARead-onlyIdempotent
Read the current account balance and trial-credit state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is fully covered. The description adds only that the value is 'current' and that trial-credit state is included, which is mild data-content context rather than behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste, naming exactly what is read and what is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, read-only tool with no output schema, the description conveys the two pieces of returned information (balance and trial-credit state). The exact response shape and currency/units are unstated, but nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; per the rubric the baseline for a no-param tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Read the current account balance and trial-credit state.' It is clearly a read of balance state, distinguishable from nexalayer_get_budget and nexalayer_list_transactions. It does not explicitly contrast itself with those siblings, so it stops 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is given. The description never mentions get_budget or list_transactions, so an agent must infer that this is the lightweight balance check versus the more detailed budget call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_get_budgetARead-onlyIdempotent
Read spend limits, current spend, pause state, and next daily reset.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the useful detail that the payload includes pause state and next daily reset timing, but says nothing about auth requirements, rate limits, or freshness of the spend figure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every listed item (limits, spend, pause state, reset) is meaningful content rather than restated metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with full annotation coverage, the description is nearly sufficient, and since no output schema exists, enumerating the returned fields is genuinely valuable. It stops short of explaining reset cadence/format or whether the read is account- or workspace-scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The description correctly avoids inventing parameter semantics and instead spends its words on the returned fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Read") and enumerates the exact resource contents returned: spend limits, current spend, pause state, and next daily reset. This clearly separates it from nexalayer_get_balance, but the description never names or contrasts a sibling, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus nexalayer_get_balance, nexalayer_set_budget, or nexalayer_usage_alerts, and no prerequisites or exclusions are given. An agent must infer usage purely from the resource list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_get_sessionARead-onlyIdempotent
Read one session's status and proxy endpoint. Credentials are omitted unless include_credentials=true; never log them.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| include_credentials | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: credentials are withheld by default and gated behind include_credentials=true, plus a 'never log them' sensitivity warning that an agent would not infer from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and return content, followed by the credential caveat. Nothing wasted and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully states what comes back (status and proxy endpoint) and conditions the credential fields. It is nearly complete for a simple two-param read tool, though a hint about session_id format or error behavior when the session is missing would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains include_credentials (default false, credentials omitted unless true), which is the non-obvious parameter, but says nothing about session_id beyond its presence in the name/required list. Partial compensation rather than full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('one session's status and proxy endpoint'), so the agent knows this fetches a single session's details rather than listing or mutating. It does not, however, distinguish itself from nexalayer_session_health, which also reads session status, leaving ambiguity among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: read one session's status/endpoint by id. There is no explicit when-to-use, when-not-to-use, or reference to alternatives such as nexalayer_session_health for deeper health data or nexalayer_session_usage for usage metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_get_ticketARead-onlyIdempotent
Read a NexaLayer support ticket: status (received, triaged, needs_info, in_progress, awaiting_approval, workaround_available, resolved, closed), severity, events, matched known issue with workaround steps, and resolution. Poll no sooner than next_check_after_seconds. No charge.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds value beyond that with a rate-limit instruction (next_check_after_seconds) and a cost disclosure ('No charge'), both of which are behavioral facts the annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the verb and resource, followed by two short imperative sentences for polling and cost. The long status enumeration is justified since it is the payoff of the call, though it makes the first sentence heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden by naming the fields returned, including the full status enum and the known-issue/workaround pair. Only gaps are minor: no indication of what happens on an unknown ticket_id or how events are structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and its format is constrained by the schema pattern (^tkt_[A-Za-z0-9]+$). The description does not restate or extend ticket_id semantics, but with a single trivially-named identifier the baseline for near-zero parameter complexity applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('NexaLayer support ticket') and then enumerates the payload the agent will get back (status, severity, events, known issue/workaround, resolution). This distinguishes it cleanly from siblings like nexalayer_known_issues and nexalayer_report_issue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides one concrete usage constraint — 'Poll no sooner than next_check_after_seconds' — which is real operational guidance. However, it says nothing about when to prefer this tool over nexalayer_known_issues or nexalayer_check_status, so alternative selection 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.
nexalayer_known_issuesARead-onlyIdempotent
List known issues with machine-runnable workaround steps. Call this with the error_code from a failed tool call (for example UPSTREAM_UNAVAILABLE or BACKEND_ERROR) before filing a ticket; if an issue matches, run its workaround.steps instead of reporting. No API key needed; no charge.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | open | |
| component | No | ||
| error_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and non-open-world behaviour, so safety is covered. The description adds genuinely new behavioural context: no API-key/auth requirement, no cost, and the fact that matches yield executable workaround.steps. It stops short of describing the match semantics or response shape in detail, hence a 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose, then the invocation trigger, then the fallback action and cost note. Nothing is redundant, though the final 'No API key needed; no charge' clause is slightly tangential to selection and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, argument-light lookup tool with annotations covering the safety profile and no output schema, the description supplies the essential call trigger and the follow-up behaviour ('run its workaround.steps'). It does not explain how matching works or what the returned list contains, which leaves a modest gap for such a workflow-critical tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it only clarifies one of three parameters (error_code, with example values UPSTREAM_UNAVAILABLE / BACKEND_ERROR). The enum parameter 'status', its default, and 'component' are entirely unexplained in both schema and description, so the compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List known issues') plus the distinguishing feature 'machine-runnable workaround steps', which separates it from a plain status/issue listing. It also implicitly routes against sibling report_issue via 'before filing a ticket' and 'instead of reporting', so an agent can tell what this tool is for versus its neighbours.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('Call this with the error_code from a failed tool call'), the ordering constraint ('before filing a ticket'), and the alternative action when a match is found ('run its workaround.steps instead of reporting'). It even pre-empts operational concerns with 'No API key needed; no charge', leaving almost nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_list_productsBRead-onlyIdempotent
List a compact catalog of current products and prices before purchasing.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | all | |
| limit | No | ||
| cursor | No | ||
| country | No | ||
| in_stock | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the catalog is 'compact' and 'current'; it says nothing about pagination via cursor, result caps, or filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the core purpose front-loaded and no filler. It is efficient, though its brevity comes at the cost of covering pagination and filter parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter, zero-coverage list tool with no output schema and no annotation detail about returns, the description is too thin: pagination (cursor/limit), the type enum, and the country/in_stock filters go entirely unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters (type, limit, cursor, country, in_stock), and the description explains none of them. 'Compact' loosely hints at a limit and 'current' at inventory filtering, but an agent gets no guidance on the type enum, pagination, or the country/stock filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb and resource: 'List a compact catalog of current products and prices.' That is clear and distinguishable from the session/billing-oriented siblings, but it does not name or contrast with any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing phrase 'before purchasing' implies the intended context (pre-purchase price browsing), so usage is inferable, but there is no explicit when-to-use statement, no exclusions, and no mention of alternatives for purchase or balance checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_list_transactionsCRead-onlyIdempotent
List billing transactions for audit and reconciliation.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| page_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is fully covered. The description adds no behavioral context of its own — nothing about scope (whose transactions), ordering, or pagination limits — so it contributes almost nothing beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though arguably too terse given the tool's pagination behavior is undescribed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero parameter documentation, the description leaves open what a transaction record contains, whether the listing is scoped to the caller's account, and how paging should be driven. It is not complete enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is expected to compensate, but it never mentions the page/page_size parameters or their defaults and bounds. An agent gets no guidance on paging semantics or typical page sizes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (billing transactions) plus a purpose, which is enough to distinguish it from siblings like get_balance or list_products. It stops short of explicitly contrasting itself with any named sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"For audit and reconciliation" implies the usage context but gives no when-to-use/when-not guidance and names no alternative tool. An agent must infer that this is the read counterpart to the budget/session tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_report_issueAIdempotent
File a support ticket with NexaLayer. Use only after following the error's suggested_action and checking nexalayer_check_status and nexalayer_known_issues. Recent request_ids and error codes seen by this MCP server are attached automatically, so you do not need to copy them. The server assigns severity (S1 outage or wrong billing, S2 broken with no workaround, S3 bug with a workaround, S4 question or feature request). Returns ticket_id and next_check_after_seconds; poll with nexalayer_get_ticket. Never include API keys, proxy passwords, or full_url: they are redacted and the ticket is escalated as a security issue. No charge.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | The NexaLayer tool that failed, e.g. nexalayer_terminate_session | |
| actual | No | ||
| summary | Yes | ||
| category | Yes | ||
| expected | No | ||
| session_id | No | ||
| error_codes | No | ||
| request_ids | No | ||
| known_issue_id | No | ||
| desired_outcome | No | ||
| idempotency_key | No | Reuse the same key when retrying so only one ticket is filed | |
| severity_claimed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety/idempotency profile (readOnlyHint=false, idempotentHint=true), and the description adds substantial behavior beyond that: automatic attachment of recent request_ids and error codes, server-side severity assignment with a full S1-S4 rubric, the security redaction/escalation rule for API keys, proxy passwords and full_url, and that the call is free. This is exactly the context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by prerequisites, then auto-attached context, then return/severity semantics, then the security caveat. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return values (ticket_id, next_check_after_seconds) and the polling path. For a 12-parameter mutation tool it covers prerequisites, side effects, severity logic and security handling, leaving only per-parameter documentation thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 17% across 12 parameters, so the description must carry the load. It clarifies two important semantics — request_ids/error_codes are auto-attached and severity is server-assigned (weakening the role of severity_claimed) — but leaves category enum meanings, summary, actual/expected, session_id, known_issue_id, desired_outcome and tool unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('File a support ticket with NexaLayer') and immediately separates the tool from the sibling diagnostics it should not replace (nexalayer_check_status, nexalayer_known_issues). An agent can distinguish it from get_ticket and the error-handling siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit prerequisites ('Use only after following the error's suggested_action and checking nexalayer_check_status and nexalayer_known_issues') and names the follow-up tool ('poll with nexalayer_get_ticket'). It also tells the agent what it does NOT need to supply, which is a form of usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_rotate_sessionAIdempotent
Rotate a dynamic session after health or telemetry recommends rotation. Credentials are omitted unless include_credentials=true; never log them.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| session_id | Yes | ||
| idempotency_key | Yes | ||
| include_credentials | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly=false, idempotent=true, destructive=false), so the bar is lower, and the description still adds meaningful new behavior: credentials are suppressed by default and must never be logged. It omits what happens to the pre-rotation session or failure behavior, keeping it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and its trigger, followed by the credential caveat. No filler and nothing redundant with structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the credential handling and trigger but says nothing about what rotation does to the existing session, whether it is reversible, or what is returned. Adequate but with visible gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description carries the full burden. It clarifies only include_credentials (default false, gates credential return) and leaves reason, session_id, and idempotency_key completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('rotate a dynamic session') that is clearly distinct from sibling operations like nexalayer_create_session or nexalayer_terminate_session. It does not name those siblings explicitly, so it stops 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a trigger condition ('after health or telemetry recommends rotation'), which is real usage context, but no guidance on when to rotate versus terminate or recreate a session, and no exclusions. Usage is implied rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_session_healthBRead-onlyIdempotent
Read health score and rotation recommendation for a session.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the shape of the result (health score + rotation recommendation), which is useful given there is no output schema, but it says nothing about score scale, recommendation values, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single ten-word sentence with the verb and resource front-loaded and zero filler. It is efficient, though so terse that it arguably underserves a tool with no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter tool whose annotations already cover safety, the description is nearly sufficient — and it helpfully states what is returned despite the absence of an output schema. It still leaves the meaning and range of 'health score' and the possible rotation recommendations unspecified, which matters because the agent may act on that recommendation via nexalayer_rotate_session.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter, so the description would need to compensate and it does not — session_id is never mentioned. However, the parameter is a self-evident identifier whose name leaves little ambiguity, so the practical risk is low.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Read') and a specific resource ('health score and rotation recommendation for a session'), so an agent can distinguish it from siblings like nexalayer_session_usage or nexalayer_get_balance. It stops short of explicitly contrasting itself with the closest sibling (session_usage), so it isn't a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the call to make when deciding whether a session should be rotated, especially given nexalayer_rotate_session exists as a sibling. There is no explicit when-to-use, no exclusion, and no named alternative for related questions such as raw usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_session_usageCRead-onlyIdempotent
Read traffic and request usage for a session.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no time window, aggregation scope, or rate/retention behavior — so it is essentially a restatement of the readOnly annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler or redundancy. It is efficient, though the brevity comes at the cost of the missing context noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations beyond the safety hints, and an undocumented required parameter, the description should explain what usage is returned (traffic vs. request counts, time window, units). It does none of that, leaving the agent unable to predict the response or scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required session_id, so the description carries the burden of explaining it but only says 'for a session'. It does not clarify the identifier's format, source, or scope, adding no meaning beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (traffic and request usage) scoped to a session, which is more concrete than a bare name restatement. It partially distinguishes itself from siblings like nexalayer_session_health or nexalayer_get_balance, but never explicitly contrasts the resource it returns against those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. With siblings such as nexalayer_session_health and nexalayer_get_balance available, the agent is left to infer whether usage data belongs here or in one of those tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_set_budgetBDestructiveIdempotent
Set key and daily spend limits. This is a consequential write and should require owner approval.
| Name | Required | Description | Default |
|---|---|---|---|
| paused | No | ||
| key_limit_usd | No | ||
| daily_limit_usd | No | ||
| idempotency_key | Yes | ||
| pause_on_exceed | No | ||
| alert_thresholds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the agent knows this is a destructive, idempotent write. The description adds that it is 'consequential' and 'should require owner approval,' which is useful extra context beyond annotations. However, it doesn't explain what gets destroyed/overwritten or how idempotency_key interacts with re-calls. With annotations covering the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no waste, front-loading the action and then the approval constraint. Efficient and clear, though slightly terse for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema and 0% parameter description coverage requires a richer description to be complete. The current text leaves most parameters undocumented, doesn't explain the idempotency requirement, and doesn't clarify the approval workflow beyond a vague 'should require.' Significant gaps remain for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description mentions only 'key and daily spend limits,' which maps to just two of six parameters (key_limit_usd, daily_limit_usd). Parameters like paused, pause_on_exceed, alert_thresholds, and idempotency_key are completely undocumented in both schema and description. The description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Set key and daily spend limits.' This distinguishes it from the sibling nexalayer_get_budget (read) and other non-budget siblings. It doesn't explicitly name get_budget as the read counterpart, but the verb 'set' clearly signals a write operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'should require owner approval,' which implies a usage context (elevated permissions), but does not explicitly state when to use this tool vs the read-only nexalayer_get_budget or when not to use it. Usage is only implied, not clearly laid out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_terminate_sessionADestructiveIdempotent
Terminate a session and release its underlying network resource. Early termination does not imply a refund.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true. The description adds genuinely new context beyond them: that the session's underlying network resource is released and that early termination carries no refund, which is a billing-behavior detail an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, front-loaded with what the tool does before the billing caveat. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter destructive tool with no output schema, the description covers the action, the resource released, and the billing consequence, while annotations carry safety and idempotency. A note on what happens to an already-terminated session is the only notable gap, and idempotentHint partly covers it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required session_id is never described in the text. The parameter name is largely self-explanatory (a session identifier) and no format ambiguity is introduced, but the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (terminate) and resource (session) plus the side effect of releasing the underlying network resource. It is implicitly distinct from siblings like create_session and rotate_session, but it never names or contrasts those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives such as rotate_session or session_health. The refund caveat hints at cost implications but does not tell the agent under what conditions this tool should be chosen over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexalayer_usage_alertsBRead-onlyIdempotent
Read actionable budget threshold alerts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds no behavioral context beyond that, such as whether alerts persist after reading, how they are generated, or their freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loading the action and resource. It is efficient, though borderline under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read tool with no output schema, the description is minimally adequate but omits what an alert actually contains and what makes it "actionable." With no output schema to fall back on, a sentence on the return shape would have added real value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 under the scoring rules. There is nothing for the description to disambiguate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ("Read") and a specific resource ("actionable budget threshold alerts"), which is distinct from siblings like nexalayer_get_budget and nexalayer_list_transactions. However, it does not explicitly differentiate itself from those siblings, so an agent must infer the boundary on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus nexalayer_get_budget or nexalayer_session_usage, both of which could plausibly surface budget-related information. The word "actionable" is the only hint at usage context and it is not explained.
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.
4 tool updates
v0.1.6- Added
nexalayer_check_status - Added
nexalayer_get_ticket - Added
nexalayer_known_issues - Added
nexalayer_report_issue
3 tool updates
v0.1.5- Added
nexalayer_get_session - Changed
nexalayer_list_products8 fields changed- removed
Input schema / properties / available_onlyRemoved value: -{ - "default": true, - "type": "boolean" -} - added
Input schema / properties / countryAdded value: +{ + "type": "string" +} - removed
Input schema / properties / country_codeRemoved value: -{ - "type": "string" -} - added
Input schema / properties / cursorAdded value: +{ + "type": "string" +} - added
Input schema / properties / in_stockAdded value: +{ + "default": true, + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "default": 20, + "maximum": 100, + "minimum": 1, + "type": "integer" +} - removed
Input schema / properties / pageRemoved value: -{ - "default": 1, - "exclusiveMinimum": 0, - "type": "integer" -} - removed
Input schema / properties / page_sizeRemoved value: -{ - "default": 20, - "maximum": 50, - "minimum": 1, - "type": "integer" -}
- Changed
nexalayer_rotate_session1 field changed- added
Input schema / properties / include_credentialsAdded value: +{ + "default": false, + "type": "boolean" +}
11 tool updates
v0.1.4- First observed
nexalayer_create_session - First observed
nexalayer_get_balance - First observed
nexalayer_get_budget - First observed
nexalayer_list_products - First observed
nexalayer_list_transactions - First observed
nexalayer_rotate_session - First observed
nexalayer_session_health - First observed
nexalayer_session_usage - First observed
nexalayer_set_budget - First observed
nexalayer_terminate_session - First observed
nexalayer_usage_alerts
TDQS
Scored across 16 tools
Each tool targets a distinct resource-action pair across clearly separated domains: sessions (create/get/rotate/terminate/usage/health), budget (set/get/alerts), billing (balance/transactions), support (status/known_issues/report/get_ticket), and catalog (list_products). The closest pairs—session_health vs session_usage and get_budget vs usage_alerts—are differentiated by descriptions (health/rotation vs traffic, limits/spend vs threshold alerts). No two tools appear to do the same thing.
All tools share the nexalayer_ prefix and snake_case, and most follow a verb_noun pattern (get_balance, list_transactions, create_session, rotate_session, report_issue). A few are noun phrases rather than verb-first (session_health, usage_alerts, known_issues, session_usage), a minor deviation from the otherwise predictable pattern.
16 tools sit at the upper end of the comfortable range but each earns its place across five functional areas (sessions, budget, billing, support, catalog). The count is slightly heavy but reasonable for the breadth of the service being governed.
Core lifecycle coverage is strong: create/get/rotate/terminate plus usage and health for sessions, set/get budget with alerts, balance and transactions for billing, and a full support loop (status, known_issues, report, get_ticket). The notable gap is the absence of a list_sessions operation to enumerate existing sessions, a minor inconvenience rather than a dead end.
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
HiveCapital MCP Server — autonomous investment layer for AI agents
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA proxy server that bridges AI agents and external APIs by dynamically translating OpenAPI specifications into standardized MCP tools, enabling seamless interaction without custom integration code.69MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that lets AI agents call APIs without ever seeing the credentials, using a local encrypted vault and per-secret allowlist policies for HTTP requests and subprocess environment variables.1AGPL 3.0
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server that enables multiple AI agents to share memory, coordinate tasks, and collaborate effectively across IDEs and CLI tools.42 npm21MIT
- AlicenseNot gradedqualityDmaintenanceA robust, lightweight Model Context Protocol (MCP) server designed to empower your AI Agents with context-awareness, safe execution sandboxes, and dedicated thought logs.ISC