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

# Configuration reference

The `golf.json` file is the main configuration file for your Golf project. Place this file in your project root directory to configure your MCP server.

<ResponseField name="name" type="string" required>
  The name of your MCP server instance.

  ```json theme={null}
  {
    "name": "MyProject"
  }
  ```
</ResponseField>

<ResponseField name="description" type="string">
  A brief description of your Golf project.

  ```json theme={null}
  {
    "description": "A GolfMCP project"
  }
  ```
</ResponseField>

<ResponseField name="host" type="string" default="localhost">
  The network interface the server will bind to.

  ```json theme={null}
  {
    "host": "localhost"
  }
  ```
</ResponseField>

<ResponseField name="port" type="integer" default="3000">
  The port number the server will listen on.

  ```json theme={null}
  {
    "port": 3000
  }
  ```
</ResponseField>

<ResponseField name="transport" type="string" default="sse">
  The transport protocol for client-server communication.

  **Options:**

  * `"sse"` - Server-Sent Events
  * `"streamable-http"` - HTTP with streaming support
  * `"stdio"` - Standard input/output

  ```json theme={null}
  {
    "transport": "sse"
  }
  ```
</ResponseField>

<ResponseField name="opentelemetry_enabled" type="boolean" default="false">
  Enable OpenTelemetry distributed tracing for your MCP server. For detailed configuration and features, see [Telemetry](/golf-mcp-framework/telemetry-monitoring).

  ```json theme={null}
  {
    "opentelemetry_enabled": true
  }
  ```
</ResponseField>

<ResponseField name="opentelemetry_default_exporter" type="string" default="otlp_http">
  The default exporter to use for OpenTelemetry traces when enabled.

  **Options:**

  * `"otlp_http"` - OTLP HTTP exporter (for Jaeger, Grafana Tempo, etc.)
  * `"console"` - Console exporter (for debugging)

  ```json theme={null}
  {
    "opentelemetry_default_exporter": "otlp_http"
  }
  ```

  <Note>
    When using `otlp_http`, you must set the `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable. See the environment variables section below.
  </Note>
</ResponseField>

## Health check configuration (deprecated)

<Warning>
  The following health check configuration options are **deprecated** as of v0.2.11. Use custom `health.py` and `readiness.py` files instead for modern, flexible health checks with Kubernetes compatibility. See [Telemetry & Monitoring](/golf-mcp-framework/telemetry-monitoring) for the new approach.
</Warning>

<ResponseField name="health_check_enabled" type="boolean" default="false">
  **Deprecated**: Enable basic health check endpoint. Use custom `health.py` file instead.

  ```json theme={null}
  {
    "health_check_enabled": true
  }
  ```
</ResponseField>

<ResponseField name="health_check_path" type="string" default="/health">
  **Deprecated**: Health check endpoint path. Custom `health.py` files automatically create `/health` endpoint.

  ```json theme={null}
  {
    "health_check_path": "/health"
  }
  ```
</ResponseField>

<ResponseField name="health_check_response" type="string" default="OK">
  **Deprecated**: Static health check response text. Use custom `health.py` for dynamic responses with proper status codes.

  ```json theme={null}
  {
    "health_check_response": "Service is healthy"
  }
  ```
</ResponseField>
