Skip to main content
Glama
bsmi021

Chain of Draft Thinking

by bsmi021
README.md
# MCP Chain of Draft Server 🧠

Chain of Draft Server is a powerful AI-driven tool that helps developers make better decisions through systematic, iterative refinement of thoughts and designs. It integrates seamlessly with popular AI agents and provides a structured approach to reasoning, API design, architecture decisions, code reviews, and implementation planning.

## 🌟 Features

### Core Capabilities

* **Iterative Reasoning**: Systematic improvement through the Chain of Draft protocol
* **Thought History**: Track and manage reasoning iterations
* **Branching Support**: Focus reviews on specific reasoning steps
* **TypeScript Support**: Full TypeScript implementation with Zod validation
* **Error Handling**: Comprehensive error types and handling
* **Real-time Logging**: Built-in debugging and monitoring system

## šŸš€ Getting Started

### Prerequisites

* Node.js >= 16.0.0
* npm >= 8.0.0

### Installation

1. Clone the repository:

```bash
git clone https://github.com/bsmi021/mcp-chain-of-draft-server.git
cd mcp-chain-of-draft-server
```

2. Install dependencies:

```bash
npm install
```

### Configuration

Simple server configuration in `initialize.ts`:

```typescript
const serverConfig = {
    name: "chain-of-draft",
    version: "1.0.0",
}
```

## šŸ’” Usage Examples

### Chain of Draft Protocol

```typescript
const thoughtData = {
    reasoning_chain: ["Initial analysis of the problem"],
    next_step_needed: true,
    draft_number: 1,
    total_drafts: 3,
    is_critique: true,
    critique_focus: "logical_consistency"
};
```

## šŸ› ļø Development

### Project Structure

```
src/
ā”œā”€ā”€ tools/                          # Specialized Tools
│   ā”œā”€ā”€ chainOfDraft/              # Core Protocol
│   └── index.ts / # Entry Point
ā”œā”€ā”€ utils/                         # Utilities
└── index.ts                      # Entry Point
```

### Starting Development Server

```bash
npm run dev
```

## ā“ FAQ

### How does the Chain of Draft protocol work?

The protocol guides you through systematic improvement of your thinking through iterative drafts and focused critiques.

### Can I customize the critique dimensions?

Yes! Each tool supports custom critique focuses tailored to your specific needs.

### How many drafts should I plan for?

We recommend 3-5 drafts for most tasks, but you can adjust based on complexity.

## šŸ¤ Contributing

We welcome contributions! Please check our [Contributing Guidelines](CONTRIBUTING.md).

## šŸ‘„ Community & Support

* GitHub Issues - Report bugs or suggest features
* Pull Requests - Submit your contributions
* Documentation - Check our detailed docs

## šŸ“ License

MIT License - see the [LICENSE](LICENSE) file for details.

## šŸ™ Acknowledgments

* Thanks to our contributors and early adopters
* Special thanks to the MCP community
* Inspired by systematic reasoning methodologies

---

Made with 🧠 by @bsmi021

TDQS

A4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clearly defined purpose: structured iterative reasoning with critique and revision cycles. This eliminates any ambiguity in tool selection entirely.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The tool name 'chain-of-draft' follows a clear, descriptive kebab-case pattern that matches the server name, establishing a coherent identity without any naming conflicts or variations.

Tool Count2/5

A single tool is generally too few for most server purposes, as it limits functionality and forces all operations through one interface. While this tool is complex and multi-faceted, a server with only one tool often feels thin and may not provide adequate coverage for varied tasks, suggesting a mismatch between the tool's depth and the server's scope.

Completeness3/5

The tool comprehensively covers the iterative reasoning process with parameters for drafts, critiques, and revisions, but as a single-tool server, it inherently lacks breadth. There are no obvious gaps within its defined domain of structured reasoning, but the server's overall surface is limited to this one function, which may not suffice for broader problem-solving needs.

Maintenance

ActivityInactive
ResponsivenessNo issues