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
- Last Tested
- Transport
- Streamable HTTP
- URL
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. Dates show when Glama detected each change.
4 tool updates
- First observed
get_payment_options - First observed
get_server - First observed
list_plans - First observed
list_servers
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.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- AlicenseNot gradedqualityCmaintenanceEnables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
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.