When configuring mcp in the tool, the save button becomes gray and unusable. #21194

Closed
opened 2026-02-21 20:11:22 -05:00 by yindo · 2 comments
Owner

Originally created by @fengwk on GitHub (Dec 21, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.11.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

When configuring mcp in the tool, the save button becomes gray and unusable.

url: http://vps-app-kk-circle:8080/mcp/comfyui

Image

✔️ Expected Behavior

Successfully saved mcp tool configuration

Actual Behavior

When configuring mcp in the tool, the save button becomes gray and unusable.

Originally created by @fengwk on GitHub (Dec 21, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.11.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce When configuring mcp in the tool, the save button becomes gray and unusable. url: `http://vps-app-kk-circle:8080/mcp/comfyui` <img width="1023" height="1234" alt="Image" src="https://github.com/user-attachments/assets/07b500d0-dc3e-4b02-8a20-d3ee165ce020" /> ### ✔️ Expected Behavior Successfully saved mcp tool configuration ### ❌ Actual Behavior When configuring mcp in the tool, the save button becomes gray and unusable.
yindo added the 🐞 bug label 2026-02-21 20:11:22 -05:00
yindo closed this issue 2026-02-21 20:11:22 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Dec 21, 2025):

The save button in the MCP configuration modal is disabled if any required fields are empty: name, server URL, or server identifier. The server identifier must be lowercase letters, numbers, underscores, or hyphens (max 24 chars), and the URL must be a valid HTTP/HTTPS address. If the icon is still fetching, the button also stays disabled. Double-check that all these fields are filled and valid.

For Docker deployments, using localhost or 127.0.0.1 in the MCP service endpoint will not work—these refer to the container itself, not the host. Use your machine's IP address or a domain name that resolves correctly. If you still can't save, check your DNS, Docker network, and any reverse proxy configuration to ensure the MCP service is reachable from inside the Dify container. The issue is usually UI validation or network-related, not a backend limitation. See discussion

If you see an "invalid server url" or "invalid server identifier" error, fix the field and try again. In v1.11.1, only empty required fields or icon fetching will disable the save button. See code reference

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Chat with Dosu Open in Cursor Join Discord Share on X

@dosubot[bot] commented on GitHub (Dec 21, 2025): <!-- Answer --> The save button in the MCP configuration modal is disabled if any required fields are empty: name, server URL, or server identifier. The server identifier must be lowercase letters, numbers, underscores, or hyphens (max 24 chars), and the URL must be a valid HTTP/HTTPS address. If the icon is still fetching, the button also stays disabled. Double-check that all these fields are filled and valid. For Docker deployments, using `localhost` or `127.0.0.1` in the MCP service endpoint will not work—these refer to the container itself, not the host. Use your machine's IP address or a domain name that resolves correctly. If you still can't save, check your DNS, Docker network, and any reverse proxy configuration to ensure the MCP service is reachable from inside the Dify container. The issue is usually UI validation or network-related, not a backend limitation. [See discussion](https://github.com/langgenius/dify/discussions/24980) If you see an "invalid server url" or "invalid server identifier" error, fix the field and try again. In v1.11.1, only empty required fields or icon fetching will disable the save button. [See code reference](https://github.com/langgenius/dify/blob/6cf71366ba44c1ff538acb760e3fc5853ee31ac8/web/app/components/tools/mcp/modal.tsx#L72-L424) <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=other)</sup> [![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Open in Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=The%20save%20button%20in%20the%20MCP%20configuration%20modal%20is%20disabled%20if%20any%20required%20fields%20are%20empty%3A%20name%2C%20server%20URL%2C%20or%20server%20identifier.%20The%20server%20identifier%20must%20be%20lowercase%20letters%2C%20numbers%2C%20underscores%2C%20or%20hyphens%20%28max%2024%20chars%29%2C%20and%20the%20URL%20must%20be%20a%20valid%20HTTP/HTTPS%20address.%20If%20the%20icon%20is%20still%20fetching%2C%20the%20button%20also%20stays%20disabled.%20Double-check%20that%20all%20these%20fields%20are%20filled%20and%20valid.%0A%0AFor%20Docker%20deployments%2C%20using%20%60localhost%60%20or%20%60127.0.0.1%60%20in%20the%20MCP%20service%20endpoint%20will%20not%20work%E2%80%94these%20refer%20to%20the%20container%20itself%2C%20not%20the%20host.%20Use%20your%20machine%27s%20IP%20address%20or%20a%20domain%20name%20that%20resolves%20correctly.%20If%20you%20still%20can%27t%20save%2C%20check%20your%20DNS%2C%20Docker%20network%2C%20and%20any%20reverse%20proxy%20configuration%20to%20ensure%20the%20MCP%20service%20is%20reachable%20from%20inside%20the%20Dify%20container.%20The%20issue%20is%20usually%20UI%20validation%20or%20network-related%2C%20not%20a%20backend%20limitation.%20%5BSee%20discussion%5D%28https%3A//github.com/langgenius/dify/discussions/24980%29%0A%0AIf%20you%20see%20an%20%22invalid%20server%20url%22%20or%20%22invalid%20server%20identifier%22%20error%2C%20fix%20the%20field%20and%20try%20again.%20In%20v1.11.1%2C%20only%20empty%20required%20fields%20or%20icon%20fetching%20will%20disable%20the%20save%20button.%20%5BSee%20code%20reference%5D%28https%3A//github.com/langgenius/dify/blob/6cf71366ba44c1ff538acb760e3fc5853ee31ac8/web/app/components/tools/mcp/modal.tsx%23L72-L424%29)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/29968)
Author
Owner

@fengwk commented on GitHub (Dec 21, 2025):

The save button in the MCP configuration modal is disabled if any required fields are empty: name, server URL, or server identifier. The server identifier must be lowercase letters, numbers, underscores, or hyphens (max 24 chars), and the URL must be a valid HTTP/HTTPS address. If the icon is still fetching, the button also stays disabled. Double-check that all these fields are filled and valid.

For Docker deployments, using localhost or 127.0.0.1 in the MCP service endpoint will not work—these refer to the container itself, not the host. Use your machine's IP address or a domain name that resolves correctly. If you still can't save, check your DNS, Docker network, and any reverse proxy configuration to ensure the MCP service is reachable from inside the Dify container. The issue is usually UI validation or network-related, not a backend limitation. See discussion

If you see an "invalid server url" or "invalid server identifier" error, fix the field and try again. In v1.11.1, only empty required fields or icon fetching will disable the save button. See code reference

To reply, just mention @dosu.

How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Chat with Dosu Open in Cursor Join Discord Share on X

I have found the cause. Before allowing saving, it first requests the target website's icon from Google. Only after all requests fail can it proceed to save. Since I cannot access Google locally, it has to wait a long time to get a result. I suggest not coupling the save operation with the request response.

2025-12-21 16:14:11.778 WARNING [Dummy-13] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out
2025-12-21 16:15:03.783 WARNING [Dummy-13] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out
2025-12-21 16:16:01.841 WARNING [Dummy-14] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 1: timed out
2025-12-21 16:16:05.855 WARNING [Dummy-15] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 1: timed out
2025-12-21 16:16:52.346 WARNING [Dummy-14] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 2: timed out
2025-12-21 16:16:56.359 WARNING [Dummy-15] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 2: timed out
2025-12-21 16:17:43.351 WARNING [Dummy-14] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out
2025-12-21 16:17:47.365 WARNING [Dummy-15] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out
2025-12-21 16:18:07.214 WARNING [Dummy-16] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 1: timed out
2025-12-21 16:18:35.355 WARNING [Dummy-14] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out
2025-12-21 16:18:39.370 WARNING [Dummy-15] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out
2025-12-21 16:18:57.718 WARNING [Dummy-16] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 2: timed out
2025-12-21 16:19:48.721 WARNING [Dummy-16] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out
2025-12-21 16:20:40.725 WARNING [Dummy-16] [ssrf_proxy.py:120]  - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out
@fengwk commented on GitHub (Dec 21, 2025): > The save button in the MCP configuration modal is disabled if any required fields are empty: name, server URL, or server identifier. The server identifier must be lowercase letters, numbers, underscores, or hyphens (max 24 chars), and the URL must be a valid HTTP/HTTPS address. If the icon is still fetching, the button also stays disabled. Double-check that all these fields are filled and valid. > > For Docker deployments, using `localhost` or `127.0.0.1` in the MCP service endpoint will not work—these refer to the container itself, not the host. Use your machine's IP address or a domain name that resolves correctly. If you still can't save, check your DNS, Docker network, and any reverse proxy configuration to ensure the MCP service is reachable from inside the Dify container. The issue is usually UI validation or network-related, not a backend limitation. [See discussion](https://github.com/langgenius/dify/discussions/24980) > > If you see an "invalid server url" or "invalid server identifier" error, fix the field and try again. In v1.11.1, only empty required fields or icon fetching will disable the save button. [See code reference](https://github.com/langgenius/dify/blob/6cf71366ba44c1ff538acb760e3fc5853ee31ac8/web/app/components/tools/mcp/modal.tsx#L72-L424) > > _To reply, just mention [@dosu](https://go.dosu.dev/dosubot)._ > > How did I do? [Good](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/2f051dd4-573e-4d33-8472-3fed8c019970?feedback_type=other) > > [![Chat with Dosu](https://camo.githubusercontent.com/7c571478962a6b8a5d47cac74b6824c75e4f6731bba52377e6007f9150462923/68747470733a2f2f646f73752e6465762f646f73752d636861742d62616467652e737667)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github) [![Open in Cursor](https://camo.githubusercontent.com/bdf7dbded65ee585887f47e5fd6fa099ea0933088b4b03d02e83b4def50154d4/68747470733a2f2f646f73752e6465762f646f73752d696e2d637572736f722e737667)](https://cursor.com/link/prompt?text=The%20save%20button%20in%20the%20MCP%20configuration%20modal%20is%20disabled%20if%20any%20required%20fields%20are%20empty%3A%20name%2C%20server%20URL%2C%20or%20server%20identifier.%20The%20server%20identifier%20must%20be%20lowercase%20letters%2C%20numbers%2C%20underscores%2C%20or%20hyphens%20%28max%2024%20chars%29%2C%20and%20the%20URL%20must%20be%20a%20valid%20HTTP/HTTPS%20address.%20If%20the%20icon%20is%20still%20fetching%2C%20the%20button%20also%20stays%20disabled.%20Double-check%20that%20all%20these%20fields%20are%20filled%20and%20valid.%0A%0AFor%20Docker%20deployments%2C%20using%20%60localhost%60%20or%20%60127.0.0.1%60%20in%20the%20MCP%20service%20endpoint%20will%20not%20work%E2%80%94these%20refer%20to%20the%20container%20itself%2C%20not%20the%20host.%20Use%20your%20machine%27s%20IP%20address%20or%20a%20domain%20name%20that%20resolves%20correctly.%20If%20you%20still%20can%27t%20save%2C%20check%20your%20DNS%2C%20Docker%20network%2C%20and%20any%20reverse%20proxy%20configuration%20to%20ensure%20the%20MCP%20service%20is%20reachable%20from%20inside%20the%20Dify%20container.%20The%20issue%20is%20usually%20UI%20validation%20or%20network-related%2C%20not%20a%20backend%20limitation.%20%5BSee%20discussion%5D%28https%3A//github.com/langgenius/dify/discussions/24980%29%0A%0AIf%20you%20see%20an%20%22invalid%20server%20url%22%20or%20%22invalid%20server%20identifier%22%20error%2C%20fix%20the%20field%20and%20try%20again.%20In%20v1.11.1%2C%20only%20empty%20required%20fields%20or%20icon%20fetching%20will%20disable%20the%20save%20button.%20%5BSee%20code%20reference%5D%28https%3A//github.com/langgenius/dify/blob/6cf71366ba44c1ff538acb760e3fc5853ee31ac8/web/app/components/tools/mcp/modal.tsx%23L72-L424%29) [![Join Discord](https://camo.githubusercontent.com/7d2066700925db1e370d956834f9ea0e5bc92cecbe84963fbd2a363e45091b4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6a6f696e2d3538363546323f6c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465266c6162656c3d)](https://go.dosu.dev/discord-bot) [![Share on X](https://camo.githubusercontent.com/a8bd7f3fcf3f5e3bd124eee9ae50ae2ac17b40971726665ac2121d48f9aee155/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d73686172652d626c61636b)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/29968) I have found the cause. Before allowing saving, it first requests the target website's icon from Google. Only after all requests fail can it proceed to save. Since I cannot access Google locally, it has to wait a long time to get a result. I suggest not coupling the save operation with the request response. ``` 2025-12-21 16:14:11.778 WARNING [Dummy-13] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out 2025-12-21 16:15:03.783 WARNING [Dummy-13] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out 2025-12-21 16:16:01.841 WARNING [Dummy-14] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 1: timed out 2025-12-21 16:16:05.855 WARNING [Dummy-15] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 1: timed out 2025-12-21 16:16:52.346 WARNING [Dummy-14] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 2: timed out 2025-12-21 16:16:56.359 WARNING [Dummy-15] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 2: timed out 2025-12-21 16:17:43.351 WARNING [Dummy-14] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out 2025-12-21 16:17:47.365 WARNING [Dummy-15] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out 2025-12-21 16:18:07.214 WARNING [Dummy-16] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 1: timed out 2025-12-21 16:18:35.355 WARNING [Dummy-14] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out 2025-12-21 16:18:39.370 WARNING [Dummy-15] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out 2025-12-21 16:18:57.718 WARNING [Dummy-16] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 2: timed out 2025-12-21 16:19:48.721 WARNING [Dummy-16] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 3: timed out 2025-12-21 16:20:40.725 WARNING [Dummy-16] [ssrf_proxy.py:120] - Request to URL https://www.google.com/s2/favicons?domain=null&sz=128 failed on attempt 4: timed out ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#21194