Troubleshooting
Troubleshooting
Section titled “Troubleshooting”This page covers common issues when running the Arxo MCP server, how to debug them, and where to find logs.
Common Errors
Section titled “Common Errors”Binary Not Found or Permission Denied
Section titled “Binary Not Found or Permission Denied”Error:
Cannot find executable: /path/to/arxo-mcpSolution:
-
Verify the binary exists at the path specified in your MCP config:
Terminal window ls -la /path/to/arxo-mcp -
Check if the binary is executable:
Terminal window chmod +x /path/to/arxo-mcp -
Test that the binary runs standalone:
Terminal window /path/to/arxo-mcp --help -
If using a relative path like
${workspaceFolder}/target/release/arxo-mcp, verify it resolves correctly by checking your workspace root.
Analysis Times Out or Hangs
Section titled “Analysis Times Out or Hangs”Symptoms:
- Tool calls take several minutes or never return
- MCP server logs show no activity
Causes:
- Large codebase
- Insufficient system resources
Solutions:
-
Check cache hit rate: Look for cache hit messages in logs. If you’re not getting cache hits, analysis runs from scratch every time.
-
Increase cache TTL:
{"command": "/path/to/arxo-mcp","args": ["--cache-ttl", "600"]} -
Reduce analysis scope: Use
.arxoignoreor config to exclude large dependencies (e.g.node_modules/,vendor/,.venv/,target/). -
Monitor system resources:
Terminal window ps aux | grep arxo-mcptop -p $(pgrep arxo-mcp)
Stale Cache Results
Section titled “Stale Cache Results”Symptoms:
- Changes to code not reflected in analysis results
- Old findings still showing after fixes
Solutions:
-
Wait for TTL to expire (default 5 minutes).
-
Restart the MCP server — In Cursor: reload the window or restart Cursor.
-
Reduce cache TTL for development:
{"command": "/path/to/arxo-mcp","args": ["--cache-ttl", "60"]}
Config File Not Found
Section titled “Config File Not Found”Error:
Config file not found: arxo.yamlExplanation:
The MCP server looks for arxo.yaml in the project root (the project_path parameter). Analysis can run without a config file; the server uses defaults.
Solutions:
-
Create a config — Use
arxo_config_suggestto generate a suggestedarxo.yaml, or create one manually. -
Provide an explicit config path:
analyze_architecture({"project_path": "/path/to/project","config_path": "/path/to/custom-config.yaml"})
JSON-RPC Parse Errors
Section titled “JSON-RPC Parse Errors”Error:
Failed to parse JSON-RPC requestCauses:
- Malformed JSON in tool parameters
- Incorrect parameter types (e.g., string instead of array)
Solutions:
-
Validate parameter types:
project_path: string (required for analysis tools)section: string (optional, forarxo_config_help)
-
Check for trailing commas:
{ "project_path": "." }
Debugging
Section titled “Debugging”Enabling Debug Logs
Section titled “Enabling Debug Logs”Set the RUST_LOG environment variable in your MCP config:
{ "command": "/path/to/arxo-mcp", "env": { "RUST_LOG": "arxo_mcp=debug" }}Or use the --log-level argument:
{ "command": "/path/to/arxo-mcp", "args": ["--log-level", "debug"]}Viewing Logs in Cursor
Section titled “Viewing Logs in Cursor”- Open the Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) - Search for “MCP: Show Server Logs”
- Select Arxo from the server list
Logs are written to stderr so they don’t interfere with the JSON-RPC stream on stdout.
Performance
Section titled “Performance”- Exclude large directories in config or
.arxoignore(e.g.node_modules/,vendor/,.venv/,target/). - Increase cache TTL if you run analysis repeatedly on the same project.
Getting Help
Section titled “Getting Help”If you’ve tried the steps above and still have issues:
- Check logs — Enable
debuglevel and inspect stderr output - Verify binary — Run
arxo-mcp --helpto confirm it works standalone - Test with a small project — Try analyzing a small codebase to isolate the issue
- Report a bug — Open an issue at github.com/arxohq/arxo with MCP config, log output, and steps to reproduce
Related Pages
Section titled “Related Pages”- Configuration — Server arguments and client setup
- Workflows — Example usage
- Tools — Tool reference