# MCP Server
The MCP (Model Context Protocol) server enables AI assistants to understand and work with Macroforge macros, providing documentation lookup, code validation, and macro expansion.
The local (stdio) version of the MCP server is available via the [`@macroforge/mcp-server`](https://www.npmjs.com/package/@macroforge/mcp-server) npm package. You can either install it globally and then reference it in your configuration or run it with `npx`:
Bash
```
npx -y @macroforge/mcp-server
```
Here's how to set it up in some common MCP clients:
## Claude Code
To include the local MCP version in Claude Code, simply run the following command:
Bash
```
claude mcp add -t stdio -s [scope] macroforge -- npx -y @macroforge/mcp-server
```
The `[scope]` must be `user`, `project` or `local`.
## Claude Desktop
In the Settings > Developer section, click on Edit Config. It will open the folder with a `claude_desktop_config.json` file in it. Edit the file to include the following configuration:
claude\_desktop\_config.json
```
{
"mcpServers": {
"macroforge": {
"command": "npx",
"args": ["-y", "@macroforge/mcp-server"]
}
}
}
```
## Codex CLI
Add the following to your `config.toml` (which defaults to `~/.codex/config.toml`, but refer to [the configuration documentation](https://github.com/openai/codex/blob/main/docs/config.md) for more advanced setups):
config.toml
```
[mcp_servers.macroforge]
command = "npx"
args = ["-y", "@macroforge/mcp-server"]
```
## Gemini CLI
To include the local MCP version in Gemini CLI, simply run the following command:
Bash
```
gemini mcp add -t stdio -s [scope] macroforge npx -y @macroforge/mcp-server
```
The `[scope]` must be `user`, `project` or `local`.
## Other Clients
If we didn't include the MCP client you are using, refer to their documentation for `stdio` servers and use `npx` as the command and `-y @macroforge/mcp-server` as the arguments.
## Available Tools
The MCP server provides five tools for AI assistants:
| Tool | Description |
| ---------------------- | ---------------------------------------------------------------- |
| `list-sections` | Lists all available Macroforge documentation sections |
| `get-documentation` | Retrieves full documentation for one or more sections |
| `macroforge-autofixer` | Validates code with `@derive` decorators and returns diagnostics |
| `expand-code` | Expands macros and returns the transformed TypeScript code |
| `get-macro-info` | Retrieves documentation for macros and field decorators |
Note
For code validation and expansion features (`macroforge-autofixer`, `expand-code`, `get-macro-info`), the MCP server requires `macroforge` as a peer dependency. Install it in your project with `npm install macroforge`.