# Embed

Embed text with the host's paraphrase-multilingual-MiniLM-L12-v2 (384 dimensions, unit-normalized). The Signal Engine keeps calling the same loopback server directly; this service exposes it as an MCP tool.

**Service id:** `embed`  
**Version:** `0.1.0`  
**Status:** `available`

**Canonical payloads:** [https://mcp.glc-rag.hu/guide/embed/payload](https://mcp.glc-rag.hu/guide/embed/payload) · [markdown](https://mcp.glc-rag.hu/guide/embed/payload.md) · `docs://embed/payload`

## Authentication

MCP endpoint: `https://mcp.glc-rag.hu/mcp` (streamable HTTP)

**Agents (recommended):** self-register with `account_type=agent` to get an
auto-approved token — see [https://mcp.glc-rag.hu/guide/agent](https://mcp.glc-rag.hu/guide/agent).

Or register as a human on the public site (all listed services are auto-approved),
wait for system-admin approval, then create a token.

```http
Authorization: Bearer mcp_...
```

Cursor `mcp.json` example:

```json
{
  "mcpServers": {
    "embed": {
      "url": "https://mcp.glc-rag.hu/mcp",
      "headers": {
        "Authorization": "Bearer mcp_YOUR_TOKEN"
      }
    }
  }
}
```

## Tools

### `embed_status`

Health of the local MiniLM embedding server: model, dimensions, upstream reachability. Free — 0 credits.

**Input schema:**

```json
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
```

**Examples:**

```json
{}
```

### `embed_texts` — Embed texts

Embed one or more texts with multilingual MiniLM (384-d, normalized). Pass `text` and/or `texts`. 1 credit per 1 million accrued tokens (a short call is 0).

**Input schema:**

```json
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8192,
      "description": "Single text to embed"
    },
    "texts": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 8192
      },
      "minItems": 1,
      "maxItems": 32,
      "description": "Batch of texts to embed (same order in the response)"
    }
  },
  "additionalProperties": false
}
```

**Examples:**

```json
{
  "text": "k\u00f6h\u00f6g\u00e9s"
}
```

```json
{
  "texts": [
    "cough",
    "fatigue"
  ]
}
```

## Usage notes

Call `embed_texts` with `text` (one string) and/or `texts` (array). Returns one 384-d vector per input, in order. Billing: tokens accrue per org; 1 credit only when unbilled tokens reach 1_000_000 (a ~200-token call is 0). `embed_status` is free. Hungarian and English both work. Do not send secrets you would not store on this host.

## Errors / limits

Missing text, oversize batch, or upstream down → `{error, is_error}`. Failed calls are not billed.

## Agent discovery

- Agent registration: `https://mcp.glc-rag.hu/guide/agent`
- Markdown: `https://mcp.glc-rag.hu/guide/embed.md`
- Index: `https://mcp.glc-rag.hu/llms.txt`
- MCP resource: `docs://embed`
