Skip to main content
The Coding Agent Governance inventory is a live picture of what your developers run on a workstation. Each entry aggregates events from the deployed hooks so you can answer the question, “What AI is in my organization right now?”

Open the inventory

Select Agent Governance from the left sidebar, then choose what you want to review:
  • Workstation Inventory to see installed agents and their activity.
  • MCP Servers to see the MCP servers your agents call.
  • AI Models to see the underlying models invoked through agents.
  • Skills to see the skills your agents loaded during sessions.
Each entry lets you filter, search, and pivot into the Coding Agent Governance overview, policies, or policy violations.

Workstation Inventory

Selecting Workstation Inventory shows every agent and AI tool your hooks have observed. Above the table, three summaries provide context: a Coding Agents pie that breaks down active agents, a Sessions This Week trend, and a Developers with AI counter. Workstation Inventory Branded logos appear only for governed agents such as Cursor, Claude Code, Codex, and GitHub Copilot. Every other row (including discovered tools and any agent type the user interface has not yet learned to recognize) shows a generic AI model icon. Use this to spot agents that are out of date, developers whose agent has stopped reporting, and tools your developers added that you have not adopted. Select a row to open the agent’s detail drawer. The header shows a Governed or Discovered status chip, followed by Sessions, Distinct Users, and Last Seen cards, the reported version, and an Activity section. Under Activity, select Recent Events to open the event list in a side panel, or Policy Violations to jump to the violations for that agent. Workstation Inventory with the Cursor agent detail drawer open, showing the Governed status chip, usage cards, version, and Activity section

MCP Servers

Selecting MCP Servers shows every MCP server your agents have called. Three charts summarize them above the table: Local vs. Remote by where the server runs, Approved & Blocked by your review decision, and Suspicious & Malicious by threat classification. Use the Risk filter to focus on the riskiest servers. Policies set the review and threat labels. A policy with an inventory classification tags the servers it matches as Approved, Blocked, Suspicious, or Malicious, and servers with no matching policy show Unreviewed. See Inventory classification to set the tags. The label and the score are different signals. The label records your organization’s decision, applied by your policies. The Endor Score and the risk band derived from it are computed by Endor Labs from the server’s configuration and source. A low-scoring server stays Unreviewed until a policy classifies it. To connect the two, write an MCP Server Posture policy that matches on a score threshold and carries an inventory classification. For example, tag every server scoring 4 or lower as Blocked. MCP Servers inventory Use this to identify unsanctioned MCP servers. Select a server to open its detail drawer: Tool Calls, Distinct Users, and Last Seen cards, a details section with the server type, host, transport, launch command, available tools, and environment variable names, and a Risk section. Under Risk, the Policy Violations count links to the violations for that server, and Endor Score Factors opens the per-dimension Endor Score breakdown in a side panel. See Write a policy to gate access to specific servers. MCP server detail drawer showing usage cards, the server details section, and the Risk section with the Endor Score Factors entry Endor Labs doesn’t score agent plugins as a single unit. It evaluates the MCP servers and skills a plugin contributes. See How Coding Agent Governance works for related inventory limits.

AI Models

Selecting AI Models shows the language models invoked through your agents. Above the table, an AI Models by Provider pie breaks down model use by provider, and a Top Model Sessions list ranks the most-used models in the selected time range. Every column in the table is sortable. AI Models inventory Use this to track model adoption and to flag models that fall outside your approved set.

Skills

Selecting Skills shows the skills your agents loaded during sessions. Three charts summarize them above the table: Approved & Blocked by your review decision, Suspicious & Malicious by threat classification, and Top 5 Riskiest Skills by Endor Score. Use the Risk filter to focus on the riskiest skills. As with MCP servers, policies set the review and threat labels. See Inventory classification. These labels are separate from the score bands (Unauthorized, Caution, Safe) that come from the Endor Score. Skills inventory Use this to triage low-scoring skills and to coordinate with developers on which skills your organization trusts. Policies can flag or block skills by name or by Endor Score. See Skill Access to write those rules. Select a row to open the skill’s detail drawer: usage cards, the frontmatter metadata (description, allowed tools, license, compatibility, file count, and file path), a Content section that opens the captured SKILL.md in a side panel, and a Risk section where Endor Score Factors opens the per-dimension score breakdown. Skill detail drawer showing usage cards, frontmatter metadata, the SKILL.md content entry, and the Risk section

How skills are discovered

At every session start, the hook scans for SKILL.md files in two directory scopes and reports every skill it finds on the session-start event. Cursor scans across the common agent skill directories so that a skill installed for any supported agent appears in the inventory.

SKILL.md format

Each skill is a directory that contains a SKILL.md file with YAML frontmatter.
The frontmatter exposes these keys to the Endor Labs inventory:
  • name: Used as the skill identifier. If it’s missing, the inventory uses the parent directory name instead.
  • description: Shown on the skill row and detail page.
  • license: Surfaced alongside the skill for compliance review.
  • compatibility: Free-text dependency requirement.
  • allowed-tools: List of tools the skill may call. Accepts a YAML list or a space-separated string.

Discovery limits and behavior

Skill discovery works within the following limits:
  • A single event carries up to 100 skills. The hook skips any additional skills.
  • The hook truncates each skill’s content to 128 KiB and caps a single event payload at 10 MiB. When a skill’s content would push the payload past the cap, the hook reports that skill with metadata only.
  • The hook skips directories named .git, node_modules, vendor, __pycache__, and .venv to keep discovery fast.
  • The hook doesn’t follow symbolic links.
  • If two skills share the same name, the first one encountered wins. Workspace directories scan before user-home directories.
  • The hook skips SKILL.md files it cannot read, so a single corrupt skill doesn’t break inventory. A readable file with malformed frontmatter still appears, using the directory name as the skill name.
The hook doesn’t capture skills the agent loads at runtime from outside the scanned directories.

Next steps

Continue with the following pages: