Skip to main content
Glama
almide
by almide
README.md
# Almide MCP Server

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that lets AI agents compile, run, and check [Almide](https://github.com/almide/almide) code.

## Tools

| Tool | Description |
|------|-------------|
| `compile` | Compile `.almd` source to Rust or TypeScript |
| `run` | Compile and execute `.almd` source with arguments |
| `check` | Check for syntax/compilation errors with diagnostic hints |
| `emit-ast` | Parse source and return the AST as JSON |

## Resources

| Resource | URI | Description |
|----------|-----|-------------|
| Grammar | `almide://grammar` | EBNF grammar + stdlib reference |

## Setup

### Prerequisites

- Node.js 18+
- [almide](https://github.com/almide/almide) compiler in PATH (or set `ALMIDE_BIN`)

### Install

```bash
git clone https://github.com/almide/mcp-server.git
cd mcp-server
npm install
npm run build
```

### Claude Code

Add to `~/.claude.json`:

```json
{
  "mcpServers": {
    "almide": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/index.js"]
    }
  }
}
```

### Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "almide": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/index.js"],
      "env": {
        "ALMIDE_BIN": "/path/to/almide"
      }
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "almide": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/index.js"]
    }
  }
}
```

## Usage Examples

Once connected, an AI agent can:

```
# Check code for errors
almide.check({ code: 'module app\nfn add(a: Int, b: Int) -> Int = a + b' })

# Compile to Rust
almide.compile({ code: '...', target: 'rust' })

# Run code
almide.run({ code: '...', args: ['hello'] })

# Get AST
almide.emit-ast({ code: '...' })
```

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `ALMIDE_BIN` | Path to almide binary | `almide` (from PATH) |

## License

MIT