Foxy.io MCP by usefulapi

Read Foxy transactions, subscriptions, customers, carts and coupons; update customers and subs.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,598Tokens (tool definitions)
~1.4 KBTypical response size
Significant attention impact (2.03% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "foxyio": {
      "url": "https://foxyio.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://foxyio.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (14)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒foxy_get_api_home

Get the Foxy hAPI home document β€” its _links / rels (including fx:store for the authenticated default store). Useful for HAL discovery. Foxy hAPI: GET /.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_get_default_store

Resolve and return the authenticated user's default store (and its id) by fetching the API home and following the fx:store link. Use this to discover the store_id the list tools accept. Foxy hAPI: GET / then GET fx:store.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_get_store(store_id)

Get a single store resource by id, including its settings and _links to sub-collections. Foxy hAPI: GET /stores/{store_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "store_id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Store id (get it from foxy_get_default_store)."
    }
  },
  "required": [
    "store_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_list_transactions(store_id, limit, offset, zoom, is_test, ...)

List a store's transactions (orders), newest first. Returns a HAL collection embedding fx:transactions. Foxy hAPI: GET /stores/{store_id}/transactions.

Input Schema

{
  "type": "object",
  "properties": {
    "store_id": {
      "description": "Store id. If omitted, the default store (fx:store) is used.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ]
    },
    "limit": {
      "description": "Max results per page (Foxy default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 300
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'items,customer,payments'.",
      "type": "string"
    },
    "is_test": {
      "description": "Filter to test (true) or live (false) transactions.",
      "type": "boolean"
    },
    "customer_email": {
      "description": "Filter by the transaction's customer email.",
      "type": "string"
    },
    "order": {
      "description": "Sort expression, e.g. 'transaction_date desc'.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_get_transaction(id, zoom)

Get a single transaction by id, optionally zooming related resources (items, customer, payments, applied_taxes…). Foxy hAPI: GET /transactions/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Transaction id."
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'items,customer'.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_list_subscriptions(store_id, limit, offset, is_active, zoom)

List a store's subscriptions (recurring orders). Returns a HAL collection embedding fx:subscriptions. Foxy hAPI: GET /stores/{store_id}/subscriptions.

Input Schema

{
  "type": "object",
  "properties": {
    "store_id": {
      "description": "Store id. If omitted, the default store (fx:store) is used.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ]
    },
    "limit": {
      "description": "Max results per page (Foxy default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 300
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "is_active": {
      "description": "Filter to active (true) or inactive (false) subscriptions.",
      "type": "boolean"
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'transaction_template,last_transaction'.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_get_subscription(id, zoom)

Get a single subscription by id, optionally zooming related resources. Foxy hAPI: GET /subscriptions/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Subscription id."
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'transaction_template,original_transaction'.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_list_customers(store_id, limit, offset, email)

List a store's customers. Returns a HAL collection embedding fx:customers. Foxy hAPI: GET /stores/{store_id}/customers.

Input Schema

{
  "type": "object",
  "properties": {
    "store_id": {
      "description": "Store id. If omitted, the default store (fx:store) is used.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ]
    },
    "limit": {
      "description": "Max results per page (Foxy default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 300
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Filter by exact customer email.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_get_customer(id, zoom)

Get a single customer by id, optionally zooming related resources (default_billing_address, subscriptions…). Foxy hAPI: GET /customers/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Customer id."
    },
    "zoom": {
      "description": "Comma-separated related resources to embed.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_list_carts(store_id, limit, offset, zoom)

List a store's carts (in-progress / abandoned checkouts). Returns a HAL collection embedding fx:carts. Foxy hAPI: GET /stores/{store_id}/carts.

Input Schema

{
  "type": "object",
  "properties": {
    "store_id": {
      "description": "Store id. If omitted, the default store (fx:store) is used.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ]
    },
    "limit": {
      "description": "Max results per page (Foxy default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 300
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'items,customer'.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_list_coupons(store_id, limit, offset, zoom)

List a store's coupons (discount codes and their rules). Returns a HAL collection embedding fx:coupons. Foxy hAPI: GET /stores/{store_id}/coupons.

Input Schema

{
  "type": "object",
  "properties": {
    "store_id": {
      "description": "Store id. If omitted, the default store (fx:store) is used.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ]
    },
    "limit": {
      "description": "Max results per page (Foxy default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 300
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'coupon_codes'.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒foxy_list_items(transaction_id, limit, offset, zoom)

List the line items of a transaction (the products purchased). Returns a HAL collection embedding fx:items. Foxy hAPI: GET /transactions/{transaction_id}/items.

Input Schema

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Transaction id whose line items to list."
    },
    "limit": {
      "description": "Max results per page (Foxy default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 300
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "zoom": {
      "description": "Comma-separated related resources to embed, e.g. 'item_options'.",
      "type": "string"
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄foxy_update_customer(id, first_name, last_name, email)

UPDATES a customer's profile fields (first_name, last_name, email). This MODIFIES live store data. Foxy hAPI: PATCH /customers/{id}. Provide only the fields you want to change.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Customer id to update."
    },
    "first_name": {
      "description": "New first name.",
      "type": "string"
    },
    "last_name": {
      "description": "New last name.",
      "type": "string"
    },
    "email": {
      "description": "New email address.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄foxy_update_subscription(id, next_transaction_date, frequency, is_active)

UPDATES a subscription β€” reschedule its next run (next_transaction_date), change its frequency, or activate/pause it (is_active). This MODIFIES live store data and affects future billing. Foxy hAPI: PATCH /subscriptions/{id}. Provide only the fields you want to change.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Subscription id to update."
    },
    "next_transaction_date": {
      "description": "Next run date, YYYY-MM-DD (reschedules the subscription).",
      "type": "string"
    },
    "frequency": {
      "description": "Billing frequency, e.g. '1m' (monthly), '2w' (2 weeks), '1y' (yearly).",
      "type": "string"
    },
    "is_active": {
      "description": "Set true to activate or false to pause the subscription.",
      "type": "boolean"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded14 tools
verifiedversion not recorded14 tools
verifiedversion not recorded14 tools
failed observationversion not recordedβ€”
failed observationversion not recordedβ€”