{
	"name": "three.ws",
	"description": "AI-powered 3D model viewer and validation agent. Load glTF/GLB models, run validation, inspect materials, and manage avatar assets.",
	"url": "https://three.ws/",
	"provider": {
		"organization": "three.ws",
		"url": "https://three.ws/"
	},
	"version": "1.5.1",
	"capabilities": {
		"streaming": false,
		"pushNotifications": false,
		"stateTransitionHistory": false,
		"extensions": [
			{
				"uri": "https://github.com/google-a2a/a2a-x402/v0.1",
				"description": "Supports payments using the x402 protocol for on-chain settlement.",
				"required": true
			}
		]
	},
	"authentication": {
		"schemes": ["bearer"],
		"credentials": null
	},
	"defaultInputModes": ["text/plain", "application/json"],
	"defaultOutputModes": ["text/plain", "application/json"],
	"skills": [
		{
			"id": "list-avatars",
			"name": "List Avatars",
			"description": "List all avatars owned by the authenticated user",
			"tags": ["avatar", "list"],
			"examples": ["Show me my avatars", "List all my 3D models"]
		},
		{
			"id": "get-avatar",
			"name": "Get Avatar",
			"description": "Retrieve details of a specific avatar by ID or slug",
			"tags": ["avatar", "inspect"],
			"examples": ["Get avatar details for cz", "Show avatar info"]
		},
		{
			"id": "search-avatars",
			"name": "Search Public Avatars",
			"description": "Search public avatar gallery by query",
			"tags": ["avatar", "search"],
			"examples": ["Find avatars matching 'robot'", "Search public models"]
		},
		{
			"id": "render-avatar",
			"name": "Render Avatar",
			"description": "Get an embeddable HTML model-viewer snippet that renders the given avatar in 3D",
			"tags": ["avatar", "render", "preview"],
			"examples": ["Render my avatar in the viewer", "Preview this model"]
		},
		{
			"id": "delete-avatar",
			"name": "Delete Avatar",
			"description": "Delete an avatar owned by the authenticated user",
			"tags": ["avatar", "delete"],
			"examples": ["Delete my old avatar", "Remove avatar abc123"]
		},
		{
			"id": "validate-model",
			"name": "Validate glTF/GLB Model",
			"description": "Run the Khronos glTF-Validator against a remote model URL and return a structured error/warning/info/hint report",
			"tags": ["model", "validation", "gltf", "glb"],
			"examples": [
				"Validate https://example.com/model.glb",
				"Is this GLB spec-compliant?",
				"Check my model for errors"
			]
		},
		{
			"id": "inspect-model",
			"name": "Inspect glTF/GLB Model",
			"description": "Parse a remote model and return structural stats: scene/node/mesh counts, vertex and triangle totals, material and texture summaries, extensions used",
			"tags": ["model", "inspect", "stats", "gltf", "glb"],
			"examples": [
				"How many triangles are in this model?",
				"Inspect https://example.com/scene.glb",
				"Show texture stats for this GLB"
			]
		},
		{
			"id": "optimize-model",
			"name": "Suggest Optimizations",
			"description": "Inspect a remote model and return actionable suggestions for reducing size and draw-call overhead (Draco/Meshopt, KTX2, texture resize, reindexing, material merging)",
			"tags": ["model", "optimize", "suggestions", "performance"],
			"examples": [
				"How can I make this model smaller?",
				"Optimize this GLB for web delivery",
				"Suggest compression for https://example.com/avatar.glb"
			]
		},
		{
			"id": "inspect-glb-a2a",
			"name": "Inspect glTF/GLB (A2A)",
			"description": "Pay-per-call glTF/GLB inspector exposed over the Agent-to-Agent (A2A) protocol with x402 settlement. Send a JSON-RPC message/send to the URL below — the first call returns payment requirements, the retry with a signed PaymentPayload settles on-chain and returns the inspection report as a task artifact.",
			"tags": ["model", "gltf", "glb", "inspect", "a2a", "x402", "paid"],
			"examples": [
				"Inspect https://example.com/model.glb (A2A x402)",
				"Vet this GLB before I mint it"
			],
			"inputModes": ["application/json", "text/plain"],
			"outputModes": ["application/json"],
			"url": "https://three.ws/api/agents/a2a-paid"
		}
	]
}
