|
| 1 | +--- |
| 2 | +title: Claude Code |
| 3 | + |
| 4 | +draft: true |
| 5 | + |
| 6 | +author: Pareena Verma |
| 7 | +minutes_to_complete: 10 |
| 8 | +official_docs: https://code.claude.com/docs |
| 9 | + |
| 10 | +multi_install: false |
| 11 | +multitool_install_part: false |
| 12 | +tool_install: true |
| 13 | +weight: 1 |
| 14 | +--- |
| 15 | + |
| 16 | +Claude Code is an AI-powered command-line tool that helps you build features, debug code, and navigate codebases directly from your terminal. It provides autonomous coding assistance and integrates with your existing development workflow. |
| 17 | + |
| 18 | +Claude Code works seamlessly on Arm-based systems, including Linux distributions running on Arm servers, macOS on Apple Silicon, and Windows on Arm devices. |
| 19 | + |
| 20 | +## What should I do before installing Claude Code? |
| 21 | + |
| 22 | +You need a Claude account to use Claude Code. A Claude.ai account is recommended, though you can also use a Claude Console account. |
| 23 | + |
| 24 | +If you don't have a Claude account, visit [Claude.ai](https://claude.ai/) and sign up. |
| 25 | + |
| 26 | +Claude Code offers various pricing tiers including free usage for verified users. Visit [Claude pricing](https://www.anthropic.com/pricing) to review the options. |
| 27 | + |
| 28 | +## How do I install Claude Code? |
| 29 | + |
| 30 | +Claude Code is a terminal application that works on macOS, Linux, and Windows systems, including Arm-based platforms. |
| 31 | + |
| 32 | +### Install on Linux (Arm) |
| 33 | + |
| 34 | +The recommended installation method for Linux uses the installation script: |
| 35 | + |
| 36 | +```bash { target="ubuntu:latest" } |
| 37 | +curl -fsSL https://claude.ai/install.sh | bash |
| 38 | +``` |
| 39 | + |
| 40 | +This script automatically detects your system architecture and installs the appropriate version for Arm64 systems. |
| 41 | + |
| 42 | +Add Claude Code to your PATH: |
| 43 | + |
| 44 | +```bash |
| 45 | +echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc |
| 46 | +``` |
| 47 | + |
| 48 | +### Install on macOS (Apple Silicon) |
| 49 | + |
| 50 | +On macOS, you can use the installation script: |
| 51 | + |
| 52 | +```bash |
| 53 | +curl -fsSL https://claude.ai/install.sh | bash |
| 54 | +``` |
| 55 | + |
| 56 | +Or install using Homebrew: |
| 57 | + |
| 58 | +```bash |
| 59 | +brew install anthropics/claude/claude |
| 60 | +``` |
| 61 | + |
| 62 | +### Install on Windows on Arm |
| 63 | + |
| 64 | +On Windows systems, including Windows on Arm, install using npm: |
| 65 | + |
| 66 | +```console |
| 67 | +npm install -g @anthropic-ai/claude |
| 68 | +``` |
| 69 | + |
| 70 | +You can also download the Windows installer from the [Claude Code downloads page](https://code.claude.com/docs/en/setup). |
| 71 | + |
| 72 | +### Verify installation |
| 73 | + |
| 74 | +Confirm Claude Code is installed by checking the version: |
| 75 | + |
| 76 | +```console |
| 77 | +claude --version |
| 78 | +``` |
| 79 | + |
| 80 | +The output shows the installed version: |
| 81 | + |
| 82 | +```output |
| 83 | +2.0.69 (Claude Code) |
| 84 | +``` |
| 85 | + |
| 86 | +## How do I authenticate Claude Code? |
| 87 | + |
| 88 | +After installing Claude Code, you need to authenticate: |
| 89 | + |
| 90 | +1. Navigate to a project directory: |
| 91 | + |
| 92 | +```console |
| 93 | +cd your-project |
| 94 | +``` |
| 95 | + |
| 96 | +2. Start Claude Code: |
| 97 | + |
| 98 | +```console |
| 99 | +claude |
| 100 | +``` |
| 101 | + |
| 102 | +3. On first use, Claude Code prompts you to log in through your browser |
| 103 | +4. Follow the authentication prompts in your browser |
| 104 | +5. Return to your terminal to continue |
| 105 | + |
| 106 | +Claude Code automatically saves your authentication credentials for future sessions. |
| 107 | + |
| 108 | +## How do I confirm Claude Code is working? |
| 109 | + |
| 110 | +Test Claude Code by asking it to perform a simple task: |
| 111 | + |
| 112 | +1. In your terminal, start Claude Code in a project directory: |
| 113 | + |
| 114 | +```console |
| 115 | +claude |
| 116 | +``` |
| 117 | + |
| 118 | +2. Type a request, for example: |
| 119 | + |
| 120 | +```console |
| 121 | +> Create a Python function to calculate fibonacci numbers for my Arm machine |
| 122 | +``` |
| 123 | + |
| 124 | +3. Claude Code analyzes your request, creates a plan, and generates the code |
| 125 | +4. Review the proposed changes before accepting them |
| 126 | + |
| 127 | +Claude Code shows you a preview of changes before applying them, giving you control over what gets modified in your codebase. |
| 128 | + |
| 129 | +If Claude Code doesn't respond: |
| 130 | +- Verify you're authenticated (run `claude` and check for authentication prompts) |
| 131 | +- Check your internet connection |
| 132 | +- Ensure your Claude account is active |
| 133 | +- Try restarting Claude Code |
| 134 | + |
| 135 | + |
| 136 | +## How do I use MCP Servers with Claude Code? |
| 137 | + |
| 138 | +Model Context Protocol (MCP) Servers extend Claude Code's capabilities by providing specialized tools and knowledge bases. Claude Code can connect to MCP servers to access domain-specific expertise and functionality. |
| 139 | + |
| 140 | +The Arm MCP Server provides AI assistants with tools and knowledge for Arm architecture development, migration, and optimization. This is particularly useful when working on Arm-based systems. |
| 141 | + |
| 142 | +### What tools does the Arm MCP Server provide? |
| 143 | + |
| 144 | +The Arm MCP Server includes several tools designed for Arm development: |
| 145 | + |
| 146 | +- migrate-ease scan: Analyzes codebases for x86-specific code that needs updating for Arm compatibility |
| 147 | +- skopeo: Inspects container images to check for ARM64 architecture support |
| 148 | +- knowledge_base_search: Searches Arm documentation and learning resources |
| 149 | +- mca (Machine Code Analyzer): Analyzes assembly code for performance on Arm architectures |
| 150 | +- check_image: Verifies Docker image architecture compatibility |
| 151 | + |
| 152 | +### How do I configure the Arm MCP Server with Claude Code? |
| 153 | + |
| 154 | +You need Docker running on your system to use the Arm MCP Server. See the [Docker install guide](/install-guides/docker/) for instructions. |
| 155 | + |
| 156 | +First, pull the Arm MCP Server image: |
| 157 | + |
| 158 | +```console |
| 159 | +docker pull armlimited/arm-mcp:latest |
| 160 | +``` |
| 161 | + |
| 162 | +Configure the Arm MCP Server using the `claude mcp add` command. You can configure MCP servers at three different scopes: |
| 163 | + |
| 164 | +- Local scope (default): Available only to you in the current project |
| 165 | +- Project scope: Shared with everyone in the project via `.mcp.json` file |
| 166 | +- User scope: Available to you across all projects |
| 167 | + |
| 168 | +{{% notice Note %}} |
| 169 | +Choose the appropriate scope based on your needs. Project scope is recommended for team collaboration, while user scope is useful for personal tools you use across multiple projects. |
| 170 | +{{% /notice %}} |
| 171 | + |
| 172 | +#### Configure for a specific project (local scope) |
| 173 | + |
| 174 | +Navigate to your project directory and add the Arm MCP Server: |
| 175 | + |
| 176 | +```console |
| 177 | +cd your-project |
| 178 | +claude mcp add --transport stdio arm-mcp -- docker run --rm -i -v "$(pwd):/workspace" armlimited/arm-mcp:latest |
| 179 | +``` |
| 180 | + |
| 181 | +This configuration is stored in `~/.claude.json` under your project's path and is only accessible when working in this directory. |
| 182 | + |
| 183 | +#### Configure for all projects (user scope) |
| 184 | + |
| 185 | +To make the Arm MCP Server available across all your projects: |
| 186 | + |
| 187 | +```console |
| 188 | +claude mcp add --scope user --transport stdio arm-mcp -- docker run --rm -i -v "$(pwd):/workspace" armlimited/arm-mcp:latest |
| 189 | +``` |
| 190 | + |
| 191 | +This configuration is stored in `~/.claude.json` and is accessible from any project directory. |
| 192 | + |
| 193 | +#### Configure for team sharing (project scope) |
| 194 | + |
| 195 | +To share the MCP server configuration with your team via version control: |
| 196 | + |
| 197 | +```console |
| 198 | +cd your-project |
| 199 | +claude mcp add --scope project --transport stdio arm-mcp -- docker run --rm -i -v "$(pwd):/workspace" armlimited/arm-mcp:latest |
| 200 | +``` |
| 201 | + |
| 202 | +This creates a `.mcp.json` file in your project root that can be committed to version control. |
| 203 | + |
| 204 | +### How do I analyze a local codebase with the Arm MCP Server? |
| 205 | + |
| 206 | +The Arm MCP Server automatically mounts your current working directory to the `/workspace` folder inside the Docker container when you use the configuration commands shown above. |
| 207 | + |
| 208 | +To analyze a different directory, modify the volume mount in the `docker run` command. For example, to analyze `/Users/username/myproject`: |
| 209 | + |
| 210 | +```console |
| 211 | +claude mcp add --transport stdio arm-mcp -- docker run --rm -i -v "/Users/username/myproject:/workspace" armlimited/arm-mcp:latest |
| 212 | +``` |
| 213 | + |
| 214 | +### How do I verify the Arm MCP Server is working? |
| 215 | + |
| 216 | +List configured MCP servers: |
| 217 | + |
| 218 | +```console |
| 219 | +claude mcp list |
| 220 | +``` |
| 221 | + |
| 222 | +You should see `arm-mcp` in the list of configured servers. |
| 223 | + |
| 224 | +Get details about the Arm MCP Server configuration: |
| 225 | + |
| 226 | +```console |
| 227 | +claude mcp get arm-mcp |
| 228 | +``` |
| 229 | + |
| 230 | +To test the server's functionality, start Claude Code and ask it to use the Arm MCP tools: |
| 231 | + |
| 232 | +```console |
| 233 | +claude |
| 234 | +``` |
| 235 | + |
| 236 | +Then try one of these prompts: |
| 237 | + |
| 238 | +```console |
| 239 | +> Use the Arm MCP Server to scan my codebase for x86-specific code |
| 240 | +``` |
| 241 | + |
| 242 | +or |
| 243 | + |
| 244 | +```console |
| 245 | +> Check if the nginx:latest Docker image supports Arm64 |
| 246 | +``` |
| 247 | + |
| 248 | +You can also use the `/mcp` command within Claude Code to see the status of all connected MCP servers and their available tools. |
| 249 | + |
| 250 | +### Example prompts using the Arm MCP Server |
| 251 | + |
| 252 | +Here are some example prompts that use the Arm MCP Server tools: |
| 253 | + |
| 254 | +- `Scan my workspace for code that needs updating for Arm compatibility` |
| 255 | +- `Check if the postgres:latest container image supports Arm64 architecture` |
| 256 | +- `Search the Arm knowledge base for NEON intrinsics examples` |
| 257 | +- `Find learning resources about migrating from x86 to Arm` |
| 258 | +- `Analyze this assembly code for performance on Arm processors` |
| 259 | + |
| 260 | +### Managing MCP servers |
| 261 | + |
| 262 | +Remove an MCP server: |
| 263 | + |
| 264 | +```console |
| 265 | +claude mcp remove arm-mcp |
| 266 | +``` |
| 267 | + |
| 268 | +Update an MCP server configuration by removing and re-adding it with new settings. |
| 269 | + |
| 270 | +Check MCP server status within Claude Code: |
| 271 | + |
| 272 | +```console |
| 273 | +> /mcp |
| 274 | +``` |
| 275 | + |
| 276 | +### Troubleshooting MCP Server connections |
| 277 | + |
| 278 | +If the Arm MCP Server doesn't connect: |
| 279 | + |
| 280 | +- Verify Docker is running: `docker ps` |
| 281 | +- Check that the image was pulled successfully: `docker images | grep arm-mcp` |
| 282 | +- Ensure the volume mount path exists and is accessible |
| 283 | +- Check that the Docker daemon is running and accessible |
| 284 | +- Try restarting Claude Code after configuration changes |
| 285 | +- Review the output of `claude mcp get arm-mcp` for configuration errors |
| 286 | + |
| 287 | +If you encounter issues or have questions, reach out to mcpserver@arm.com. |
| 288 | + |
| 289 | + |
| 290 | +## Custom prompts and workflows |
| 291 | + |
| 292 | +Create custom prompts for common tasks in your workflow. Refer to the [Claude Code documentation](https://code.claude.com/docs) for advanced configuration options. |
| 293 | + |
| 294 | +You're ready to use Claude Code with the Arm MCP Server to enhance your Arm development workflow. |
0 commit comments