sati-grumpy
Server Details
MCP commerce surface for refurbished datacenter hardware, with x402 agent-payment discovery.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Fish-Tacos/sati-grumpy-demo
- GitHub Stars
- 0
- Server Listing
- Salvage & Surplus MCP
Available Tools
5 toolsadd_to_cartAInspect
Add a Salvage & Surplus product to your cart and receive a cart token. Requires a valid SKU. Returns cart_token needed for checkout.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | ||
| quantity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It adds useful context by stating 'Requires a valid SKU' and 'Returns cart_token needed for checkout', but it does not disclose side effects like whether it creates a new cart, modifies an existing cart, or what happens on invalid input.
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 sentences with no filler. The description is front-loaded with the primary action and immediately provides critical prerequisite and output information.
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 two-parameter tool with an output schema, the description covers the essential flow (add product, receive token) and links it to checkout. It could mention error cases or cart state, but overall it is sufficiently complete.
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 0%, so description must compensate. It explains the SKU requirement ('valid SKU') which adds meaning beyond the schema, but it does not mention the quantity parameter or its default behavior, leaving the description incomplete.
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 action ('Add a Salvage & Surplus product to your cart') and the result ('receive a cart token'). It distinguishes from sibling tools like checkout and confirm_payment by focusing on the cart-add step.
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 the tool is for adding products to cart before checkout, and 'Requires a valid SKU' suggests using get_product/search_products first. However, it does not explicitly mention alternatives or when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkoutAInspect
Initiate checkout for a cart. Provide cart_token from add_to_cart and a billing email. Returns a payment_token required to complete the purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| cart_token | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output 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 discloses the action (initiating checkout), the prerequisite (cart_token from add_to_cart), the need for a billing email, and the output (payment_token). This provides some behavioral context, but it does not mention potential side effects (e.g., payment holds, cart state changes) or permission requirements, so it is only minimally transparent.
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 two sentences, front-loaded with the primary action. Every word contributes: the first sentence states the purpose, the second explains inputs and output. There is no redundancy or filler, making it appropriately 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?
The tool is simple (two string parameters, no nested objects, output schema present). The description covers the essential flow: inputs, source of cart_token, and the returned payment_token. It could mention error conditions or explicitly connect to confirm_payment, but given the low complexity and existing output schema, it is largely complete.
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 input schema provides only field names and types with no descriptions. The description compensates by adding semantics: cart_token is sourced from add_to_cart, and email is specifically a billing email. This makes both parameters meaningful and clarifies their purpose, though it stops short of specifying formats or validation rules.
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 initiates checkout for a cart, specifies the required inputs (cart_token from add_to_cart and a billing email), and mentions the output (payment_token). This distinct verb+resource+flow makes it easy to differentiate from sibling tools like add_to_cart, confirm_payment, get_product, and search_products.
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 gives contextual guidance by instructing to provide the cart_token from add_to_cart, implying it should be used after cart building. It also notes the payment_token is required to complete the purchase, indicating a follow-up step. However, it does not explicitly name alternatives or say when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_paymentAInspect
Confirm payment using a payment_token from checkout and a cc_token (credit card token). Completes the Salvage & Surplus purchase and returns an order confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| cc_token | Yes | ||
| payment_token | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output 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 does disclose that the tool completes the purchase and returns an order confirmation, which implies finality. Yet it does not explicitly state irreversible effects (e.g., charging the card) or error possibilities, leaving some behavioral ambiguity for a payment operation.
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 two sentences, front-loaded with the primary action, and each sentence adds necessary context. There is no fluff or repetition, making it highly concise 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 tool with 2 required parameters and an output schema, the description is almost sufficient. It explains the process and return value, but lacks details about side effects beyond 'completes the purchase'. It is still more complete than many tools, given the low complexity.
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 compensate. It adds meaning by explaining that payment_token comes from checkout and cc_token is a credit card token, giving agents a better understanding than the bare schema. It does not provide format or validation details, but it covers the core roles of both parameters.
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 confirms payment using two specific tokens and completes the purchase, with a concrete outcome (returns order confirmation). The verb 'confirm' and resource 'payment' are specific, and it distinguishes itself from siblings like checkout and add_to_cart by focusing on final payment confirmation.
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 this tool is used after checkout by mentioning 'payment_token from checkout', providing clear context of when to use it. However, it does not explicitly exclude alternatives or state when not to use it, so it slightly misses the top score for explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productAInspect
Retrieve full details for a Salvage & Surplus product by SKU. Example SKUs: GR-001, GR-002, GR-003, GR-004, GR-005.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. The verb 'Retrieve' implies a safe read-only operation, and 'full details' sets expectations. However, it does not disclose any edge cases, error behavior, or authentication requirements. The description adds some context (domain, example SKUs) but is minimal.
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 two sentences: the first states the action and resource, the second provides example SKUs. Every word is useful; it is compact and front-loaded with the primary verb.
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?
This is a simple one-parameter getter with an output schema present, so the description doesn't need to explain return values. It provides enough to understand the tool's purpose and input format. A slight gap is the lack of relationship to sibling tools, but that's more of a usage-guideline issue.
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 has no description for the 'sku' parameter (0% coverage). The description compensates by specifying the lookup is by SKU and provides concrete examples (GR-001, GR-002, etc.), which gives the agent the exact format for a valid input.
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 a specific action ('Retrieve'), the resource ('Salvage & Surplus product'), and the lookup key ('by SKU'). This distinguishes it from sibling tools like add_to_cart or search_products, all of which have different purposes.
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 have a SKU and need full product details, but it does not explicitly state when to use this tool versus alternatives like search_products. No when/when-not or alternative guidance is provided, only an implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsAInspect
Search Salvage & Surplus product catalog. Returns matching GPU rigs, server racks, drive arrays, and network gear. Filter by category: compute, servers, storage, networking, support.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It does add value by specifying result categories and filter options, but it omits details such as read-only nature, pagination behavior, or any prerequisites. The behavior is mostly transparent, but not fully disclosed.
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 short sentences, each delivering distinct information: what the tool does, what it returns, and how to filter. No filler or redundancy, making it easy for an agent to parse quickly.
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?
Given its simplicity (2 params, output schema present), the description is mostly complete. It covers purpose, results, and filters. It does not mention pagination or sorting, but these are often standard and may be inferred from the output schema. For a search tool, this is adequate.
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 compensate. It explains the category parameter by listing allowed values (compute, servers, storage, networking, support), which is helpful. However, the query parameter is not elaborated (e.g., what fields it searches, matching rules), leaving partial semantic coverage.
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 opens with 'Search Salvage & Surplus product catalog', a specific verb-resource pair. It then lists concrete result types (GPU rigs, server racks, drive arrays, network gear) and filter categories, which clearly differentiates it from siblings like get_product, add_to_cart, and checkout.
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 usage is implied (search to find catalog items, optionally filter by category), but there is no explicit 'when to use this vs. get_product' or any exclusion criteria. The description does not reference siblings, so guidance is inferred rather than stated.
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.
5 tool updates
- First observed
add_to_cart - First observed
checkout - First observed
confirm_payment - First observed
get_product - First observed
search_products
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 Connectors
Universal agent commerce gateway with 18 MCP tools, A2A, x402, UCP, revenue and provider health.
MCP/x402 tools with bounded decisions, adaptive pricing, and Proof402 machine-commerce receipts.
Agent floor and MCP market: catalog, rack, Stripe checkout, x402, A2A.
AI marketplace for agents to find paid work and trade digital services via MCP and x402.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for verifying agent payment integrity on x402, providing tools to check payTo mismatches, market stats, and lookup endpoints.1MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for agentic commerce, enabling AI agents to discover services, make x402 payments with USDC across multiple chains, and manage crypto wallets and token swaps.3551MIT
- FlicenseBqualityCmaintenanceMCP server for paid business data services with free previews and paid tools (enriched search and competitive analysis) using x402 payment flow via Pyrimid Protocol on Base.5-
- AlicenseAqualityCmaintenanceMCP server that gives Claude/GPT agents commerce tools — each tool call pays an upstream x402 endpoint and returns its artifact.153Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a distinct role: product discovery (search_products, get_product), cart management (add_to_cart), and payment processing (checkout, confirm_payment). The sequential flow is clear and there is no overlap between tools.
Most tools follow a consistent lowercase verb_noun pattern (add_to_cart, confirm_payment, get_product, search_products). 'checkout' deviates slightly as a single verb, but it is still clear and follows the same overall style.
With 5 tools, the server is well-scoped for a simple purchase workflow. Each tool is necessary for the core flow of searching, viewing, adding to cart, and completing a purchase.
The purchase lifecycle is covered end-to-end: search, retrieve details, add to cart, checkout, and confirm payment. Minor gaps exist such as no update/remove cart functionality, but these do not block the primary workflow.