# amql-mcp-server
> Model Context Protocol server for AQL
## Role
- Thin shim over [amql-engine](../amql-engine)
- Exposes all engine operations as MCP tools
- No awareness of [amql-cli](../amql-cli) — both depend on the same core
- Also available via `aql mcp` (CLI hosts this server)
## Tools
| `aql_select` | Query annotations by selector |
| `aql_query` | Unified annotation + code query |
| `aql_extract` | Run extractors on source files |
| `aql_validate` | Validate annotations against schema |
| `aql_diff` | Compare annotations against baseline |
| `aql_repair` | Suggest annotation fixes |
| `aql_schema` | Discover annotation metadata |
| `aql_stats` | Project statistics |
| `aql_init` | Initialize AQL in a project |
| `aql_locate` | Find sidecar for source file |
| `aql_bench` | Benchmark AQL vs baselines |
| `aql_nav_*` | AST navigation (select, expand, shrink, next, prev, read, insert, replace, remove, move) |
| `aql_transact` | Atomic source mutations |
| `aql_batch_mutate` | Parallel multi-file mutations |
| `aql_batch_query` | Batch annotation queries |
| `aql_coverage` | Annotation coverage analysis |
| `aql_pattern` | Extract annotation patterns |
| `aql_refresh` | Reload cached annotations |
| `aql_spot_check` | Validate binding consistency |
## Getting Started
```sh
# Standalone
amql-mcp-server
# Via CLI
aql mcp
# Claude Desktop config (~/.config/claude/claude_desktop_config.json)
{
"mcpServers": {
"aql": {
"command": "aql",
"args": ["mcp"]
}
}
}
```
## License
[MIT](../../LICENSE)