# Models

## The ListToolsResult object

```json
{"openapi":"3.0.3","info":{"title":"NLX Model Context Protocol (MCP) API","version":"1.0.0"},"components":{"schemas":{"ListToolsResult":{"type":"object","properties":{"tools":{"type":"array","items":{"$ref":"#/components/schemas/Tool"}}}},"Tool":{"type":"object","required":["name","inputSchema"],"properties":{"name":{"type":"string","description":"The name of the tool."},"description":{"type":"string","description":"A human-readable description of the tool's purpose."},"inputSchema":{"type":"object","description":"A JSON Schema object defining the expected parameters.","additionalProperties":true}}}}}}
```

## The Tool object

```json
{"openapi":"3.0.3","info":{"title":"NLX Model Context Protocol (MCP) API","version":"1.0.0"},"components":{"schemas":{"Tool":{"type":"object","required":["name","inputSchema"],"properties":{"name":{"type":"string","description":"The name of the tool."},"description":{"type":"string","description":"A human-readable description of the tool's purpose."},"inputSchema":{"type":"object","description":"A JSON Schema object defining the expected parameters.","additionalProperties":true}}}}}}
```

## The CallToolRequest object

```json
{"openapi":"3.0.3","info":{"title":"NLX Model Context Protocol (MCP) API","version":"1.0.0"},"components":{"schemas":{"CallToolRequest":{"type":"object","properties":{"arguments":{"type":"object","description":"The arguments to pass to the tool, matching its inputSchema.","additionalProperties":true},"stream":{"type":"boolean","default":false,"description":"Set to true to receive an SSE stream of the tool's output."}}}}}}
```

## The CallToolResult object

```json
{"openapi":"3.0.3","info":{"title":"NLX Model Context Protocol (MCP) API","version":"1.0.0"},"components":{"schemas":{"CallToolResult":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ToolContent"}},"isError":{"type":"boolean","default":false,"description":"Indicates if the tool execution failed."}}},"ToolContent":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","image","resource"]},"text":{"type":"string","description":"The text content (if type is text)."},"data":{"type":"string","description":"Base64 encoded data (if type is image)."},"mimeType":{"type":"string","description":"The MIME type of the content."}}}}}}
```

## The ToolContent object

```json
{"openapi":"3.0.3","info":{"title":"NLX Model Context Protocol (MCP) API","version":"1.0.0"},"components":{"schemas":{"ToolContent":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","image","resource"]},"text":{"type":"string","description":"The text content (if type is text)."},"data":{"type":"string","description":"Base64 encoded data (if type is image)."},"mimeType":{"type":"string","description":"The MIME type of the content."}}}}}}
```
