Skip to content

Add URL-based MCP support #35

@Code-MonkeyZhang

Description

@Code-MonkeyZhang

Description

mini_agent/tools/mcp_loader.py only recognizes STDIO (command/args). If the config uses the official URL-direct style (many MCPs use this format: Notion, ZhiPu Search...), the loader prints “No command specified” and skips the server.

Steps to Reproduce

Put this in mini_agent/config/mcp.json:

{
  "mcpServers": {
    "Notion": { "url": "https://mcp.notion.com/mcp" }
  }
}
  1. Start mini-agent.
  2. Logs show No command specified for server: Notion; the MCP is not loaded.
Cleaning up MCP connections...
✅ Cleanup complete

(mini-agent) (base) zhangyufeng@zhangyufengdeMacBook-Air Mini-Agent-Original % mini-agent
✅ LLM retry mechanism enabled (max 3 retries)
✅ Loaded Bash tool
✅ Loaded Bash Output tool
✅ Loaded Bash Kill tool
Loading MCP tools...
Skipping disabled server: minimax_search
Skipping disabled server: memory
INFO:ticktick_mcp.src.config:TickTick client initialized successfully
INFO:ticktick_mcp.src.config:Successfully connected to TickTick API with 6 projects
INFO:ticktick_mcp.src.server:All TickTick MCP tools registered successfully
INFO:mcp.server.lowlevel.server:Processing request of type ListToolsRequest

No command specified for server: Notion

Expected Result

  • Loader supports URL-based direct connections (type: http/streamable_http or type: sse) when url is provided.
  • Keep compatibility with command/args STDIO mode.

Suggested Improvement

  • In mcp_loader.py, add a branch: if url exists, create an HTTP/SSE connection based on type (default http/streamable_http); otherwise fall back to STDIO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions