> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fhiron.cl/llms.txt
> Use this file to discover all available pages before exploring further.

# Uso seguro del conector MCP

> Buenas prácticas al desplegar @fhiron/mcp-connector en tu entorno de desarrollo o CI.

El conector MCP de Fhiron corre directamente en la máquina del usuario o del agente IA. Esta guía consolida las prácticas recomendadas para minimizar la exposición de tu API key y delimitar lo que el conector puede leer de tu sistema.

## Almacenamiento de la API key

<Tabs>
  <Tab title="Recomendado · variable de entorno">
    ```json theme={null}
    {
      "mcpServers": {
        "fhiron": {
          "command": "npx",
          "args": ["-y", "@fhiron/mcp-connector"],
          "env": {
            "FHIRON_API_KEY": "tu_api_key"
          }
        }
      }
    }
    ```

    La variable de entorno es privada al proceso del conector y no aparece en `ps`, `htop` ni `/proc/<pid>/cmdline`.
  </Tab>

  <Tab title="Desaconsejado · argumento de línea">
    ```json theme={null}
    {
      "mcpServers": {
        "fhiron": {
          "command": "npx",
          "args": ["-y", "@fhiron/mcp-connector", "--key", "tu_api_key"]
        }
      }
    }
    ```

    Cualquier proceso del mismo usuario puede leer la key con `ps -ef`. Solo conviene si tu IDE no soporta el campo `env`.
  </Tab>
</Tabs>

El wizard `npx -y @fhiron/mcp-connector init` configura tu IDE con la opción recomendada por defecto. El archivo de configuración se escribe con permisos `0600` (solo el propietario lee y escribe).

## Rotación de keys

* Las keys se rotan desde el panel: **Dashboard → API keys → Rotar**.
* Al rotar, la key anterior queda revocada de inmediato.
* Las keys que llevan más de 90 días sin uso se desactivan automáticamente.

## Acceso al filesystem

La tool `fhiron_validate_file` solo lee archivos:

* Dentro del directorio raíz permitido (variable `FHIRON_MCP_ALLOWED_ROOT`; por defecto el directorio donde corre el conector).
* Con extensión `.json` o `.fhir.json`.
* Que no sean enlaces simbólicos.
* De hasta 5 MB de tamaño.

Para extender el alcance a otro directorio:

```bash theme={null}
export FHIRON_MCP_ALLOWED_ROOT=/ruta/a/tu/proyecto/fhir
npx -y @fhiron/mcp-connector
```

Para restringirlo a un subdirectorio:

```bash theme={null}
export FHIRON_MCP_ALLOWED_ROOT=/ruta/segura/solo-lectura
```

## Escaneo de endpoints

La tool `fhiron_score_endpoint` solo acepta endpoints FHIR® públicos. Direcciones internas (loopback, redes privadas, metadata cloud) se rechazan tanto por verificación de URL como por resolución DNS. Esto cubre patrones como `localtest.me` o dominios que apuntan deliberadamente a IPs internas.

## Verificación de la cadena de suministro

Antes de confiar en un paquete que llega a tu CI, verifica la firma:

```bash theme={null}
npm audit signatures @fhiron/mcp-connector
```

Salida esperada:

```
audited 1 package in Xs
1 package has a verified registry signature
1 package has a verified attestation
```

## Trazabilidad

El conector emite a `stderr` información de telemetría del proceso (versión, idioma, estado de la key como `present` o `absent`). Patrones que parecen API keys son redactados automáticamente antes de salir. La salida `stdout` está reservada al protocolo MCP: el conector nunca emite logs por ahí.

## Reportar un problema

`security@fhiron.cl`. Política de divulgación responsable disponible en [fhiron.cl/seguridad](https://fhiron.cl/seguridad).
