# Compound

Central ingredient/active master used by herbal and dietary-supplement layers. IDs look like cmpd:citral. Seeded from herbal ETL and NIH DSLD label ingredients.

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

## 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": {
    "compound": {
      "url": "https://mcp.glc-rag.hu/mcp",
      "headers": {
        "Authorization": "Bearer mcp_YOUR_TOKEN"
      }
    }
  }
}
```

## Tools

### `compound_resolve`

Resolve ingredient/active name (EN/HU alias) to compound_id candidates.

**Input schema:**

```json
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
```

**Examples:**

```json
{
  "query": "citral"
}
```

```json
{
  "query": "magnesium"
}
```

```json
{
  "query": "rozmaringsav"
}
```

### `compound_lookup`

Lookup one compound by compound_id (aliases + plant/product counts).

**Input schema:**

```json
{
  "type": "object",
  "properties": {
    "compound_id": {
      "type": "string",
      "description": "e.g. cmpd:citral"
    }
  },
  "required": [
    "compound_id"
  ],
  "additionalProperties": false
}
```

**Examples:**

```json
{
  "compound_id": "cmpd:citral"
}
```

```json
{
  "compound_id": "cmpd:magnesium"
}
```

### `compound_search_plants`

List herbal plants (WFO) that contain a compound_id (or resolve from query first).

**Input schema:**

```json
{
  "type": "object",
  "properties": {
    "compound_id": {
      "type": "string"
    },
    "query": {
      "type": "string",
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  },
  "additionalProperties": false
}
```

**Examples:**

```json
{
  "compound_id": "cmpd:citral"
}
```

```json
{
  "query": "citral",
  "limit": 5
}
```

### `compound_status`

Compound master counts and import runs (free).

**Input schema:**

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

**Examples:**

```json
{}
```

## Usage notes

Flow: compound_resolve → compound_lookup / compound_search_plants. Supplement products link via the same compound_id. compound_status is free. Not medical advice.

## Errors / limits

Empty query → empty. Unknown id → found=false. DB unavailable → is_error.

## Agent discovery

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