Skip to content

ARGO MCP Integration Issue Report (Filesystem + Tool Execution) windows 10 - install on installer #19

Description

@jacooooooooool

ARGO MCP Integration Issue Report (Filesystem + Tool Execution)

Environment

  • OS: Windows 10
  • rtx 5090
  • 64gb ram
  • ARGO installed in:
    C:\Program Files\Argo
  • Internal Node (bundled with ARGO):
    C:\Users\Jacek\.argo\dependences\node
  • Node version: v22.13.0
  • MCP server used: @modelcontextprotocol/server-filesystem
  • Model backend: local (Ollama API at http://127.0.0.1:11434)

Key Finding (Critical)

ARGO uses its own embedded Node.js environment, not the system-wide Node.

After uninstalling global Node:

  • ARGO still works
  • MCP servers still run via npx

This proves:

ARGO executes MCP servers from:

C:\Users\Jacek\.argo\dependences\node\npx.cmd

PROBLEM 1 — Tool Calls Are NOT Executed

Expected behavior

Model outputs tool call → ARGO executes it → file is created.

Actual behavior

Model outputs correct JSON, but:

  • tool is NOT executed
  • no file is created

Evidence (log)

Output: {"name": "write_file", "arguments": {"path": "test.txt", "content": "hello"}}

→ No execution occurs.


PROBLEM 2 — ARGO Alters Model Output (CRITICAL BUG)

Even with strict prompt enforcing absolute paths:

Prompt rule:

ALWAYS use absolute Windows paths:
C:\\Users\\Jacek\\Desktop\\file.txt

Model output in ARGO:

{"name": "write_file", "arguments": {"path": "test.txt", "content": ""}}

Issues:

  • Path changed → relative instead of absolute
  • Content removed → empty string

Conclusion:

ARGO modifies or corrupts tool call payload before execution


PROBLEM 3 — MCP Server Works Perfectly Outside ARGO

Direct test (PowerShell)

$req = '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"write_file","arguments":{"path":"C:\\\\Users\\\\Jacek\\\\Desktop\\\\mcp_test.txt","content":"hello from mcp"}}}'
$req | .\npx.cmd -y @modelcontextprotocol/server-filesystem "C:\Users\Jacek\Desktop"

Result:

Successfully wrote to C:\Users\Jacek\Desktop\mcp_test.txt

Conclusion:

  • MCP server works 100% correctly
  • Node environment works correctly
  • Problem is inside ARGO

PROBLEM 4 — Allowed Directories Work (Confirmed)

list_allowed_directories

Result:

C:\Users\Jacek\Desktop

→ Access control is NOT the issue


PROBLEM 5 — JSON Config Validation is Broken

Valid JSON configs fail with:

MCP Server add fail, error: JSON config is invalid

Example VALID JSON that fails:

{
  "mcpServers": {
    "filesystem": {
      "command": "C:\\Users\\Jacek\\.argo\\dependences\\node\\npx.cmd",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\Jacek\\Desktop"
      ]
    }
  }
}

Observations:

  • JSON syntax is correct
  • ARGO rejects valid configs
  • Error message gives no details

PROBLEM 6 — Native File Tools Conflict

ARGO exposes built-in tools:

write_file, read_file, etc.

These appear alongside MCP tools, but:

  • unclear which is used
  • possible silent override
  • may explain why MCP is never executed

PROBLEM 7 — No Debug / Execution Transparency

No way to verify:

  • whether MCP server received request
  • whether tool execution was attempted
  • what payload was actually sent

PROBLEM 8 — Wrapper Execution Issues (Node spawn EINVAL)

Attempting custom wrapper initially failed:

Error: spawn EINVAL

Fix required:

shell: true

→ Indicates Windows process spawning issues not handled properly


ROOT CAUSE (Based on Testing)

The failure is NOT in:

  • MCP server
  • Node environment
  • Permissions
  • Directory access

The failure IS in ARGO:

  1. Tool calls are not executed
  2. Tool payload is modified or truncated
  3. MCP communication layer is broken or incomplete
  4. JSON validation is unreliable
  5. No proper debugging visibility

What Works

✔ MCP server manually via npx
✔ File creation via JSON-RPC
✔ Allowed directories
✔ Embedded Node runtime


What Does NOT Work

✖ Tool execution from model
✖ Correct argument passing
✖ JSON config reliability
✖ MCP integration consistency


Suggested Fixes

  1. Disable output mutation

    • Do not modify tool call JSON from model
  2. Add debug mode

    • Log raw MCP request/response
  3. Fix JSON validator

    • Provide real error messages
  4. Clarify tool priority

    • MCP vs native tools
  5. Ensure execution layer works

    • Model → Tool → MCP → Result
  6. Expose transport logs

    • stdio communication visibility

Final Conclusion

MCP servers work correctly.
ARGO fails to properly integrate and execute them.

The issue is reproducible and isolated:

  • Same commands work outside ARGO
  • Fail inside ARGO

Additional Notes

  • ARGO uses embedded Node → important for documentation
  • External Node installation is unnecessary and misleading
  • MCP requires explicit directory arguments (confirmed working)

If needed, I can provide:

  • working wrapper
  • minimal reproduction setup
  • debug scripts

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