错误: MCP 传输自动检测将大写的 URL 方案视为 stdio

作者: yifanxiong272创建于 2026年9月1日更新于 2026年9月1日

** 描述错误**

`MCPClientManager.convert configs to langchain format'在为远程MCP服务器自动选择传输时执行对大小写敏感的 URL 前缀检查.

URI 方案名称对大小写不敏感 。 然而,使用大写或多写方案的远程URL不被识别.

例如,此配置 :

zz
{
"名":"相去相去","相去相去".
"连接 url": (中文(简体) ).
"HTTPS://mcp.example.com/ service" (韩语).
, (中文(简体) ).
"连接 头儿":{
"资治通鉴":"必克试通",".
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

转换为:

[Python] { "运输":"斯道",". {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


改为:

```2ZZ
{
"运输":"可流 http",
"url":"HTTPS://mcp.example.com/ service","H".
"头":{
"资治通鉴":"必克试通",".
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

同一行为影响到大写 " HTTP " 、 " WS " 和 " WSS " 计划。

远程配置因此被重新归类为本地 stdio配置,其URL和连接头被省略.

** 废除**

  1. 检查GPT研究人员 " 主要 " 从事:

页:1 6f998577d547b1e54ec662dac63583aa11e3b84b


2. 安装项目和测试依赖:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
Python - m pip 安装 -e ". [测试]"
  1. 创建“ tests/ test mcp client uppercase url schems.py” :
4zz
导入 pytest

从 gpt researcher.mcp.客户端导入 MCPClientManager


@pytest.mark.parametrize (英语).
("url","运输"),
[
(单位:千美元)
"HTTPS://mcp.example.com/ service","HTTPS://mcp.example.com/ service","中国历史人物辞典".
“可流性 http”,
, (中文(简体) ).
(单位:千美元)
"HTTP://mcp.example.com/ service","HTTP://mcp.example.com/ service","中国古代名人名言".
“可流性 http”,
, (中文(简体) ).
(单位:千美元)
"WSS://mcp.example.com/ service","WSS: p.
"网锁",
, (中文(简体) ).
(单位:千美元)
"WS://mcp.example.com/ service"(WS://mcp.
"网锁",
, (中文(简体) ).
[
(中文(简体) ).
def 测试 uppercase url scheme selects remote transport ()
尔尔.
运输,
:
页眉={
"资治通鉴":"必克试通",".
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

结果 = MCPClientManager ()
[
{
"名":"相去相去","相去相去".
"连接 url":url, (中文(简体) ).
"连接 头儿":头儿,.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
[ . ]
). convert configs to langchain format () (中文(简体) ).

assert=====================================================================================================================================================================================================================
"运输":运输,
"尔":"尔也.
"头":头,.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
  1. 运行:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? Python - m pytest
测试/ test mcp client uppercase url schemes.py \

  • q (英语).

5. 注意所有四个参数化案件都失败。

代表失败 :

页:1
预期:
{
"运输":"可流 http",
"url":"HTTPS://mcp.example.com/ service","H".
"头":{
"资治通鉴":"必克试通",".
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

收到 :
{
"运输":"斯道",".
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

测试摘要 :

页:1 4次失败


** 预期行为**

运输自动检测应当对URI计划名称进行不敏感处理.

下列计划应选择HTTP运输:

页:1
网页
HTTP 密码
网页
HTTPS (韩语)

下列方案应选择WebSocket运输: . . . . . . .

内容来源: assafelovic/gpt-researcher