Alloy MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Alloy MCP Servercheck syntax of this Alloy model: sig A {}"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Alloy MCP Server
A local Model Context Protocol (MCP) server that provides a headless bridge between Claude Desktop (or Roo Code) and the Alloy Analyzer (Kodkod SAT solver). This allows AI agents to write, compile, and execute formal verification models and read the raw mathematical graph structures directly back into their context window.
Features
Fast Syntax Checking: Validates Alloy grammar using file paths without booting the heavy SAT solver.
Asynchronous Execution & Timeouts: Handles highly complex models that take minutes or hours to solve. The server safely detaches background tasks to prevent LLM tool timeouts.
Context Window Protection: Automatically archives all discovered counterexamples locally to
all_counterexamples.txt, but only returns the first 5 to the LLM to prevent token bloat.Alloy 6 Temporal Support: Natively unpacks and formats behavioral traces (
varsignatures) step-by-step so the LLM can easily read state mutations over time.
Related MCP server: Claude Code Starter Kit MCP
Prerequisites
To run this server locally, you must have the following installed:
Node.js (v18 or higher)
Java Development Kit (JDK) (v11 or higher)
Claude Desktop App (or Roo Code inside VS Code)
Installation & Setup
Clone the repository:
git clone https://github.com/joel6603/alloy-mcp-server.git cd alloy-mcp-serverInstall Node dependencies:
npm installDownload the Alloy Engine:
Download the official Alloy 6
.jarfile from AlloyTools.Rename the file to
org.alloytools.alloy.dist.jar.Place it directly in the root folder of this project.
Compile the Java Backend:
# On Windows: javac -cp "org.alloytools.alloy.dist.jar;." RunAlloy.java # On Mac/Linux: javac -cp "org.alloytools.alloy.dist.jar:." RunAlloy.java
Connecting to Claude Desktop
Locate your Claude Desktop configuration file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonMac:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the server to your configuration, ensuring the absolute path points to where you cloned this repository:
{
"mcpServers": {
"alloy": {
"command": "node",
"args": [
"D:/path/to/your/repo/alloy-mcp-server/index.js"
]
}
}
}Note: Restart Claude Desktop completely after saving this file.
Available MCP Tools
check_alloy_syntaxInput:
filename(Absolute path to the.alsfile).Description: Reads the file directly from the hard drive and instantly returns line/column syntax errors without triggering the Kodkod solver.
run_alloy_modelInput:
filename(Absolute path) and an optionalcommandName(defaults to "all").Description: Executes the SAT solver.
If execution is fast, it returns a maximum of 5 formatted counterexamples to the chat.
If execution exceeds 45 seconds, it returns a safe "Background Execution Started" message to the AI while continuing to run silently.
In all cases, every discovered solution (up to 200) is saved to
all_counterexamples.txtin the server root for manual review.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/joel6603/alloy-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server