原因mcp
A. 通用MCP服务器 这增强了LLM的推理和规划能力 项目特定领域知识。服务器公开了两个工具:
| 工具 | 说明 |
|---|---|
reasoning_analyze_context | 检索一组观察的相关领域规则和事实,返回Host LLM用于推理的精益知识包。 |
planning_generate_plan | 为目标生成一个经过验证的执行图(DAG),并在执行前通过模拟验证前/后条件。 |
服务器是 领域无关 --领域知识存储在ArangoDB中 在查询时注入。规则通过以下方式从JSON文件中播种 scripts/seed_arango.py.
______________________________________________________________________
快速启动
# Set up environment
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev,semantic]"
# Configure ArangoDB credentials
cp .env.example .env
# Edit .env: set REASON_ARANGO_URL, REASON_ARANGO_USER, REASON_ARANGO_PASSWORD
# Seed the built-in example rules into ArangoDB
python scripts/seed_arango.py
# Run the server
reason-mcp
# Run tests
pytest添加知识域
- 将新模块添加到
seeds/包装,例如。seeds/my_domain.py:
RULES: list[dict] = [
{
"rule_id": "MY-001",
"domain": "my_domain",
"active": True,
"trigger": {"keywords": ["example"]},
"conditions": {"natural_language": "Example condition."},
"reasoning": {"possible_causes": ["example cause"]},
"recommendation": {"action": "Do something.", "urgency": "low"},
"scoring": {"severity": 1, "specificity": 0.8},
},
]
EDGES: list[dict] = []- 在中注册
seeds/__init__.py通过导入和扩展RULES/EDGES.
- 种子进入ArangoDB:
python scripts/seed_arango.py不需要对服务器进行代码更改。
文档
| 文档 | 描述 |
|---|---|
| plans/architecture/mcp-server-architecture.md | 通用服务器——布局、部署、设计原则 |
| 计划/架构/推理工具-architecture.md | 推理工具组件深度挖掘 |
| 平面图/建筑/规划到建筑.md | 规划工具组件深度挖掘 |
| 计划/推理/ | 推理MCP合同和架构计划 |
| 计划/规划/ | 规划MCP合同和架构计划 |
| 需求/推理/ | 推理要求(REQ-001…REQ-018) |
| 需求/规划/ | 规划要求(REQ-016…REQ-027) |
项目布局
src/reason_mcp/ ← server + tool implementations
knowledge/
arango_client.py ← ArangoDB connection, CRUD, vector search
loader.py ← in-process LRU cache over ArangoDB
tools/reasoning/
embedder.py ← SentenceTransformer embeddings + search_rules()
filter.py ← semantic retrieval + catch-all rule inclusion
seeds/ ← initial domain knowledge as Python data
__init__.py ← aggregates RULES + EDGES from all domain modules
car_facts.py ← CarFacts domain (CAR-1, CAR-2, CAR-3)
praxis.py ← Praxisbesetzung domain (PRAX-1, PRAX-2 + fallback edges)
fleet_and_industrial.py ← fleet_tracking + industrial (6 rules)
scripts/seed_arango.py ← idempotent seed script (seeds package → ArangoDB)
tests/ ← unit tests (28 passing)
plans/ ← architecture documentation
requirements/ ← requirement specifications