Token导航 LogoToken导航TokenDH.com
Pyke MCP Server logo
开发工具stdio官方级别未说明来源级核验

Pyke MCP Server

MCP Server

Pyke MCP Server 是一个基于Pyke逻辑编程推理引擎的服务器,支持通过知识库进行逻辑推理,包括事实管理、规则定义和查询执行等功能,适用于人工智能和逻辑编程领域。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude人工智能Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

NewJerseyStyle

提供方

NewJerseyStyle

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install git+https://github.com/evertrol/pyke3 pyke-mcp

详细介绍

Pyke MCP Server

An MCP (Model Context Protocol) server for the Pyke logic programming inference engine. This server enables LLMs to perform logical reasoning through knowledge bases with facts, rules, and queries.

Features

  • Fact Management: Add ground truth facts to the knowledge base
  • Rule Definition: Define inference rules using forward chaining
  • Query Execution: Check if facts can be derived from the knowledge base
  • Goal Proving: Find all variable bindings that satisfy a goal
  • Session Management: Support multiple independent knowledge bases
  • Logic-LLM Compatible: Load programs in Logic-LLM format

Installation

Using pip

pip install git+https://github.com/evertrol/pyke3 pyke-mcp

From source

git clone https://github.com/NewJerseyStyle/pyke-mcp.git
cd pyke-mcp
pip install -e .

Dependencies

  • Python 3.10+
  • mcp>=1.2.0
  • pyke>=1.1.1 (Install from source by pip install git+https://github.com/evertrol/pyke3 but the package name is pyke not pyke3)

Quick Start

Running the Server

# Using the installed command
pyke-mcp

# Or using Python
python -m pyke_mcp.server

Configuration for Claude Desktop

Add to your claude_desktop_config.json:

macOS/Linux:

{
  "mcpServers": {
    "pyke": {
      "command": "pyke-mcp"
    }
  }
}

Windows:

{
  "mcpServers": {
    "pyke": {
      "command": "pyke-mcp"
    }
  }
}

Or with explicit Python path:

{
  "mcpServers": {
    "pyke": {
      "command": "python",
      "args": ["-m", "pyke_mcp.server"]
    }
  }
}

Available Tools

add_fact

Add a fact to the knowledge base.

Predicate(arg1, arg2, ...)

Examples:

  • Human(Socrates, True) - Socrates is human
  • Parent(John, Mary) - John is a parent of Mary

add_rule

Add an inference rule using forward chaining.

Premise >>> Conclusion
Premise1 && Premise2 >>> Conclusion

Examples:

  • Human($x, True) >>> Mortal($x, True) - All humans are mortal
  • Parent($x, $y) && Parent($y, $z) >>> Grandparent($x, $z) - Grandparent relationship

add_facts_and_rules

Bulk add multiple facts and rules at once.

query

Check if a specific fact can be derived.

Predicate(Subject, ExpectedValue)

Example:

  • Mortal(Socrates, True) - "Is Socrates mortal?"

prove_goal

Find all variable bindings that satisfy a goal.

Examples:

  • Mortal($who, True) - "Who is mortal?"
  • Parent($parent, Mary) - "Who are Mary's parents?"

get_program

Display the current knowledge base contents.

clear_program

Clear all facts and rules from the session.

load_logic_program

Load a complete logic program from formatted text (Logic-LLM compatible).

list_sessions

List all active sessions.

delete_session

Delete a specific session.

Usage Examples

Classic Syllogism

# Add facts
add_fact("Human(Socrates, True)")
add_fact("Human(Plato, True)")

# Add rule
add_rule("Human($x, True) >>> Mortal($x, True)")

# Query
query("Mortal(Socrates, True)")
# Result: True, Match: True

# Find all mortals
prove_goal("Mortal($who, True)")
# Bindings: who=Socrates, who=Plato

Family Relationships

# Facts
add_fact("Parent(Alice, Bob)")
add_fact("Parent(Bob, Charlie)")
add_fact("Parent(Bob, Diana)")

# Rules
add_rule("Parent($x, $y) && Parent($y, $z) >>> Grandparent($x, $z)")

# Find Alice's grandchildren
prove_goal("Grandparent(Alice, $grandchild)")
# Bindings: grandchild=Charlie, grandchild=Diana

Loading a Complete Program

program = """
Predicates:
Human(x, bool)
Mortal(x, bool)

Facts:
Human(Socrates, True)
Human(Aristotle, True)

Rules:
Human($x, True) >>> Mortal($x, True)

Query:
Mortal(Socrates, True)
"""

load_logic_program(program)

Logic Program Format

The server accepts programs in the Logic-LLM format:

Predicates:
PredicateName(arg1_type, arg2_type, ...)

Facts:
PredicateName(value1, value2, ...)

Rules:
Premise($var, value) >>> Conclusion($var, value)
Premise1($x, val) && Premise2($x, val) >>> Conclusion($x, val)

Query:
PredicateName(subject, expected_value)

Syntax Rules

  1. Facts: Ground assertions without variables

- Human(Socrates, True) - Age(John, 30)

  1. Rules: Implications with variables (prefixed with $)

- Human($x, True) >>> Mortal($x, True) - Multiple premises joined with &&

  1. Variables: Prefixed with $

- $x, $person, $value

  1. Values: Can be boolean (True/False) or strings

- True, False, Socrates, Blue

Session Management

The server supports multiple independent sessions:

# Create/use a session
add_fact("Human(Socrates, True)", session_id="philosophy")

# Use a different session
add_fact("Cat(Whiskers, True)", session_id="animals")

# List sessions
list_sessions()

# Delete a session
delete_session("philosophy")

Error Handling

The server provides clear error messages for:

  • Invalid fact/rule syntax
  • Query execution failures
  • Missing Pyke installation
  • Session not found

Based On

License

MIT License

目录标签

目录标签

PythonClaude人工智能逻辑编程本地部署知识库管理推理引擎规则引擎

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP