Z3/SMT MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| solveB | Execute Z3 Python code to solve SMT constraints. The code can use any Z3 Python API functions. Common imports (Solver, Int, Real, Bool, And, Or, Not, etc.) are pre-loaded. Example: |
| solve_smtlibC | Solve an SMT problem in SMT-LIB 2.0 format. Example: |
| check_satA | Check satisfiability of a list of constraints. Provide constraints as Z3 Python expressions. Variables will be auto-declared based on usage. Example constraints:
|
| proveA | Attempt to prove a theorem by showing its negation is unsatisfiable. Provide the theorem as a Z3 expression. If the negation is unsatisfiable, the theorem is proven. Example: prove "ForAll([x], x + 0 == x)" for integer x |
| simplifyA | Simplify a Z3 expression. Returns the simplified form of the given expression. Example: simplify "And(x > 0, x > 0)" -> "x > 0" |
| solve_logic_programA | Solve a structured logic program (Logic-LLM format). The program should have sections: Declarations
Constraints
Example: |
| session_add_variableB | Add a variable to the current solver session. Supported types: int, real, bool, bitvec (with bits parameter) |
| session_add_constraintA | Add a constraint to the current solver session. The constraint should be a valid Z3 expression using previously declared variables. |
| session_checkB | Check satisfiability of current session constraints and get the model if satisfiable. |
| session_pushA | Push a new context onto the solver stack (for backtracking). |
| session_popB | Pop a context from the solver stack (backtrack). |
| session_resetA | Reset the current solver session, clearing all variables and constraints. |
| list_sessionsA | List all active solver sessions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/NewJerseyStyle/z3smt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server