Skip to content

Local HTTP MCP Server without OAuth: Failed to initialise ToolManager on Command Mode #195

@Prog-up

Description

@Prog-up

I've made a local HTTP MCP Server, but I can't access it with mcp-cli cmd.

As the issue #178 state, server without OAuth support should works but it is still searching for .well-known/oauth-authorization-server endpoint.

Here is my server_config.json:

{
  "mcpServers": {
    "MyMcpServer": {
      "type": "streamable-http",
      "url":"http://localhost:5000"
    }
  }
}

And the error from mcp-cli:

mcp-cli cmd --model mistral --prompt "What color is the sky" --raw --config-file .\server_config.json
✓ MCP CLI ready
ℹ   Available commands: chat, cmd, models, ping, prompts, provider, providers, resources, servers, theme, token, tokens, tools
  Use --help to see all options
⠦ 🔐 Connecting to MyMcpServer...ERROR    MCP OAuth authentication failed for MyMcpServer: Client error '404 Not Found' for url 'http://localhost:5000/.well-known/oauth-authorization-server'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
ERROR    OAuth failed for MyMcpServer: Client error '404 Not Found' for url 'http://localhost:5000/.well-known/oauth-authorization-server'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
ERROR    Error initializing tool manager: Client error '404 Not Found' for url 'http://localhost:5000/.well-known/oauth-authorization-server'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
╭───────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────╮
│ C:\Users\EnzoJuhel\AppData\Roaming\uv\tools\mcp-cli\Lib\site-packages\mcp_cli\main.py:1605 in cmd_command            │
│                                                                                                                      │
│   1602 │   │   │   max_turns=params.get("max_turns", 30),                                                            │
│   1603 │   │   )                                                                                                     │
│   1604 │                                                                                                             │
│ ❱ 1605 │   run_command_sync(                                                                                         │
│   1606 │   │   _cmd_wrapper,                                                                                         │
│   1607 │   │   config_file,                                                                                          │
│   1608 │   │   servers,                                                                                              │
│                                                                                                                      │
│ ╭──────────────────────────────────────────────── locals ─────────────────────────────────────────────────╮          │
│ │                  _ = []                                                                                 │          │
│ │           api_base = None                                                                               │          │
│ │            api_key = None                                                                               │          │
│ │        config_file = '.\\server_config.json'                                                            │          │
│ │ disable_filesystem = False                                                                              │          │
│ │    effective_model = 'mistral'                                                                          │          │
│ │ effective_provider = 'ollama'                                                                           │          │
│ │       init_timeout = 120.0                                                                              │          │
│ │         input_file = None                                                                               │          │
│ │          log_level = 'WARNING'                                                                          │          │
│ │          max_turns = 30                                                                                 │          │
│ │              model = 'mistral'                                                                          │          │
│ │      model_manager = ModelManager(provider='ollama', model='gpt-oss', discovery=True, cached_clients=0) │          │
│ │        output_file = None                                                                               │          │
│ │             prompt = 'What color is the sky'                                                            │          │
│ │           provider = None                                                                               │          │
│ │              quiet = False                                                                              │          │
│ │                raw = True                                                                               │          │
│ │             server = None                                                                               │          │
│ │       server_names = {0: 'MyMcpServer'}                                                                 │          │
│ │            servers = ['MyMcpServer']                                                                    │          │
│ │        single_turn = False                                                                              │          │
│ │      system_prompt = None                                                                               │          │
│ │              theme = 'default'                                                                          │          │
│ │               tool = None                                                                               │          │
│ │          tool_args = None                                                                               │          │
│ │            verbose = False                                                                              │          │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────╯          │
│                                                                                                                      │
│ C:\Users\EnzoJuhel\AppData\Roaming\uv\tools\mcp-cli\Lib\site-packages\mcp_cli\run_command.py:196 in run_command_sync │
│                                                                                                                      │
│   193 │   │   loop = asyncio.new_event_loop()                                                                        │
│   194 │   │   asyncio.set_event_loop(loop)                                                                           │
│   195 │                                                                                                              │
│ ❱ 196 │   return loop.run_until_complete(                                                                            │
│   197 │   │   run_command(                                                                                           │
│   198 │   │   │   async_command,                                                                                     │
│   199 │   │   │   config_file=config_file,                                                                           │
│                                                                                                                      │
│ ╭───────────────────────────────── locals ──────────────────────────────────╮                                        │
│ │  config_file = '.\\server_config.json'                                    │                                        │
│ │ extra_params = {                                                          │                                        │
│ │                │   'input_file': None,                                    │                                        │
│ │                │   'output_file': None,                                   │                                        │
│ │                │   'prompt': 'What color is the sky',                     │                                        │
│ │                │   'tool': None,                                          │                                        │
│ │                │   'tool_args': None,                                     │                                        │
│ │                │   'system_prompt': None,                                 │                                        │
│ │                │   'raw': True,                                           │                                        │
│ │                │   'single_turn': False,                                  │                                        │
│ │                │   'max_turns': 30,                                       │                                        │
│ │                │   'server_names': {0: 'MyMcpServer'},                    │                                        │
│ │                │   ... +5                                                 │                                        │
│ │                }                                                          │                                        │
│ │         loop = <ProactorEventLoop running=False closed=False debug=False> │                                        │
│ │      servers = ['MyMcpServer']                                            │                                        │
│ ╰───────────────────────────────────────────────────────────────────────────╯                                        │
│                                                                                                                      │
│ C:\Python314\Lib\asyncio\base_events.py:719 in run_until_complete                                                    │
│                                                                                                                      │
│    716 │   │   if not future.done():                                                                                 │
│    717 │   │   │   raise RuntimeError('Event loop stopped before Future completed.')                                 │
│    718 │   │                                                                                                         │
│ ❱  719 │   │   return future.result()                                                                                │
│    720 │                                                                                                             │
│    721 │   def stop(self):                                                                                           │
│    722 │   │   """Stop running the event loop.                                                                       │
│                                                                                                                      │
│ ╭───────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────╮ │
│ │   future = <Task finished name='Task-1' coro=<run_command() done, defined at                                     │ │
│ │            C:\Users\EnzoJuhel\AppData\Roaming\uv\tools\mcp-cli\Lib\site-packages\mcp_cli\run_command.py:105>     │ │
│ │            exception=RuntimeError('Failed to initialise ToolManager')>                                           │ │
│ │ new_task = True                                                                                                  │ │
│ │     self = <ProactorEventLoop running=False closed=False debug=False>                                            │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                                      │
│ C:\Users\EnzoJuhel\AppData\Roaming\uv\tools\mcp-cli\Lib\site-packages\mcp_cli\run_command.py:126 in run_command      │
│                                                                                                                      │
│   123 │   │   # ------------------------------------------------------------------                                   │
│   124 │   │   # build ToolManager  (patch-friendly, see helper)                                                      │
│   125 │   │   # ------------------------------------------------------------------                                   │
│ ❱ 126 │   │   tm = await _init_tool_manager(config_file, servers, server_names, init_timeout)                        │
│   127 │   │                                                                                                          │
│   128 │   │   # ------------------------------------------------------------------                                   │
│   129 │   │   # Initialize context with tool manager and other params                                                │
│                                                                                                                      │
│ ╭──────────────────────── locals ────────────────────────╮                                                           │
│ │  config_file = '.\\server_config.json'                 │                                                           │
│ │ extra_params = {                                       │                                                           │
│ │                │   'input_file': None,                 │                                                           │
│ │                │   'output_file': None,                │                                                           │
│ │                │   'prompt': 'What color is the sky',  │                                                           │
│ │                │   'tool': None,                       │                                                           │
│ │                │   'tool_args': None,                  │                                                           │
│ │                │   'system_prompt': None,              │                                                           │
│ │                │   'raw': True,                        │                                                           │
│ │                │   'single_turn': False,               │                                                           │
│ │                │   'max_turns': 30,                    │                                                           │
│ │                │   'server_names': {                   │                                                           │
│ │                │   │   0: 'MyMcpServer'                │                                                           │
│ │                │   },                                  │                                                           │
│ │                │   ... +5                              │                                                           │
│ │                }                                       │                                                           │
│ │ init_timeout = 120.0                                   │                                                           │
│ │ server_names = {0: 'MyMcpServer'}                      │                                                           │
│ │      servers = ['MyMcpServer']                         │                                                           │
│ │           tm = None                                    │                                                           │
│ ╰────────────────────────────────────────────────────────╯                                                           │
│                                                                                                                      │
│ C:\Users\EnzoJuhel\AppData\Roaming\uv\tools\mcp-cli\Lib\site-packages\mcp_cli\run_command.py:87 in                   │
│ _init_tool_manager                                                                                                   │
│                                                                                                                      │
│    84 │   │   try:                                                                                                   │
│    85 │   │   │   await tm.close()                                                                                   │
│    86 │   │   finally:                                                                                               │
│ ❱  87 │   │   │   raise RuntimeError("Failed to initialise ToolManager")                                             │
│    88 │                                                                                                              │
│    89 │   set_tool_manager(tm)                                                                                       │
│    90 │   _ALL_TM.append(tm)                                                                                         │
│                                                                                                                      │
│ ╭───────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────╮ │
│ │            config_file = '.\\server_config.json'                                                                 │ │
│ │ initialization_timeout = 120.0                                                                                   │ │
│ │              log_level = 'ERROR'                                                                                 │ │
│ │                     ok = False                                                                                   │ │
│ │                     os = <module 'os' (frozen)>                                                                  │ │
│ │           server_names = {0: 'MyMcpServer'}                                                                      │ │
│ │                servers = ['MyMcpServer']                                                                         │ │
│ │                     tm = <mcp_cli.tools.manager.ToolManager object at 0x000001FBE8EAECF0>                        │ │
│ │                 tm_mod = <module 'mcp_cli.tools.manager' from                                                    │ │
│ │                          'C:\\Users\\EnzoJuhel\\AppData\\Roaming\\uv\\tools\\mcp-cli\\Lib\\site-packages\\mcp_c… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
RuntimeError: Failed to initialise ToolManager

Beside this issue, thank you for your work on this tool !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions