MCP Server for Alloy Modeling Language
Enables LLM-powered agents to generate, execute, and analyze Alloy modeling language code for software modeling and formal verification. Provides tools to run Alloy models, access documentation and examples, and generate models from system descriptions.
README
MCP Server for Alloy Modeling Language
This is an MCP server that can let you run a local Alloy-Language server. You can use it to allow an LLM-powered agent to generate and execute Alloy modeling code.
Alloy is an open source language and analyzer for software modeling. It has been used in a wide range of applications, from finding holes in security mechanisms to designing telephone switching networks. This site provides language documentation, tool downloads, and a repository of links to case studies and applications. As the open source community grows, this site will also provide access to extensions of the Alloy Analyzer, and tools built on top of it and on top of Kodkod, its model finding engine. (alloytools.org)
This MCP server uses the alloy-lang npm package which bundles the language binary for easy use from nodejs.
Installation
npm install
npm run build
Usage
As an MCP Server
Run the server using stdio transport:
npm start
Or use the built binary directly:
node build/index.js
Development
# Build TypeScript
npm run build
# Build and run
npm run dev
# Lint code
npm run lint
# Fix linting issues
npm run lint:fix
# Run tests
npm test
MCP Features
Tools
- execute_alloy: Execute Alloy modeling language code and return structured JSON results
- Input:
code(string) - The Alloy code to execute - Output: JSON with instances, values, and solver results
- Input:
Resources
- alloy://docs: Basic Alloy language documentation and syntax reference
- alloy://examples: Example Alloy models (graphs, file systems, state machines)
Prompts
- create_alloy_model: Generate an Alloy model based on a system description
- Input:
description(string) - Description of the system to model
- Input:
Example Alloy Code
sig Node {
edges: set Node
}
// No self-loops
fact { all n: Node | n not in n.edges }
// Find a graph with a cycle
run { some n: Node | n in n.^edges } for 5
Resources
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.