AgentMetal
Server Details
Provision, SSH into, run commands on, and manage Linux VPSes from an AI agent. Pay USDC over x402 (Base) or by card over HTTP 402, a running box in under 60s. No signup, no API key to buy. This remote endpoint offers free browse/discovery, quotes, and server status.
- Status
- Healthy
- Uptime
- 100.0% over 44 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: list_plans provides plan catalogs, get_payment_options details payment methods, list_servers enumerates provisioned servers, and get_server fetches a single server's status. No two tools overlap in function.
All tool names follow a consistent verb_noun pattern: 'list' for collection operations (list_plans, list_servers) and 'get' for single-item operations (get_payment_options, get_server). The style is uniform and predictable.
The server has 4 tools, perfectly scoped for its stated purpose of providing plan/payment info and server status without provisioning. It's neither too sparse nor overloaded.
The informational workflow is covered: list plans, get payment options, list servers, and get server details. The lack of provisioning tools is intentional per the description, so no major gaps exist, though a few minor niceties like fetching a single plan would be possible additions.
Available Tools
4 toolsget_payment_optionsGet payment requirementsAInspect
Step 2: get the exact payment to RENT a plan for N days (USDC via x402 on Base + card availability). This hosted server holds NO funds and cannot provision — it returns everything needed to pay elsewhere. The provision field spells out the three ways to actually get the server. Read it and act on it.
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | Lease length in days (1–30) | |
| plan | Yes | Server size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses that the tool holds NO funds, cannot provision, and returns a provision field with three ways to get the server. This gives the agent a clear behavioral model without relying on the schema.
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 with no wasted words. The description front-loads the action ('get the exact payment'), then adds key constraints ('holds NO funds', 'cannot provision'), and ends with an actionable instruction ('Read it and act on it'). Every sentence 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?
Despite lacking an output schema, the description mentions the provision field and explicitly instructs the agent to 'read it and act on it.' It covers the tool's purpose, limitations, and next step, making it fairly complete for a 2-parameter info retrieval tool. Minor omissions like response format details or expiration behavior prevent a higher score.
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 100% with both plan and days already described. The description adds workflow context by tying the parameters to 'RENT a plan for N days,' but this is not significantly more semantic than the schema's own descriptions, so a baseline 3 is appropriate.
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 uses a specific verb ('get the exact payment') and clearly identifies the resource (payment to RENT a plan for N days, USDC via x402, card availability). It distinguishes itself from siblings like get_server and list_plans by emphasizing it handles payment requirements and explicitly does not provision.
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 frames the tool as 'Step 2' in a workflow, implying when to use it relative to other steps. It also states this hosted server cannot provision and returns everything needed to pay elsewhere, which tells the agent not to expect provisioning here. However, it does not explicitly name an alternative tool for provisioning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_serverGet server statusAInspect
Fetch a server's current status, plan, expiry, and bandwidth usage. (Network details like the IPv4/SSH target are returned only to the provisioner via the API, not on this public endpoint.)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Server id, e.g. srv_… |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavioral limitation: network details like IPv4/SSH target are not returned on this public endpoint. Since no annotations are provided, the description carries the full burden, and it gives meaningful context about what the tool returns and what it omits.
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 description is a single concise sentence with a parenthetical clarification. It front-loads the core purpose and uses no unnecessary words, making it highly efficient and well-structured.
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 simple one-parameter GET tool with no output schema, the description adequately covers the return value (status, plan, expiry, bandwidth) and a key caveat (network details omitted). It provides enough context for an agent to select and invoke the tool correctly, especially given the sibling list clarifies 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?
The schema description covers the only parameter ('id') with an example, achieving 100% coverage. The description does not add any additional meaning about the parameter itself beyond what the schema provides, so the baseline of 3 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?
The description clearly states the tool fetches a server's current status, plan, expiry, and bandwidth usage, which is a specific verb+resource+scope. It effectively distinguishes from sibling tools like list_servers (which lists servers) by focusing on a single server's details via the 'id' parameter.
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 implies usage (when you need status for a specific server) but provides no explicit alternatives or exclusion criteria. It does not mention list_servers for retrieving IDs or say when not to use this tool, leaving the agent to infer from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_plansList plans & pricesAInspect
Step 1 of renting a real Linux server. Lists AgentMetal VPS plans (vCPU/RAM/disk, USD/day + USD/mo, included egress). After you pick a plan, call get_payment_options for the exact payment, then provision by POSTing to the API 402 or running the local @agentmetal/mcp (which pays from your wallet).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly implies a read-only listing operation, but does not explicitly state safety, absence of side effects, or any return format/pagination details. It adds workflow context but lacks deeper 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?
The description is three sentences, front-loaded with purpose, then specifics, then next-step guidance. Every sentence adds value, and the workflow continuation is relevant for an agent planning multi-step actions.
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?
Despite no output schema or annotations, the description fully covers what the tool returns (plan specifications, USD pricing, egress) and how to proceed. For a zero-parameter listing tool, this is sufficient for correct invocation and follow-through.
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 accepts zero parameters, so the baseline of 4 applies. The description adds no parameter detail because there are none, but it effectively describes the output content (plan specs and pricing), which compensates for the lack of an output 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?
The description clearly identifies the tool's action ('Lists AgentMetal VPS plans') and the specific attributes (vCPU/RAM/disk, USD/day + USD/mo, included egress). It also frames it as 'Step 1' of a rental workflow, distinguishing it from sibling tools like get_payment_options.
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?
Explicitly positions the tool as the initial step in a renting process and instructs calling 'get_payment_options' afterward. This provides clear sequential guidance and differentiates when to use this tool versus its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_serversList a wallet’s serversAInspect
List the servers provisioned by a payer wallet address.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Payer wallet address (0x…) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'List' implies a read-only operation, but the description provides no additional behavioral context such as pagination, ordering, or potential empty results. It does not contradict the annotations (there are none).
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 description is a single sentence with no wasted words. It front-loads the verb 'List' and immediately communicates the action, resource, and scope. Every word 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?
With a single parameter, no output schema, and no nested objects, the tool is low complexity. The description adequately conveys the primary action, but it does not explain the return format or any edge cases (e.g., what happens if no servers are found). This is acceptable but not rich.
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 100%—the 'wallet' parameter is already described as 'Payer wallet address (0x…)'. The tool description merely restates this ('payer wallet address') without adding format details or clarifying the relationship between the parameter and the listed servers beyond what the schema states. Baseline 3 is appropriate.
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 uses the specific verb 'List' with a clear resource ('servers') and a scope qualifier ('provisioned by a payer wallet address'). This effectively distinguishes the tool from siblings like 'get_server' (which is singular) and 'list_plans' (which lists plans, not servers).
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 implies usage for listing servers associated with a wallet, but it does not explicitly state when to use it over alternatives or when not to use it. No mention of alternatives or exclusion cases is provided.
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
- First observed
get_payment_options - First observed
get_server - First observed
list_plans - First observed
list_servers
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.