Token导航 LogoToken导航

MCP Server · 搜索检索

z3 MCP

An MCP server for the z3 theorem prover

stdio官方级别未说明来源级核验工具 0
PythonClaude搜索Claude DesktopCline

快速开始

作者 / 组织
javergar
提供方
javergar
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

3 个

MCP.so

选型结论

z3 MCP 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cline,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m z3_poc.examples.main

客户端配置示例

{
  "mcpServers": {
    "z3-mcp": {
      "command": "python",
      "args": [
        "-m",
        "z3_poc.examples.main"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Z3定理的函数规划证明

使用函数式编程原理对Z3定理证明器功能进行弃权的Python实现,通过模型上下文协议(MCP)服务器公开。

概述

该项目演示了如何使用Z3定理证明器和函数式编程方法来解决复杂的约束满足问题,并分析实体之间的关系。它利用了 returns 函数式编程抽象库,并通过MCP服务器公开其功能。

特性

  • 约束满足问题:解决具有变量和约束的复杂问题
  • 关系分析:分析和推断实体之间的关系
  • 函数式编程:使用纯函数、不可变数据结构和一元错误处理
  • MCP服务器:通过标准化接口展示Z3功能

项目结构

z3_mcp/
├── core/                  # Core implementation
│   ├── solver.py          # Constraint satisfaction problem solving
│   └── relationships.py   # Relationship analysis
├── models/                # Data models
│   ├── constraints.py     # Models for constraint problems
│   └── relationships.py   # Models for relationship analysis
├── server/                # MCP server
│   └── main.py            # Server implementation
└── examples/              # Example usage
    └── main.py            # Demonstration of capabilities

技术栈

  • Z3求解器:用于约束求解的Microsoft定理证明器
  • 退货:用于一元运算和错误处理的函数式编程库
  • 派丹蒂克:数据验证和序列化
  • FastMCP:模型上下文协议的实现

安装

此项目使用 uv 用于依赖性管理。

# Clone the repository
git clone https://github.com/javergar/z3_mcp.git
cd z3_mcp

# Install dependencies
uv pip install -e .

# Install development dependencies (optional)
uv pip install -e ".[dev]"

用法

运行示例

该项目包括几个示例,展示了Z3求解器的功能:

# Run the examples
python -m z3_poc.examples.main

示例包括:

  • N皇后问题
  • 家庭关系推断
  • 因果关系时态推理
  • 密码谜题(发送+更多=金钱)

运行MCP服务器

启动MCP服务器,通过模型上下文协议公开Z3功能:

# Run the server
python -m z3_poc.server.main

用Claude/Cline建立MCP服务器

要通过VSCode中的Cline扩展与Claude一起使用Z3求解器MCP服务器,您需要配置 settings.json 文件:

  1. 配置:将以下内容添加到 mcpServers 设置文件中的对象:
"z3-solver": {
  "command": "uv",
  "args": [
    "--directory",
    "/path/to/your/z3_poc",
    "run",
    "z3_poc/server/main.py"
  ],
  "disabled": false,
  "autoApprove": [
    "simple_constraint_solver", 
    "simple_relationship_analyzer", 
    "solve_constraint_problem", 
    "analyze_relationships"
  ]
}
  1. 配置选项:

- command:要运行的命令(使用 uv Python环境管理) - args:命令参数,包括项目路径和服务器脚本 - disabled:设置为 false 启用服务器 - autoApprove:未经明确批准可使用的工具清单

  1. 重启:更新设置后,重新启动VSCode或Claude Desktop应用程序以使更改生效。

配置后,Claude将可以通过MCP服务器访问Z3求解器功能。

MCP工具

服务器提供以下工具:

solve_constraint_problem

使用完整的问题模型解决约束满足问题。

# Example input
{
  "problem": {
    "variables": [
      {"name": "x", "type": "integer"},
      {"name": "y", "type": "integer"}
    ],
    "constraints": [
      {"expression": "x + y == 10"},
      {"expression": "x >= 0"},
      {"expression": "y >= 0"}
    ],
    "description": "Find non-negative values for x and y that sum to 10"
  }
}

analyze_relationships

使用完整的RelationshipQuery模型分析实体之间的关系。

# Example input
{
  "query": {
    "relationships": [
      {"person1": "Alice", "person2": "Bob", "relation": "sibling"},
      {"person1": "Bob", "person2": "Charlie", "relation": "sibling"}
    ],
    "query": "sibling(Alice, Charlie)"
  }
}

simple_constraint_solver

一个更简单的界面,用于解决约束问题,而不需要完整的问题模型。

# Example input
{
  "variables": [
    {"name": "x", "type": "integer"},
    {"name": "y", "type": "integer"}
  ],
  "constraints": [
    "x + y == 10",
    "x <= 5",
    "y <= 5"
  ],
  "description": "Find values for x and y"
}

simple_relationship_analyzer

一个更简单的接口,用于分析关系,而不需要完整的RelationshipQuery模型。

# Example input
{
  "relationships": [
    {"person1": "Bob", "person2": "Hanna", "relation": "sibling"},
    {"person1": "Bob", "person2": "Claudia", "relation": "sibling"}
  ],
  "query": "sibling(Hanna, Claudia)"
}

函数式编程方法

这个项目演示了几个函数式编程原理:

  1. 不可变数据结构:使用Pydantic模型进行不可变数据表示
  2. 结果类型:使用 returns.result.Result 用于无例外的错误处理
  3. 也许类型:使用 returns.maybe.Maybe 用于处理可为null的值
  4. 做记号:使用生成器表达式 Result.do() 用于顺序操作
  5. 模式匹配:使用Python的match case来处理不同的结果类型

do符号示例 analyze_relationships:

expr = (
    RelationshipResult(...)
    for entities in create_entities(query.relationships)
    for relations in create_relations(query.relationships)
    for _ in add_relationship_assertions(solver, query.relationships, entities, relations)
    for query_expr in parse_query(query.query, entities, relations)
    for (result, explanation, is_satisfiable) in evaluate_query(solver, query_expr)
)

return Result.do(expr)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

research-and-datamathgptmath-solvermath-assistant定理证明Python本地部署约束求解

支持客户端

Claude DesktopClaudeCline

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cline,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
z3 MCP

MCP.so · 本页

0stdio有3 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

z3 MCP 怎么安装?

公开资料给出的安装命令是 python -m z3_poc.examples.main,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

z3 MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

z3 MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

z3 MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

z3 MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cline;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP