cargo-mcp 0.1.1

mcp server for cargo commands
[
  {
    "name": "cargo_check",
    "description": "Run cargo check to verify the code compiles",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name to check (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_clippy",
    "description": "Run cargo clippy for linting suggestions",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name to lint (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "fix": {
          "type": "boolean",
          "description": "Apply suggested fixes automatically",
          "default": false
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_test",
    "description": "Run cargo test to execute tests",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name to test (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "test_name": {
          "type": "string",
          "description": "Optional specific test name to run"
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_fmt_check",
    "description": "Check if code is properly formatted without modifying files"
    ,
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_build",
    "description": "Build the project with cargo build",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name to build (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "release": {
          "type": "boolean",
          "description": "Build in release mode",
          "default": false
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_bench",
    "description": "Run cargo bench to execute benchmarks",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name to benchmark (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "bench_name": {
          "type": "string",
          "description": "Optional specific benchmark name to run"
        },
        "baseline": {
          "type": "string",
          "description": "Optional baseline name for comparison"
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_add",
    "description": "Add dependencies to Cargo.toml using cargo add",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "dependencies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of dependencies to add (e.g., ['serde', 'tokio@1.0'])"
        },
        "dev": {
          "type": "boolean",
          "description": "Add as development dependencies",
          "default": false
        },
        "optional": {
          "type": "boolean",
          "description": "Add as optional dependencies",
          "default": false
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional features to enable"
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path", "dependencies"]
    }
  },
  {
    "name": "cargo_remove",
    "description": "Remove dependencies from Cargo.toml using cargo remove",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "dependencies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of dependencies to remove"
        },
        "dev": {
          "type": "boolean",
          "description": "Remove from development dependencies",
          "default": false
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path", "dependencies"]
    }
  },
  {
    "name": "cargo_update",
    "description": "Update dependencies using cargo update",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package name (for workspaces)"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "dependencies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional specific dependencies to update"
        },
        "dry_run": {
          "type": "boolean",
          "description": "Perform a dry run to see what would be updated",
          "default": false
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  },
  {
    "name": "cargo_clean",
    "description": "Remove artifacts that cargo has generated in the past",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Path to the Rust project directory"
        },
        "package": {
          "type": "string",
          "description": "Optional package to clean artifacts for"
        },
        "toolchain": {
          "type": "string",
          "description": "Optional Rust toolchain to use (e.g., 'stable', 'nightly', '1.70.0')"
        },
        "cargo_env": {
          "type": "object",
          "description": "Optional environment variables to set for the cargo command",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": ["path"]
    }
  }
]