Skip to main content
Glama
README.md
# caveman-core-mcp

MCP server that teaches LLMs to respond in compressed caveman-style prose.  
Cuts output tokens ~65% while keeping full technical accuracy. Zero external dependencies.

## What it exposes

### Prompts

| Name | Effect |
|---|---|
| `caveman` | Full mode — drops articles, fillers, fragments OK |
| `caveman_lite` | Lite mode — removes filler/hedging, keeps articles and full sentences |
| `caveman_ultra` | Ultra mode — maximum compression, one word when one word enough |

### Resources

| URI | Content |
|---|---|
| `caveman://rules` | Full ruleset text |
| `caveman://rules/lite` | Lite ruleset text |
| `caveman://rules/ultra` | Ultra ruleset text |

### Tools

| Name | Description |
|---|---|
| `compress_text` | Post-process any text through the compression algorithm |

## Install

```json
{
  "mcpServers": {
    "caveman": {
      "command": "node",
      "args": ["/path/to/caveman-core-mcp/src/index.js"]
    }
  }
}
```

Or with `npx` after publishing:

```json
{
  "mcpServers": {
    "caveman": {
      "command": "npx",
      "args": ["caveman-core-mcp"]
    }
  }
}
```

## Usage

### Inject via prompt (recommended)

Use the `caveman` prompt at session start. The host sends the ruleset as context and the LLM adopts compressed mode for the rest of the session.

### Inject via resource

Read `caveman://rules` and include the text in your system prompt manually.

### Post-process text

Call the `compress_text` tool to strip filler from any already-generated text.

```json
{
  "name": "compress_text",
  "arguments": {
    "text": "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by a missing semicolon."
  }
}
```

Returns:

```json
{
  "content": [{ "type": "text", "text": "Issue caused by missing semicolon." }],
  "_meta": { "before": 95, "after": 35, "savedPercent": 63 }
}
```

## Requirements

- Node.js >= 18
- No npm dependencies

## Origin

Based on [caveman](https://github.com/JuliusBrussee/caveman) by Julius Brussee (MIT).

- `src/compress.js` — derived from `src/mcp-servers/caveman-shrink/compress.js`
- `src/skill.js` — derived from `skills/caveman/SKILL.md`
- `src/index.js` — new standalone MCP server built on top of the above

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap. The tool's purpose is clearly defined.

Naming Consistency5/5

The tool name 'compress_text' follows a clear verb_noun pattern, which is consistent and descriptive despite being the only tool.

Tool Count3/5

The server has just one tool, which is on the borderline of feeling thin. However, the tool's narrow scope (caveman-style text compression) makes the count acceptable.

Completeness5/5

The tool fully delivers on its stated purpose of compressing text, including preserving code blocks and returning character counts. No obvious gaps exist for this specific domain.

Maintenance

ActivityStale
ResponsivenessNo issues