# Hello — canonical payload contracts

Smoke-test MCP service (hello world).

**Service id:** `hello`  
**Docs:** [https://mcp.glc-rag.hu/guide/hello](https://mcp.glc-rag.hu/guide/hello)  
**Markdown docs:** [https://mcp.glc-rag.hu/guide/hello.md](https://mcp.glc-rag.hu/guide/hello.md)  
**MCP resource:** `docs://hello/payload`

POST `https://mcp.glc-rag.hu/mcp`. Values below are **type slots** from the live input schema (e.g. `<string, required>`), not example data. Fill them from the user task.

RPC result wrapper: `result.structuredContent` is the object in **Output schema**. `result.isError` mirrors `structuredContent.is_error`.

## `hello_ping`

Return a greeting message and server timestamp.

**Required arguments:** _(none)_

**Request contract**

```json
{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "hello_ping",
    "arguments": {
      "name": "<string, optional>"
    }
  }
}
```

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Optional name to greet (default: world)"
    }
  },
  "additionalProperties": false
}
```

**Output schema** (`structuredContent` on success)

```json
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    },
    "ts": {
      "type": "string",
      "description": "ISO-8601 UTC timestamp"
    }
  },
  "additionalProperties": true,
  "required": [
    "message",
    "ts"
  ]
}
```

**Error object**

```json
{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}
```
