Skip to main content
Glama
kruschdev

krusch-sequential-mcp

by kruschdev
README.md
<p align="center">
  <strong>Krusch Sequential MCP</strong>
</p>

<p align="center">
  <strong>An advanced Model Context Protocol (MCP) server for reflective chain-of-thought, augmented with Semantic Plausibility Gating and DBOS PostgreSQL persistence.</strong>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/krusch-sequential-mcp"><img src="https://img.shields.io/npm/v/krusch-sequential-mcp.svg?style=flat-square" alt="NPM Version"></a>
  <a href="https://github.com/kruschdev/krusch-sequential-mcp/blob/main/LICENSE"><img src="https://img.shields.io/github/license/kruschdev/krusch-sequential-mcp.svg?style=flat-square" alt="License"></a>
  <img src="https://img.shields.io/badge/node-%3E%3D18-blue.svg?style=flat-square" alt="Node Version">
</p>

---

## ⚡ Why Krusch Sequential MCP?

The standard `sequential-thinking` MCP provides a great tool for chain-of-thought reasoning, but it suffers from the "Telephone Game" problem in multi-agent environments, where agents can confidently hallucinate ungrounded thoughts that poison the context window.

`krusch-sequential-mcp` solves this by introducing **Semantic Plausibility Gating** alongside a highly reliable **DBOS PostgreSQL persistence** layer.

### Key Features
- **🧠 Semantic Plausibility Gating:** Autonomously rejects drifted or hallucinated thoughts via an edge model evaluator.
- **💾 DBOS PostgreSQL Persistence:** Synchronously persists every thought, branch, and revision into a `dbos_thoughts` table, creating an auditable DAG of reasoning.
- **🛑 Deterministic State Reliability:** Halts poisoned thought execution, forcing agents to re-evaluate their reasoning path.
- **🔌 Drop-In Replacement:** Fully compatible with the standard `sequential-thinking` interface while supporting the new `groundingContext` parameter.
- **📦 Zero External Dependencies:** The plausibility evaluator is fully self-contained — no external toolkit required.

---

## 🧠 Architecture: Semantic Plausibility Gate

When an agent proposes a thought, the internal evaluator screens it against the provided `groundingContext`.

```mermaid
graph TD;
    A[Agent Thought Proposed] --> B{Grounding Context Provided?};
    B -- No --> C[Accept & Persist to DBOS];
    B -- Yes --> D[Edge Model Evaluator];
    D -- Plausible --> C;
    D -- Hallucinated/Drifted --> E[Reject Thought];
    E --> F[Return Soft Error to Agent];
    F --> G[Agent Re-evaluates];
```

---

## 📦 Installation

```bash
npm install -g krusch-sequential-mcp
```

Or configure it in your MCP settings file (e.g., `claude_desktop_config.json` or `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "krusch-sequential-mcp": {
      "command": "npx",
      "args": ["-y", "krusch-sequential-mcp"]
    }
  }
}
```

---

## 🚀 Quick Start Guide

Agents can invoke the `sequentialthinking` tool with the standard parameters (`thought`, `thoughtNumber`, `totalThoughts`, `nextThoughtNeeded`, etc.). 

To engage the plausibility gate, include the `groundingContext` parameter in your tool call:

```json
{
  "thought": "Since the user is asking about the database schema, I will assume it uses MongoDB and write a query for it.",
  "thoughtNumber": 1,
  "totalThoughts": 3,
  "nextThoughtNeeded": true,
  "groundingContext": "The current codebase exclusively uses DBOS PostgreSQL for persistence. No NoSQL databases are present."
}
```
*Because the thought conflicts with the `groundingContext`, the evaluator will autonomously reject it, returning an error to the agent to rethink its approach.*

---

## ⚙️ Environment Variables

| Variable | Required | Default | Description |
|---|---|---|---|
| `DATABASE_URL` | No | *(none — persistence disabled)* | PostgreSQL connection string (e.g., `postgres://user:pass@localhost:5432/mydb`). If not set, the server runs in memory-only mode. |
| `OLLAMA_URL` | No | `http://localhost:11434` | Base URL to the Ollama service for plausibility checks. |
| `PLAUSIBILITY_MODEL` | No | `qwen2.5-coder:1.5b` | Ollama model used for plausibility screening. Should be a small, fast model. |

Copy `.env.example` for a quick start:
```bash
cp .env.example .env
```

---

## 🤝 Contributing

We welcome contributions! Please ensure your tests pass and adhere to the project formatting standards.
Run tests via `npm run build` and `npm start` (or `node build/index.js`).

## 📄 License

MIT License © 2026 kruschdev

TDQS

B3/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion or overlap. The tool's purpose is singular and clear.

Naming Consistency5/5

With a single tool, naming consistency is trivially satisfied. The name 'sequentialthinking' is descriptive and matches the server's focus.

Tool Count3/5

The server has exactly one tool, which feels minimal. While it is appropriate for a focused sequential thinking utility, the count is on the borderline of being too thin.

Completeness4/5

The tool appears to provide a comprehensive capability for sequential thinking and problem-solving. However, being the only tool, there may be missing auxiliary operations like reset or history, though no obvious gaps are evident.

Maintenance

ActivityInactive
ResponsivenessNo issues