错误: MCP 传输自动检测将大写的 URL 方案视为 stdio
作者: yifanxiong272创建于 2026年9月1日更新于 2026年9月1日
** 描述错误**
`MCPClientManager.convert configs to langchain format'在为远程MCP服务器自动选择传输时执行对大小写敏感的 URL 前缀检查.
URI 方案名称对大小写不敏感 。 然而,使用大写或多写方案的远程URL不被识别.
例如,此配置 :
{
"名":"相去相去","相去相去".
"连接 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和连接头被省略.
** 废除**
- 检查GPT研究人员 " 主要 " 从事:
页:1 6f998577d547b1e54ec662dac63583aa11e3b84b
2. 安装项目和测试依赖:
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
Python - m pip 安装 -e ". [测试]"- 创建“ tests/ test mcp client uppercase url schems.py” :
导入 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}你觉得呢?- 运行:
{\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