---
name: "xpay-quakelive-describe-map"
description: "Analyse a BSP map (from a pk3 or direct .bsp file) and return a JSON MapSpec that describes its geometry and entities. 

What is extracted:
• worldspawn settings: sky, gravity, ambient, music, name
• All game entities verbatim (weapons, spawns, flags, teleporters, …)
• Rooms: detected by pairing floor surfaces (normal ≈ +Z) with ceiling surfaces (normal ≈ −Z) that share the same XY footprint.  Each matched pair becomes one RoomSpec with mins/maxs, floor_texture, ceil_texture, and wall_texture.

The returned spec can be fed directly to generate_map to produce a geometrically similar BSP (roundtrip is lossless for simple axis-aligned maps; complex maps are approximated as rectangular rooms). 

Typical workflow:
1. describe_map(\"cpma1\")  → inspect / tweak the spec JSON
2. generate_map(spec)      → new .bsp that resembles cpma1
3. Use new .bsp in demos"
version: "1.0.0"
price: "$0.02/call"
provider: "Mcps"
---

# Describe Map

Analyse a BSP map (from a pk3 or direct .bsp file) and return a JSON MapSpec that describes its geometry and entities. 

What is extracted:
• worldspawn settings: sky, gravity, ambient, music, name
• All game entities verbatim (weapons, spawns, flags, teleporters, …)
• Rooms: detected by pairing floor surfaces (normal ≈ +Z) with ceiling surfaces (normal ≈ −Z) that share the same XY footprint.  Each matched pair becomes one RoomSpec with mins/maxs, floor_texture, ceil_texture, and wall_texture.

The returned spec can be fed directly to generate_map to produce a geometrically similar BSP (roundtrip is lossless for simple axis-aligned maps; complex maps are approximated as rectangular rooms). 

Typical workflow:
1. describe_map("cpma1")  → inspect / tweak the spec JSON
2. generate_map(spec)      → new .bsp that resembles cpma1
3. Use new .bsp in demos

**Provider:** Mcps
**Price:** $0.02/call
**Pricing model:** Flat rate per call

## When to Use

Use this tool when you need to analyse a bsp map (from a pk3 or direct .bsp file) and return a json mapspec that describes its geometry and entities. 

what is extracted:
• worldspawn settings: sky, gravity, ambient, music, name
• all game entities verbatim (weapons, spawns, flags, teleporters, …)
• rooms: detected by pairing floor surfaces (normal ≈ +z) with ceiling surfaces (normal ≈ −z) that share the same xy footprint.  each matched pair becomes one roomspec with mins/maxs, floor_texture, ceil_texture, and wall_texture.

the returned spec can be fed directly to generate_map to produce a geometrically similar bsp (roundtrip is lossless for simple axis-aligned maps; complex maps are approximated as rectangular rooms). 

typical workflow:
1. describe_map("cpma1")  → inspect / tweak the spec json
2. generate_map(spec)      → new .bsp that resembles cpma1
3. use new .bsp in demos. This is part of the Mcps provider on xpay✦.

## MCP Connection

Connect to xpay✦ to access this tool (and 87+ others):

```json
{
  "mcpServers": {
    "xpay": {
      "url": "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
    }
  }
}
```

For Claude Code:
```bash
claude mcp add --transport http xpay "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
```

## How to Execute

Use the xpay✦ meta-tools to run this tool:

1. **`xpay_details`** — Get full input schema: `xpay_details("quakelive/describe_map")`
2. **`xpay_run`** — Execute: `xpay_run("quakelive/describe_map", { ...inputs })`

## Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map` | string | Yes | Map name or path (same lookup rules as get_bsp_info). Can be a bare name like 'campgrounds', a name with extension 'campgrounds.bsp', or an absolute file path. Searched in MAP_DIR first, then inside pk3 archives under WOLFCAMQL_BASEPATH. |

## Pricing

- **Cost:** $0.02/call
- **Balance check:** Use `xpay_balance` to check remaining credits
- Get your API key at [xpay.tools](https://xpay.tools/account/settings/api-keys/) — $5 free credits included

## Related Skills

- [Mcps (all tools)](https://xpay.tools/skills/quakelive/SKILL.md) — 88 tools
- [Add Player](https://xpay.tools/skills/quakelive/add-player/SKILL.md) — $0.00/call
- [Add Raw Snapshot](https://xpay.tools/skills/quakelive/add-raw-snapshot/SKILL.md) — $0.00/call
- [Add Server Command](https://xpay.tools/skills/quakelive/add-server-command/SKILL.md) — $0.00/call
- [Analyze Demo](https://xpay.tools/skills/quakelive/analyze-demo/SKILL.md) — $0.02/call
- [Award Medal](https://xpay.tools/skills/quakelive/award-medal/SKILL.md) — $0.02/call

## Links

- Tool page: https://xpay.tools/quakelive/describe-map/
- Provider: https://xpay.tools/quakelive/
- All tools: https://xpay.tools/explore
