Play Systems MCP by usefulapi

Read e-invoices and payments, hosting packages, domains, DNS and web usage in Play Systems.

Should I use this

Quality & Safety

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

Findings (1)

  • LOWTool 'playsystemsapi_list_invoice_payments' name length outside 3-30 rangein playsystemsapi_list_invoice_payments

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,252Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.98% 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": {
    "play-systems-api": {
      "url": "https://play-systems-api.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://play-systems-api.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢playsystemsapi_list_invoices(mark, issuerVat, invoiceType, dateFrom, dateTo, ...)

List e-invoices (Greek AADE/myDATA) for an issuer. Give a 15-digit MARK for one invoice, or an issuer VAT number with an optional invoice type and date range. Read-only: GET /invoices.

Input Schema

{
  "type": "object",
  "properties": {
    "mark": {
      "description": "Exact AADE MARK number (15 digits). When set, the other filters are ignored.",
      "type": "string",
      "pattern": "^\\d{15}$"
    },
    "issuerVat": {
      "description": "Issuer VAT number (9 digits). Required when no mark is given.",
      "type": "string",
      "pattern": "^\\d{9}$"
    },
    "invoiceType": {
      "description": "Invoice type code, for example \"1.1\" or \"2.1\". Needs issuerVat.",
      "type": "string"
    },
    "dateFrom": {
      "description": "Invoices issued on or after this date (yyyy-mm-dd). Needs issuerVat.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "dateTo": {
      "description": "Invoices issued on or before this date (yyyy-mm-dd). Needs issuerVat.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "size": {
      "description": "Results per page (1-100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "next": {
      "description": "Cursor from meta.nextCursor of the previous page. Pass it unmodified.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_get_invoice(invoiceId)

Get one e-invoice with its lines, totals and status. Read-only: GET /invoices/{invoiceId}.

Input Schema

{
  "type": "object",
  "properties": {
    "invoiceId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Invoice id, as returned by playsystemsapi_list_invoices."
    }
  },
  "required": [
    "invoiceId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_list_invoice_payments(invoiceId)

List the payments recorded against one e-invoice. Read-only: GET /invoices/{invoiceId}/payments.

Input Schema

{
  "type": "object",
  "properties": {
    "invoiceId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Invoice id, as returned by playsystemsapi_list_invoices."
    }
  },
  "required": [
    "invoiceId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_get_package(packageId)

Get one hosting package on Play Cloud Services: plan, status and limits. Read-only: GET /cloud/package/{packageId}.

Input Schema

{
  "type": "object",
  "properties": {
    "packageId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Numeric id of a hosting package assigned to the account."
    }
  },
  "required": [
    "packageId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_get_web_usage(packageId)

Get web usage statistics for a hosting package: bandwidth, disk, databases and mail counts. Read-only: GET /cloud/package/{packageId}/web/usage.

Input Schema

{
  "type": "object",
  "properties": {
    "packageId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Numeric id of a hosting package assigned to the account."
    }
  },
  "required": [
    "packageId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_get_domain(packageId, domainId)

Get one domain on a hosting package: name, expiry and status. Read-only: GET /cloud/package/{packageId}/domain/{domainId}.

Input Schema

{
  "type": "object",
  "properties": {
    "packageId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Numeric id of a hosting package assigned to the account."
    },
    "domainId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Domain id, as returned by the domain tools."
    }
  },
  "required": [
    "packageId",
    "domainId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_get_domain_dns(packageId, domainId)

Get the DNS records of one domain on a hosting package, with suggested nameservers. Read-only: GET /cloud/package/{packageId}/domain/{domainId}/dns.

Input Schema

{
  "type": "object",
  "properties": {
    "packageId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Numeric id of a hosting package assigned to the account."
    },
    "domainId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Domain id, as returned by the domain tools."
    }
  },
  "required": [
    "packageId",
    "domainId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢playsystemsapi_search_domains(prefix_or_name)

Check whether a domain name or prefix is available, with its price and expiry. Read-only: GET /cloud/domain-search/{prefix_or_name}.

Input Schema

{
  "type": "object",
  "properties": {
    "prefix_or_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Domain name or prefix to look up, for example example or example.gr."
    }
  },
  "required": [
    "prefix_or_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools