> For the complete documentation index, see [llms.txt](https://docs.tuannvm.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tuannvm.com/slack-mcp-client/helm-chart/slack-mcp-client.md).

# Slack MCP Client Helm Chart

This Helm chart deploys the [slack-mcp-client](https://github.com/tuannvm/slack-mcp-client) to Kubernetes.

## Prerequisites

* Kubernetes 1.16+
* Helm 3.0+
* Slack Bot and App tokens

## Installing the Chart

To install the chart with the release name `my-slack-bot`:

```bash
# Create a values file with your configuration
cat > values.yaml << EOL
secret:
  create: true

env:
  SLACK_BOT_TOKEN: "xoxb-your-bot-token"
  SLACK_APP_TOKEN: "xapp-your-app-token"
  OPENAI_API_KEY: "sk-your-openai-key"
  OPENAI_MODEL: "gpt-4o"
  MCP_MODE: "sse"
  LOG_LEVEL: "info"

# Optional: Configure MCP servers
configMap:
  create: true
EOL

# Install the chart
helm install my-slack-bot ./helm-chart/slack-mcp-client -f values.yaml
```

## Configuration

The following table lists the configurable parameters for the slack-mcp-client chart.

| Parameter          | Description                                         | Default                            |
| ------------------ | --------------------------------------------------- | ---------------------------------- |
| `replicaCount`     | Number of pod replicas                              | `1`                                |
| `image.repository` | Image repository                                    | `ghcr.io/tuannvm/slack-mcp-client` |
| `image.pullPolicy` | Image pull policy                                   | `IfNotPresent`                     |
| `image.tag`        | Image tag                                           | `latest`                           |
| `env.OPENAI_MODEL` | OpenAI model to use                                 | `gpt-4o`                           |
| `env.MCP_MODE`     | MCP transport mode                                  | `sse`                              |
| `env.LOG_LEVEL`    | Logging level                                       | `info`                             |
| `secret.create`    | Whether to create a secret for sensitive data       | `false`                            |
| `secret.name`      | Name of existing secret to use                      | `""`                               |
| `configMap.create` | Whether to create a configmap for MCP server config | `false`                            |
| `configMap.name`   | Name of existing configmap to use                   | `""`                               |
| `configMap.data`   | Additional data to add to the configmap             | `{}`                               |

## Using External Secrets

For production deployments, it's recommended to manage sensitive data using a solution like [External Secrets Operator](https://external-secrets.io/):

```yaml
secret:
  create: false
  name: "slack-mcp-client-secrets"  # Name of your externally managed secret

# Then ensure your secret contains:
# - slack-bot-token
# - slack-app-token
# - openai-api-key
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tuannvm.com/slack-mcp-client/helm-chart/slack-mcp-client.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
