Skip to main content

MCP server for systemic reasoning — 7-lens analytical framework, bileshke composite engine, kavaid constraints, inference chains, and Holographic Context Protocol. Plug into VS Code Copilot Chat.

Project description

dusun — Systemic Reasoning MCP Server

An MCP server that adds 7-lens systemic analysis to VS Code Copilot Chat. Install in 2 minutes. Zero configuration.

pip install dusun

Then add to your .vscode/mcp.json:

{
  "servers": {
    "fw-engine": {
      "type": "stdio",
      "command": "fw-engine"
    }
  }
}

Restart VS Code. Done. The 8 tools appear in Copilot Chat automatically.


What It Does

dusun exposes a systemic reasoning engine as an MCP (Model Context Protocol) server. It gives your AI assistant structured analytical tools instead of relying on pure text generation:

Tool What It Does
run_single_lens Execute 1 of 7 analytical lenses on a concept
run_bileshke_pipeline Run all 7 lenses → composite score + quality report
check_kavaid Evaluate 8 formal constraints (boundary conditions)
verify_chains Verify inference chains from the framework DAG
get_framework_summary Aggregate summary from all modules
hcp_ingest Ingest context into the Holographic Context Protocol
hcp_query Query HCP for relevant chunks (seed-modulated attention)
hcp_diagnostics Return HCP diagnostic state

The 7 Lenses

Each lens is an independent analytical instrument (no shared state between them):

# Lens Domain Instrument
1 Ontoloji Concept ontology, Name mapping kavram_sozlugu
2 Mereoloji Part-whole, teleological structure mereoloji
3 FOL First-order logic, axiom extraction fol_formalizasyon
4 Bayes Bayesian inference, probability update bayes_analiz
5 OyunTeorisi Game theory, strategic interaction oyun_teorisi
6 KategoriTeorisi Functor verification, natural transformations kategori_teorisi
7 Topoloji + Holografik Topological/holographic analysis holografik

The bileshke (composite) engine combines all 7 lens outputs into a single quality score with coverage vectors, epistemic grades, and constraint checks.


Installation

Option 1: pip (recommended)

pip install dusun

Option 2: pipx (isolated environment)

pipx install dusun

Option 3: uvx (no install needed)

// .vscode/mcp.json
{
  "servers": {
    "fw-engine": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "dusun", "fw-engine"]
    }
  }
}

Option 4: From source

git clone https://github.com/kaantahti/dusun.git
cd dusun
pip install .

VS Code Setup

1. Create .vscode/mcp.json in your workspace

{
  "servers": {
    "fw-engine": {
      "type": "stdio",
      "command": "fw-engine"
    }
  }
}

Windows with venv? Use the full path:

{
  "servers": {
    "fw-engine": {
      "type": "stdio",
      "command": "C:/Users/you/path/to/venv/Scripts/fw-engine.exe"
    }
  }
}

2. Restart VS Code

The fw-engine server appears in Copilot Chat's tool list. You can now use all 8 tools directly in chat.

3. Use in Copilot Chat

@copilot run the bileshke pipeline on the concept "tree"
@copilot check kavaid constraints with composite score 0.82
@copilot ingest this text into HCP and then query for "causation"

Claude Desktop Setup

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "fw-engine": {
      "command": "fw-engine"
    }
  }
}

CLI Usage

# Start MCP server on stdio
fw-engine

# Or run as a Python module
python -m fw_server

Architecture

Input → 7 Independent Lenses → Bileshke (Composite Engine) → Quality Report
              ↓                         ↓                         ↓
        Each lens runs              Weighted sum              Coverage vectors
        in isolation               (always < 1.0)            Epistemic grades
        (no shared state)                                    8 kavaid checks
                                                             AX57 disclosure

Key Properties

  • Independence (KV₇): Each lens runs in a fresh instance — no shared state, no contamination
  • Convergence bound (KV₄): Composite score is always strictly < 1.0 — the map is never the territory
  • Multiplicative gate (AX52): Zero in ANY dimension = system failure (not averaged away)
  • Epistemic ceiling (AX56): Maximum grade is İlmelyakîn (demonstrative certainty) — never claims more
  • Transparency (AX57): Every response discloses which lenses were used and which were not

Quality Framework

Component What It Checks
Q-1 Coverage Are all 7 faculties engaged? Multiplicative gate.
Q-2 Grade Epistemic degree: Tasavvur → Tasdik → İlmelyakîn
Q-3 Kavaid All 8 formal constraints pass?
Q-4 Completeness Max 6/7 — one dimension permanently inaccessible

Also Includes: ai_assert

A zero-dependency runtime constraint verifier for AI outputs:

from ai_assert import ai_assert, valid_json, max_length, contains

result = ai_assert(
    prompt="Return a JSON object with a 'greeting' key",
    constraints=[valid_json(), max_length(200), contains("hello")],
    generate_fn=my_llm,
    max_retries=3,
)

278 lines, zero dependencies, works with any LLM. See examples/basic_usage.py.


Also Includes: arc_solver

A pure-stdlib ARC-AGI solver with ~25 DSL primitives:

python arc_eval.py ARC-AGI/data/training -v
# 33/400 = 8.2% on ARC-AGI-1 training set, 83 seconds, zero dependencies

Requirements

  • Python ≥ 3.10
  • mcp >= 1.20 (installed automatically)

Development

git clone https://github.com/kaantahti/dusun.git
cd dusun
pip install -e .
python -m pytest tests/ -q

1694 tests, all passing.


License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dusun-1.0.0.tar.gz (271.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dusun-1.0.0-py3-none-any.whl (167.6 kB view details)

Uploaded Python 3

File details

Details for the file dusun-1.0.0.tar.gz.

File metadata

  • Download URL: dusun-1.0.0.tar.gz
  • Upload date:
  • Size: 271.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.2

File hashes

Hashes for dusun-1.0.0.tar.gz
Algorithm Hash digest
SHA256 144c8369537f8d4e03967ec59ec72110e7266f090237e7c4df8ad7a1d6749a29
MD5 ec4267a55c59c814d0853e482727538d
BLAKE2b-256 a30c7a4a345e3a5af5df10df54dfc82ee2bb6e7ebeb5b6e4edea8e256faf9686

See more details on using hashes here.

File details

Details for the file dusun-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: dusun-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 167.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.2

File hashes

Hashes for dusun-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20cd74756837fb669db7aeb17803d2657920254f09bcdbfab997cb52cb920e99
MD5 7d3d57e84bec40f7930b9efa061855a6
BLAKE2b-256 274bff8498114375f2465cbf40ca61970dd91bb058a3ebb0737c2d408614ffbb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page