|
144 | 144 |
|
145 | 145 | Set the environment variable `AIRBYTE_CLOUD_MCP_READONLY_MODE=1` to enable read-only mode. |
146 | 146 |
|
| 147 | +## Troubleshooting |
| 148 | +
|
| 149 | +### Troubleshooting Local Connector Installation Issues |
| 150 | +
|
| 151 | +The MCP server uses PyAirbyte under the hood to manage Airbyte connectors. PyAirbyte |
| 152 | +supports both Python-native connectors (installed via pip/uv) and Docker-based connectors |
| 153 | +(run in containers). |
| 154 | +
|
| 155 | +To ensure docker connectors run correctly, please make sure `which docker` returns a valid |
| 156 | +path and that Docker Desktop (or an alternative container runtime) is running. |
| 157 | +
|
| 158 | +To ensure Python connectors run correctly, please make sure the Python version used to run the |
| 159 | +MCP server is compatible with the connector requirements. See the MCP server conifiguration |
| 160 | +section above for details on how to specify the Python version used by the MCP server. |
| 161 | +
|
| 162 | +### Using Abolute Paths |
| 163 | +
|
| 164 | +**Always use absolute paths in your environment files.** Relative paths, tilde (`~`), or |
| 165 | +environment variables like `$HOME` will not work correctly, due to the way MCP servers |
| 166 | +are loaded and executed. |
| 167 | +
|
| 168 | +The `AIRBYTE_PROJECT_DIR` environment variable is critical - it specifies where PyAirbyte |
| 169 | +stores connector artifacts, cache files, and temporary data. Ensure this directory: |
| 170 | +
|
| 171 | +- Uses an absolute path. (For example: `/Users/username/airbyte-projects`.) |
| 172 | +- Exists on the filesystem. (Use `mkdir -p /path/to/dir` to create it if needed.) |
| 173 | +- Is writable by the user account running the MCP server. |
| 174 | +
|
| 175 | +Note: |
| 176 | +
|
| 177 | +- In rare cases, your agent may not be able to find `uv` or `uvx` if they are not in the system |
| 178 | + `PATH` or if the agent has a stale `PATH` value. In these cases, you can use `which uvx` from |
| 179 | + your own terminal to discover the full path to the `uvx` binary, and then provide the full path |
| 180 | + in your MCP configuration file. |
| 181 | +
|
| 182 | +### Securing Your Secrets |
| 183 | +
|
| 184 | +The MCP server implements a security model that protects your credentials: |
| 185 | +
|
| 186 | +- **LLM sees only environment variable names** - The AI assistant can see which variables |
| 187 | + are available (e.g., `POSTGRES_PASSWORD`) but never their actual values. |
| 188 | +- **MCP server reads actual values** - Only the MCP server process accesses the secret |
| 189 | + values when executing operations. |
| 190 | +- **Credentials never exposed to LLM** - Your API keys, passwords, and other secrets remain secure. |
| 191 | +
|
| 192 | +This design allows AI assistants to help configure connectors without compromising security. |
| 193 | +
|
| 194 | +Note: While the MCP server takes steps to secure your credentials, you are responsible for |
| 195 | +ensuring the agent is not given access to your secrets by other means. For example, Claude Code |
| 196 | +may have *full* local disk access when run in certain modes. Consult your agent's documentation |
| 197 | +for details on securing local files. |
| 198 | +
|
147 | 199 | ## Contributing to the Airbyte MCP Server |
148 | 200 |
|
149 | 201 | - [PyAirbyte Contributing Guide](https://github.com/airbytehq/PyAirbyte/blob/main/docs/CONTRIBUTING.md) |
150 | 202 |
|
151 | 203 | ### Additional resources |
152 | 204 |
|
153 | | -- [Model Context Protocol Documentation](https://modelcontextprotocol.io/) |
154 | | -- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) |
| 205 | +- [Airbyte AI Agents Documentation Home](https://docs.airbyte.com/ai-agents/) |
| 206 | +- [MCP Documentation Home](https://modelcontextprotocol.io/) |
155 | 207 |
|
156 | 208 | For issues and questions: |
157 | 209 | - [PyAirbyte GitHub Issues](https://github.com/airbytehq/pyairbyte/issues) |
|
0 commit comments