Skip to content
Back to OPC Suite

Card snapshot

www.myopc.io · 2026-08-07 09:55:57 UTC · 1c9bf3a42b0c33d8c13f5013b6a1435b0b1666736cc398f62a60da8ae672a923

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.2.0",
  "name": "OPC Suite",
  "description": "AI-powered all-in-one ERP & CRM. Connect an AI agent to read and write live business data \u2014 CRM, sales orders, quotations, inventory, purchasing, accounting, tax, HR and payroll \u2014 with scoped permissions and full audit logging.",
  "url": "https://www.myopc.io/api/mcp",
  "preferredTransport": "MCP",
  "additionalInterfaces": [
    {
      "transport": "MCP",
      "url": "https://www.myopc.io/api/mcp"
    },
    {
      "transport": "HTTP+JSON",
      "url": "https://www.myopc.io/api"
    }
  ],
  "provider": {
    "organization": "TSA AI Solution Advisory (M) Sdn Bhd",
    "url": "https://tsa-ai.com"
  },
  "version": "1.0.0",
  "documentationUrl": "https://www.myopc.io/mcp",
  "iconUrl": "https://www.myopc.io/icon.svg",
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.1 authorization code + PKCE. Discovery: /.well-known/oauth-authorization-server",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://www.myopc.io/oauth/authorize",
          "tokenUrl": "https://www.myopc.io/oauth/token",
          "scopes": {
            "all": "Full read/write access to all modules",
            "contacts.read": "Read contacts",
            "contacts.write": "Read and write contacts",
            "products.read": "Read products",
            "products.write": "Read and write products",
            "inventory.read": "Read inventory",
            "inventory.write": "Read and write inventory",
            "sales.read": "Read sales",
            "sales.write": "Read and write sales",
            "purchases.read": "Read purchases",
            "purchases.write": "Read and write purchases",
            "suppliers.read": "Read suppliers",
            "suppliers.write": "Read and write suppliers",
            "quotations.read": "Read quotations",
            "quotations.write": "Read and write quotations",
            "accounting.read": "Read accounting",
            "accounting.write": "Read and write accounting",
            "hrm.read": "Read hrm",
            "hrm.write": "Read and write hrm",
            "payroll.read": "Read payroll",
            "payroll.write": "Read and write payroll",
            "support.read": "Read support",
            "support.write": "Read and write support",
            "projects.read": "Read projects",
            "projects.write": "Read and write projects",
            "documents.read": "Read documents",
            "documents.write": "Read and write documents",
            "leads.read": "Read leads",
            "leads.write": "Read and write leads",
            "deals.read": "Read deals",
            "deals.write": "Read and write deals",
            "activities.read": "Read activities",
            "activities.write": "Read and write activities",
            "notes.read": "Read notes",
            "notes.write": "Read and write notes",
            "calendar.read": "Read calendar",
            "calendar.write": "Read and write calendar",
            "claims.read": "Read claims",
            "claims.write": "Read and write claims",
            "tax.read": "Read tax",
            "tax.write": "Read and write tax",
            "pos.read": "Read pos",
            "pos.write": "Read and write pos",
            "agent-tasks.read": "Read agent tasks",
            "agent-tasks.write": "Read and write agent tasks"
          }
        }
      }
    },
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "Personal access token (opc_pat_\u2026) generated in /dashboard/settings/developer."
    }
  },
  "security": [
    {
      "oauth2": [
        "contacts.read",
        "contacts.write",
        "products.read",
        "products.write",
        "inventory.read",
        "inventory.write",
        "sales.read",
        "sales.write",
        "purchases.read",
        "purchases.write",
        "suppliers.read",
        "suppliers.write",
        "quotations.read",
        "quotations.write",
        "accounting.read",
        "accounting.write",
        "hrm.read",
        "hrm.write",
        "payroll.read",
        "payroll.write",
        "support.read",
        "support.write",
        "projects.read",
        "projects.write",
        "documents.read",
        "documents.write",
        "leads.read",
        "leads.write",
        "deals.read",
        "deals.write",
        "activities.read",
        "activities.write",
        "notes.read",
        "notes.write",
        "calendar.read",
        "calendar.write",
        "claims.read",
        "claims.write",
        "tax.read",
        "tax.write",
        "pos.read",
        "pos.write",
        "agent-tasks.read",
        "agent-tasks.write",
        "all"
      ]
    },
    {
      "bearer": []
    }
  ],
  "skills": [
    {
      "id": "crm",
      "name": "CRM & sales pipeline",
      "description": "Manage contacts, leads, deals, activities, notes and calendar events.",
      "tags": [
        "crm",
        "contacts",
        "leads",
        "deals",
        "sales-pipeline"
      ],
      "examples": [
        "Create a new contact for Acme Corp",
        "List deals closing this month",
        "Log a call activity on lead #42"
      ]
    },
    {
      "id": "sales",
      "name": "Sales orders & quotations",
      "description": "Create and manage quotations and sales orders, convert quotes to orders.",
      "tags": [
        "sales",
        "orders",
        "quotations",
        "invoicing"
      ],
      "examples": [
        "Draft a quotation for 10 units of SKU-100",
        "Convert quotation Q-2026-001 to a sales order"
      ]
    },
    {
      "id": "inventory",
      "name": "Inventory & purchasing",
      "description": "Manage products, stock levels, purchases and suppliers.",
      "tags": [
        "inventory",
        "products",
        "purchases",
        "suppliers",
        "warehouse"
      ],
      "examples": [
        "Check stock level for SKU-200",
        "Create a purchase order to supplier ABC"
      ]
    },
    {
      "id": "accounting",
      "name": "Accounting & tax",
      "description": "Access accounting records, tax compliance and expense claims.",
      "tags": [
        "accounting",
        "tax",
        "e-invoicing",
        "expense-claims",
        "finance"
      ],
      "examples": [
        "Summarise this month's profit and loss",
        "Create an expense claim for RM120 travel"
      ]
    },
    {
      "id": "hr",
      "name": "HR & payroll",
      "description": "Manage employees, leave, attendance and payroll runs.",
      "tags": [
        "hrm",
        "payroll",
        "employees",
        "leave",
        "attendance"
      ],
      "examples": [
        "List employees on leave next week",
        "Show the latest payroll run summary"
      ]
    },
    {
      "id": "work",
      "name": "Projects, documents & tasks",
      "description": "Manage projects, documents, support tickets and delegated agent tasks.",
      "tags": [
        "projects",
        "documents",
        "support",
        "agent-tasks"
      ],
      "examples": [
        "Create a project task assigned to me",
        "Find the latest signed contract document"
      ]
    }
  ]
}