Free MCP/API diagnostics. Micro Tools V2: free preview, $1 JSON check, $2 API shape, $3 normalize.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Start here. Diagnose one sanitized MCP, API, webhook, agent or integration failure for free. Returns bounded evidence plus a suggested repair service, then use quote_repair only if a priced repair is wanted. It never creates a quote, checkout, payment or repair job. It may record bounded operational attribution/telemetry, so readOnlyHint is false; it does not modify the caller system or commercial state.
One sanitized technical symptom. Include the affected component and observable error/status. Never include secrets, credentials, private keys or PII.
Optional attribution label for the calling agent or integration; omit when no stable source label is available.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Start here. Diagnose one sanitized MCP, API, webhook, agent or integration failure for free. Returns bounded evidence plus a suggested repair service, then use quote_repair only if a priced repair is wanted. It never creates a quote, checkout, payment or repair job. It may record bounded operational attribution/telemetry, so readOnlyHint is false; it does not modify the caller system or commercial state.
| Argument | Type | Description |
|---|---|---|
| source | string | Optional attribution label for the calling agent or integration; omit when no stable source label is available. |
| problem* | string | One sanitized technical symptom. Include the affected component and observable error/status. Never include secrets, credentials, private keys or PII. |
{
"type": "object",
"required": [
"problem"
],
"properties": {
"source": {
"type": "string",
"maxLength": 80,
"description": "Optional attribution label for the calling agent or integration; omit when no stable source label is available."
},
"problem": {
"type": "string",
"maxLength": 3000,
"minLength": 3,
"description": "One sanitized technical symptom. Include the affected component and observable error/status. Never include secrets, credentials, private keys or PII."
}
},
"additionalProperties": false
}Use ONLY for the normal repair flow after quote_repair has already returned a quoteId and the caller explicitly chooses that existing quote. This tool does not create a quote: with confirm=true it records acceptance of that quote and creates checkout instructions on exactly one rail offered by it. Do NOT use this tool for owner/platform-preauthorized autonomous purchasing where the agent is allowed to choose one of the four capped micro-services and create its own quote; use request_delegated_purchase for that separate flow. APPLE_PAY returns a human handoff URL for buyer authorization; BASE_USDC and TRON_USDT return payer transfer instructions. It never sends funds, charges the caller, verifies payment or directly starts repair execution. After the buyer completes the required payment action, use verify_repair with the returned checkoutId and the same rail.
| Argument | Type | Description |
|---|---|---|
| rail* | string | Choose exactly one id from the descriptors in quote_repair.paymentRails. Saudi quotes normally offer APPLE_PAY only. |
| source | string | Optional attribution label for the calling agent or integration. |
| confirm* | boolean | Must be true to record explicit acceptance before checkout instructions are created. |
| quoteId* | string | Exact quoteId returned by quote_repair and explicitly accepted by the caller. |
{
"type": "object",
"required": [
"quoteId",
"confirm",
"rail"
],
"properties": {
"rail": {
"enum": [
"APPLE_PAY",
"BASE_USDC",
"TRON_USDT"
],
"type": "string",
"description": "Choose exactly one id from the descriptors in quote_repair.paymentRails. Saudi quotes normally offer APPLE_PAY only."
},
"source": {
"type": "string",
"maxLength": 80,
"description": "Optional attribution label for the calling agent or integration."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true to record explicit acceptance before checkout instructions are created."
},
"quoteId": {
"type": "string",
"maxLength": 128,
"minLength": 8,
"description": "Exact quoteId returned by quote_repair and explicitly accepted by the caller."
}
},
"additionalProperties": false
}Use only after diagnose_issue when the caller wants a priced bounded repair. Creates a new non-binding quote for the selected or automatically matched public service. Repeating the call may create a different quoteId, so it is intentionally non-idempotent. It does not accept the quote, create checkout, send payment or start execution. If the quote is accepted by the caller, pass its quoteId and one offered payment rail to prepare_repair.
| Argument | Type | Description |
|---|---|---|
| source | string | Optional attribution label for the calling agent or integration. |
| productId | string | Optional exact public productId suggested by diagnose_issue or chosen from the catalog. Omit to let NAIF match the closest service. |
| description* | string | Sanitized bounded repair need derived from diagnose_issue; describe the failure and desired repair outcome without secrets or PII. |
{
"type": "object",
"required": [
"description"
],
"properties": {
"source": {
"type": "string",
"maxLength": 80,
"description": "Optional attribution label for the calling agent or integration."
},
"productId": {
"type": "string",
"maxLength": 100,
"minLength": 3,
"description": "Optional exact public productId suggested by diagnose_issue or chosen from the catalog. Omit to let NAIF match the closest service."
},
"description": {
"type": "string",
"maxLength": 2000,
"minLength": 8,
"description": "Sanitized bounded repair need derived from diagnose_issue; describe the failure and desired repair outcome without secrets or PII."
}
},
"additionalProperties": false
}Use ONLY for an owner/platform-preauthorized autonomous purchase of one of four supported micro-services under an explicit spending cap. Unlike prepare_repair, this tool does not consume an existing quoteId: it creates its own quote, accepts it, and creates checkout within the delegation. Repeating the call may create a new quote/checkout, so it is intentionally non-idempotent. Do NOT use it when quote_repair already produced a quoteId or for general repair services outside the four listed micro-services; use prepare_repair for an existing repair quote. Supports wallet rails and APPLE_PAY_AUTO. APPLE_PAY_AUTO requires one human Apple Pay approval first; when Tap returns an ACTIVE saved-card payment agreement, later purchases may be charged only within the stored cap. If provider support or authorization is missing, the flow fails closed.
| Argument | Type | Description |
|---|---|---|
| source | string | Optional attribution label for the calling agent or integration. |
| productId* | string | Exactly one of the four services allowed for delegated purchase. For any other repair service, use diagnose_issue → quote_repair → prepare_repair. |
| description* | string | Sanitized bounded work description for the delegated micro-service; never include secrets, credentials or private keys. |
| paymentRail | string | Delegated-purchase rail policy. AUTO chooses an eligible wallet rail; APPLE_PAY_AUTO uses or establishes the capped Tap authorization. This is not the manual rail selection for prepare_repair. |
| maxAmountUsd* |
Use after the buyer completes the payment action for a checkout created by prepare_repair. APPLE_PAY verifies the existing Tap charge by checkoutId; BASE_USDC and TRON_USDT require the payer-provided txHash. A confirmed payment returns verified=true, while an already-confirmed Apple Pay checkout may return alreadyVerified=true; an unconfirmed or rejected payment returns error and/or reason without fabricating success. Verification may also return the job attached by the existing payment-completion workflow. This tool never creates or sends a transaction and never charges the buyer.
| Argument | Type | Description |
|---|---|---|
| rail* | string | Use the same payment rail selected in prepare_repair. |
| txHash | string | Payer-provided transaction hash. Required for BASE_USDC and TRON_USDT after transfer submission; omit for APPLE_PAY. |
| checkoutId* | string | Exact checkout ID returned by prepare_repair. |
{
"type": "object",
"required": [
"checkoutId",
"rail"
],
"properties": {
"rail": {
"enum": [
"APPLE_PAY",
"BASE_USDC",
"TRON_USDT"
],
"type": "string",
"description": "Use the same payment rail selected in prepare_repair."
},
"txHash": {
"type": "string",
"pattern": "^(0x)?[0-9a-fA-F]{64}$",
"description": "Payer-provided transaction hash. Required for BASE_USDC and TRON_USDT after transfer submission; omit for APPLE_PAY."
},
"checkoutId": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{8,128}$",
"description": "Exact checkout ID returned by prepare_repair."
}
},
"additionalProperties": false
}| number |
| Owner/platform per-purchase spending cap in USD-equivalent. The quote must fit inside this cap and the service launch price. |
| dailyLimitUsd | number | Requested daily APPLE_PAY_AUTO cap used only during first-time authorization setup; maximum 20 USD. |
| authorizeCheckout* | boolean | Explicit permission for this tool to create its own quote, accept it, and create checkout within the supplied cap. If a quoteId already exists, use prepare_repair instead. |
| authorizedMerchant* | string | Merchant scope explicitly authorized by the owner/platform for this delegated purchase flow. |
| applePayAuthorizationToken | string | Opaque token returned by the one-time APPLE_PAY_AUTO setup. Supply only a token from this delegated authorization flow; never provide card data or raw Apple Pay payloads. |
{
"type": "object",
"required": [
"productId",
"description",
"authorizedMerchant",
"maxAmountUsd",
"authorizeCheckout"
],
"properties": {
"source": {
"type": "string",
"maxLength": 80,
"description": "Optional attribution label for the calling agent or integration."
},
"productId": {
"enum": [
"json-validity-check",
"api-response-shape-check",
"json-normalizer",
"csv-schema-audit"
],
"type": "string",
"description": "Exactly one of the four services allowed for delegated purchase. For any other repair service, use diagnose_issue → quote_repair → prepare_repair."
},
"description": {
"type": "string",
"maxLength": 2000,
"minLength": 8,
"description": "Sanitized bounded work description for the delegated micro-service; never include secrets, credentials or private keys."
},
"paymentRail": {
"enum": [
"AUTO",
"BASE_USDC",
"TRON_USDT",
"APPLE_PAY_AUTO"
],
"type": "string",
"description": "Delegated-purchase rail policy. AUTO chooses an eligible wallet rail; APPLE_PAY_AUTO uses or establishes the capped Tap authorization. This is not the manual rail selection for prepare_repair."
},
"maxAmountUsd": {
"type": "number",
"maximum": 5,
"description": "Owner/platform per-purchase spending cap in USD-equivalent. The quote must fit inside this cap and the service launch price.",
"exclusiveMinimum": 0
},
"dailyLimitUsd": {
"type": "number",
"maximum": 20,
"description": "Requested daily APPLE_PAY_AUTO cap used only during first-time authorization setup; maximum 20 USD.",
"exclusiveMinimum": 0
},
"authorizeCheckout": {
"type": "boolean",
"const": true,
"description": "Explicit permission for this tool to create its own quote, accept it, and create checkout within the supplied cap. If a quoteId already exists, use prepare_repair instead."
},
"authorizedMerchant": {
"type": "string",
"const": "naifgravity.com",
"description": "Merchant scope explicitly authorized by the owner/platform for this delegated purchase flow."
},
"applePayAuthorizationToken": {
"type": "string",
"maxLength": 240,
"minLength": 20,
"description": "Opaque token returned by the one-time APPLE_PAY_AUTO setup. Supply only a token from this delegated authorization flow; never provide card data or raw Apple Pay payloads."
}
},
"additionalProperties": false
}