z3-solver-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., "@z3-solver-mcp-serverFind positive integers x and y such that 2x + 3y = 17."
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.
Z3 SMT Solver MCP Server
A Model Context Protocol (MCP) server that provides SMT (Satisfiability Modulo Theories) solving capabilities using the Z3 theorem prover. This server allows Claude and other MCP clients to solve complex constraint satisfaction problems, mathematical equations, logic puzzles, and optimization problems.
Features
SMT-LIB2 Support: Accepts problems in the standard SMT-LIB2 format
Z3 Integration: Powered by Microsoft's Z3 theorem prover
Mathematical Problem Solving: Handle algebra, logic, optimization, and constraint satisfaction
Simple Interface: Single tool with string input/output
Related MCP server: Logic-LM MCP Server
Installation
Prerequisites
Python 3.8 or higher
uv (recommended) or pip
Setup
Clone this repository:
git clone <repository-url>
cd z3-mcp-serverInstall dependencies:
uv syncOr with pip:
pip install z3-solver mcpMake the server executable:
chmod +x src/z3_mcp_server/main.pyUsage
With Claude Desktop
Add the server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"z3-solver": {
"command": "uv",
"args": ["--directory", "/path/to/z3-mcp-server", "run", "main.py"],
"env": {}
}
}
}Example Problems
Once configured, you can ask Claude to solve various types of problems:
Age Problems:
"Joey is 20 years younger than Becky. In two years, Becky will be twice as old as Joey. How old are they?"
Algebra:
"Find integers x and y such that 2x + 3y = 17 and both are positive."
Logic Puzzles:
"Three people have ages 21, 22, and 23. Alice is not 21, and Bob is older than Alice. What are their ages?"
Optimization:
"A farmer has 100 feet of fencing. What rectangular dimensions maximize the enclosed area?"
Tool Reference
solve_smt_lib2
Solves constraint problems specified in SMT-LIB2 format.
Parameters:
problem(string): The constraint problem in SMT-LIB2 syntax
Returns:
String containing the solver result:
sat+ model if satisfiableunsatif no solution existsunknownif solver cannot determineError message if parsing fails
Example SMT-LIB2 Input:
(declare-const x Int)
(declare-const y Int)
(assert (= (+ x y) 10))
(assert (= (* x y) 21))
(check-sat)
(get-model)SMT-LIB2 Quick Reference
Basic Syntax
(declare-const name Type)- Declare a variable(assert condition)- Add a constraint(check-sat)- Check if constraints are satisfiable(get-model)- Get variable assignments (if sat)
Types
Int- IntegersReal- Real numbersBool- Boolean values
Operations
Arithmetic:
+,-,*,/,modComparison:
=,<,>,<=,>=Logic:
and,or,notSpecial:
distinct(all different)
Transport Support
Currently supports:
stdio: For use with Claude Desktop and similar local clients
Planned:
HTTP/WebSocket: For web-based integrations
Troubleshooting
Common Issues
Server not starting: Ensure Python and z3-solver are properly installed
Permission denied: Make sure the main.py file is executable
Import errors: Verify all dependencies are installed in the correct environment
Debug Mode
Run the server directly in the Inspector:
npx @modelcontextprotocol/inspector src/z3_mcp_server/main.py uv --directory /path/to/z3-mcp-server run main.pyContributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Add tests for new functionality
Submit a pull request
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseBqualityFmaintenanceA best-effort universal logic and numerical solver interface using MCP that implements the 'LLM sandwich' model to process queries, call dedicated solvers (ortools, cvxpy, z3), and verbalize results.765Apache 2.0
- Alicense-qualityFmaintenanceProvides symbolic reasoning capabilities by converting natural language logical problems into Answer Set Programming (ASP) format and solving them using the Clingo solver. Enables users to perform formal logical reasoning, verify logical arguments, and get step-by-step explanations for complex logical problems.5MIT
- AlicenseAqualityCmaintenanceEnables solving complex combinatorial optimization problems with logical and numerical constraints through multiple solvers (Z3, CVXPY, HiGHS, OR-Tools). Specializes in portfolio optimization, scheduling, resource allocation, and constraint satisfaction problems.55Apache 2.0
- Alicense-qualityDmaintenanceEnables solving linear programming (LP) and mixed-integer linear programming (MILP) optimization problems through natural language, with built-in simplex and branch-and-cut solvers plus infeasibility diagnostics. Includes optional OR-Tools fallback for larger problems and supports parsing optimization problems from natural language descriptions.MIT
Related MCP Connectors
Precision math engine for AI agents. 203 exact methods. Zero hallucination.
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
AI-callable calculators and engineering models with real formulas. No hallucinated math.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/dsouflis/z3-solver-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server