Skip to main content
Glama
playcanvas

PlayCanvas Editor MCP Server

Official
by playcanvas

list_entities

Read-only

List and filter scene entities by name, component, or tag. Paginate through large scenes using limit and offset.

Instructions

List entities in the current scene, returning compact summaries by default (resource_id, name, hierarchy path, parent, enabled, tags, component names). Results are paginated: use limit (default 50) and offset to page through large scenes; the response meta includes total, count, hasMore and nextCursor. Filter with name (case-insensitive contains), component (only entities with that component) and/or tag. Use full=true only when you need the complete entity JSON (large; prefer summaries). An empty result is a successful, empty list (not an error). When NOT to use: when you already know an entity id and just need to act on it; for runtime/play-mode state (this returns edit-time data only).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag
fullNoReturn full entity JSON instead of the compact summary (much larger)
nameNoFilter by name (case-insensitive contains)
limitNoMax entities to return (default 50)
offsetNoNumber of entities to skip (use nextCursor from a previous page)
componentNoFilter to entities that have this component

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changedv0.7.0
    • addedInput schema / properties / component
      Added value: +{
      +  "description": "Filter to entities that have this component",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / full
      Added value: +{
      +  "description": "Return full entity JSON instead of the compact summary (much larger)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Max entities to return (default 50)",
      +  "maximum": 500,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / name
      Added value: +{
      +  "description": "Filter by name (case-insensitive contains)",
      +  "type": "string"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Number of entities to skip (use nextCursor from a previous page)",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / tag
      Added value: +{
      +  "description": "Filter by tag",
      +  "type": "string"
      +}
  2. First observedv1.0.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only state readOnlyHint=true and openWorldHint=false. The description adds substantial behavioral detail beyond that: pagination behavior with total/count/hasMore/nextCursor, default limit of 50, empty results being successful rather than errors, and edit-time-only data. This fully informs the agent of expected runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact but information-dense, with each sentence earning its place. It front-loads the core purpose and return format, then covers filters, pagination, full mode, empty results, and exclusions in a logical order without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for this tool's complexity. It covers the return format, pagination meta, filter options, full-mode tradeoff, empty-result semantics, edit-time limitation, and relevant non-use cases. Even without an output schema, an agent has enough information to call this tool correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter. The description does restate some parameter semantics like default limit and full entity size, but adds little new meaning beyond what the schema already provides. This matches the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists entities in the current scene and describes the compact summary format. It is specific about verb, resource, and scope, but it does not explicitly name sibling tools like search_entities or get_entity to draw a sharp contrast, so it falls slightly short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: when to use pagination, when full=true is appropriate, and when not to use the tool (known entity id, runtime/play-mode state). However, it stops short of explicitly naming the alternative tools to use in those cases, which would make the guidance fully actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/playcanvas/editor-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server