issue: Inadequate documentation for TOOL_SERVER_CONNECTIONS environment variable #103

Open
opened 2026-02-15 17:15:02 -05:00 by yindo · 4 comments
Owner

Originally created by @andyslucky on GitHub (Oct 2, 2025).

I disable persistent configuration since I keep configuration in source control. I recently found the TOOL_SERVER_CONNECTIONS environment variable documented and created a json string to setup my MCPO server

[{"name": "Activepieces", "url": "http://mcpo.service.consul:8000/Activepieces"}]

This follows the sample in the documentation; however after redeploying I see the following errors in the log file:

{'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'path'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}}
{'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'auth_type'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}}
{'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'key'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}}
{'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'config'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}}

None of the following keys are documented:

  • path
  • auth_type
  • key
  • config

The only place I have seen an example of these is in a closed ticket
https://github.com/open-webui/docs/issues/609

I believe the current documentation which is referenced in the closing comment (https://github.com/open-webui/docs/issues/609#issuecomment-3289379331), is not adequate, and is missing required information for users. This documentation should be updated to provide a clear schema / information about the structure of the tool server objects.

Originally created by @andyslucky on GitHub (Oct 2, 2025). I disable persistent configuration since I keep configuration in source control. I recently found the `TOOL_SERVER_CONNECTIONS` environment variable documented and created a json string to setup my MCPO server ```json [{"name": "Activepieces", "url": "http://mcpo.service.consul:8000/Activepieces"}] ``` This follows the sample in the documentation; however after redeploying I see the following errors in the log file: ``` {'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'path'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}} {'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'auth_type'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}} {'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'key'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}} {'type': 'missing', 'loc': ('response', 'TOOL_SERVER_CONNECTIONS', 0, 'config'), 'msg': 'Field required', 'input': {'name': 'Activepieces', 'url': 'http://mcpo.service.consul:8000/Activepieces'}} ``` None of the following keys are documented: - path - auth_type - key - config The only place I have seen an example of these is in a closed ticket https://github.com/open-webui/docs/issues/609 I believe the current documentation which is referenced in the closing comment (https://github.com/open-webui/docs/issues/609#issuecomment-3289379331), is not adequate, and is missing required information for users. This documentation should be updated to provide a clear schema / information about the structure of the tool server objects.
Author
Owner

@tjbck commented on GitHub (Oct 2, 2025):

It's not supposed to be used as an env var, but we might consider this use case. PR welcome as well!

@tjbck commented on GitHub (Oct 2, 2025): It's not supposed to be used as an env var, but we might consider this use case. PR welcome as well!
Author
Owner

@javydekoning commented on GitHub (Oct 7, 2025):

@tjbck why not if I may ask? It's already in the documentation. I think having global tools as configuration in code is an excellent use-case.

Here is a working example:
https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/TOOL_SERVER_CONNECTIONS.json
https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/kustomization.yaml#L13-L19

@javydekoning commented on GitHub (Oct 7, 2025): @tjbck why not if I may ask? It's already in the documentation. I think having global tools as configuration in code is an excellent use-case. **Here is a working example:** https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/TOOL_SERVER_CONNECTIONS.json https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/kustomization.yaml#L13-L19
Author
Owner

@andyslucky commented on GitHub (Oct 11, 2025):

@tjbck why not if I may ask? It's already in the documentation. I think having global tools as configuration in code is an excellent use-case.

Here is a working example: https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/TOOL_SERVER_CONNECTIONS.json https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/kustomization.yaml#L13-L19

I second this. That is exactly how I am using this as well.

@andyslucky commented on GitHub (Oct 11, 2025): > [@tjbck](https://github.com/tjbck) why not if I may ask? It's already in the documentation. I think having global tools as configuration in code is an excellent use-case. > > **Here is a working example:** https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/TOOL_SERVER_CONNECTIONS.json https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/kustomization.yaml#L13-L19 I second this. That is exactly how I am using this as well.
Author
Owner

@jobunk commented on GitHub (Oct 24, 2025):

@tjbck why not if I may ask? It's already in the documentation. I think having global tools as configuration in code is an excellent use-case.

Here is a working example: https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/TOOL_SERVER_CONNECTIONS.json https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/kustomization.yaml#L13-L19

Also seconding this.

For my personal use case I have an automated discovery service that looks for deployments inside my cluster which are labeled as an mcp server. Having a mounted json file that can be overwritten by a sidecar container and is read regularly would be even better than the env var. Or being able to define an HTTP endpoint in the env var instead of a json file would also be an option I guess. I'm not sure if this is too niche of a use case though... If people think it makes sense I could work on a PR.

Edit:

It's not supposed to be used as an env var, but we might consider this use case. PR welcome as well!

I created a small PR implementing the concept of a updatable json file https://github.com/open-webui/open-webui/pull/18588

@jobunk commented on GitHub (Oct 24, 2025): > [@tjbck](https://github.com/tjbck) why not if I may ask? It's already in the documentation. I think having global tools as configuration in code is an excellent use-case. > > **Here is a working example:** https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/TOOL_SERVER_CONNECTIONS.json https://github.com/javydekoning/homelab/blob/main/k8s/ai-platform/openwebui/kustomization.yaml#L13-L19 Also seconding this. For my personal use case I have an automated discovery service that looks for deployments inside my cluster which are labeled as an mcp server. Having a mounted json file that can be overwritten by a sidecar container and is read regularly would be even better than the env var. Or being able to define an HTTP endpoint in the env var instead of a json file would also be an option I guess. I'm not sure if this is too niche of a use case though... If people think it makes sense I could work on a PR. Edit: > It's not supposed to be used as an env var, but we might consider this use case. PR welcome as well! I created a small PR implementing the concept of a updatable json file https://github.com/open-webui/open-webui/pull/18588
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/docs#103