Retrieval-Augmented Thinking MCP Server
# RAT MCP Server (Node.js)
Retrieval Augmented Thinking MCP Server - A reasoning tool that processes structured thoughts with metrics, branching, and revision capabilities.
## Installation
### Simple 3-Step Process
```bash
git clone https://github.com/stat-guy/retrieval-augmented-thinking.git
cd retrieval-augmented-thinking
npm install -g .
```
### Verify Installation
Test that the installation worked:
```bash
npx mcp-server-rat-node --help
```
**Success indicator:** If you see `RAT MCP Server (Node.js) running on stdio`, your installation is ready!
## Claude Desktop Configuration
Add to your Claude Desktop configuration file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"retrieval-augmented-thinking": {
"command": "npx",
"args": ["mcp-server-rat-node"]
}
}
}
```
After adding the configuration, restart Claude Desktop to load the RAT server.
## Usage
The server provides a single `rat` tool for processing structured thoughts:
```javascript
// Basic usage
{
"thought": "I need to analyze this problem step by step...",
"nextThoughtNeeded": true,
"thoughtNumber": 1,
"totalThoughts": 3
}
// With revision
{
"thought": "Let me reconsider my previous analysis...",
"nextThoughtNeeded": false,
"thoughtNumber": 2,
"totalThoughts": 3,
"isRevision": true,
"revisesThought": 1
}
// With branching
{
"thought": "Alternative approach: what if we consider...",
"nextThoughtNeeded": true,
"thoughtNumber": 2,
"totalThoughts": 4,
"branchFromThought": 1,
"branchId": "alt-path-1"
}
```
## Tool Parameters
### Required
- `thought` (string): The thought content to process
- `nextThoughtNeeded` (boolean): Whether another thought is needed to continue
- `thoughtNumber` (integer): Current thought number in the sequence
- `totalThoughts` (integer): Total expected thoughts (adjustable)
### Optional
- `isRevision` (boolean): Whether this revises a previous thought
- `revisesThought` (integer): The thought number being revised
- `branchFromThought` (integer): Thought number to branch from
- `branchId` (string): Unique identifier for this branch
- `needsMoreThoughts` (boolean): Extend beyond totalThoughts if needed
## Response Format
```json
{
"thought_number": 1,
"total_thoughts": 3,
"metrics": {
"complexity": 0.342,
"depth": 0.521,
"quality": 0.643,
"impact": 0.289,
"confidence": 0.758
},
"analytics": {
"total_thoughts": 5,
"average_quality": 0.612,
"chain_effectiveness": 0.145
},
"next_thought_needed": true,
"visual_output": "āā š Thought 1/3 āāāāāāāāāāāāāāāāāā\\nā Analysis shows clear patterns... ā\\nāā Metrics āāāāāāāāāāāāāāāāāāāāāāā¤\\nā Quality: 0.64 | Impact: 0.29... ā\\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā"
}
```
## Troubleshooting
### If Installation Fails
The installation process includes automatic permission fixes. If you encounter issues:
1. **Ensure you have Node.js and npm installed**
2. **Try the alternative installation method:**
```bash
npm install -g git+https://github.com/stat-guy/retrieval-augmented-thinking.git
```
3. **For rare permission issues:**
```bash
chmod +x $(npm bin -g)/mcp-server-rat-node
```
### Verification Steps
Before configuring Claude Desktop, always verify:
```bash
npx mcp-server-rat-node --help
```
If this shows "RAT MCP Server (Node.js) running on stdio", you're ready to configure Claude Desktop.
## Testing
Run the test suite:
```bash
npm test
```
Test tool execution:
```bash
node test-tool.js
```
## License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or misselection. The tool's purpose, while broad, is clearly the sole entry point.
The single tool name 'rat' is vague and does not follow a clear verb_noun pattern or any recognizable convention. With only one tool, there's no consistent pattern to infer, and the name appears arbitrary.
Exposing just one tool is on the lower end of acceptable, borderline 'thin.' Although the tool is highly capable, a server focused on 'Retrieval-Augmented Thinking' might benefit from separate tools for retrieval and reasoning sub-tasks.
The server name implies both retrieval and thinking, but the tool only covers the reasoning aspect, missing retrieval or external context fetching. This leaves a significant gap in the expected functionality, and the single tool is overloaded with parameters rather than modularly covering the domain.