# list_installed_roles

A read tool on the Ludus FastMCP MCP server.

Agent View of the PolicyLayer registry record for `list_installed_roles`. HTML page: https://policylayer.com/tools/tjnull-ludus-fastmcp/list-installed-roles

## Facts

- Tool: `list_installed_roles`
- Server: Ludus FastMCP (`tjnull/ludus-fastmcp`) — https://policylayer.com/tools/tjnull-ludus-fastmcp.md
- Homepage: https://github.com/tjnull/Ludus-FastMCP
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_installed_roles",
    "arguments": {}
  }
}
```

## Why list_installed_roles is rated Low

The verb 'list' clearly indicates this tool queries or retrieves information about installed Ansible roles. It performs no side effects, does not create, modify, or delete data, and does not execute code. This is a straightforward Read operation with low severity since it only exposes information about the configuration of the cyber range environment.

From the tool's own definition: "Tool name 'list_installed_roles' indicates a retrieval/query operation that lists existing Ansible roles. The 'list' prefix is characteristic of Read operations that retrieve data without modification."

## Use case

AI agents call list_installed_roles to retrieve information from Ludus FastMCP without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Ludus FastMCP:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "list_installed_roles": {}
  }
}
```

## Other tools on Ludus FastMCP (230)

- `abort_and_remove_range` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/abort-and-remove-range.md
- `abort_range_deployment` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/abort-range-deployment.md
- `batch_remove_snapshots` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/batch-remove-snapshots.md
- `cleanup_old_ranges` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/cleanup-old-ranges.md
- `clear_range_access` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/clear-range-access.md
- `delete_blueprint` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-blueprint.md
- `delete_group` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-group.md
- `delete_range` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-range.md
- `delete_range_by_user` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-range-by-user.md
- `delete_range_object` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-range-object.md
- `delete_ranges_by_status` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-ranges-by-status.md
- `delete_source` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-source.md
- `delete_template` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/delete-template.md
- `destroy_vm` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/destroy-vm.md
- `remove_ranges_from_group` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/remove-ranges-from-group.md
- `remove_snapshot` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/remove-snapshot.md
- `remove_user` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/remove-user.md
- `remove_users_from_group` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/remove-users-from-group.md
- `revoke_range_access` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/revoke-range-access.md
- `revoke_range_from_user` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/revoke-range-from-user.md
- `rollback_snapshot` — Destructive — https://policylayer.com/tools/tjnull-ludus-fastmcp/rollback-snapshot.md
- `abort_template_build` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/abort-template-build.md
- `apply_adversary_profile` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/apply-adversary-profile.md
- `apply_blueprint_to_range` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/apply-blueprint-to-range.md
- `apply_defender_profile` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/apply-defender-profile.md
- `batch_power_on_hosts` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/batch-power-on-hosts.md
- `batch_snapshot_hosts` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/batch-snapshot-hosts.md
- `build_container_based_template` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/build-container-based-template.md
- `build_range_from_description` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/build-range-from-description.md
- `build_range_from_scratch` — Execute — https://policylayer.com/tools/tjnull-ludus-fastmcp/build-range-from-scratch.md
- …and 200 more: https://policylayer.com/tools/tjnull-ludus-fastmcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=tjnull-ludus-fastmcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/tjnull-ludus-fastmcp
