Skip to main content
Glama
HarleyVader

LLM Toolshed MCP Server

by HarleyVader
README.md
# LLM Toolshed MCP Server

An MCP (Model Context Protocol) server providing RAG (Retrieval Augmented Generation) and CAG (Context Augmented Generation) capabilities for BambiSleep knowledge base.

## Features

### Tools
- **rag_query**: Perform RAG queries on BambiSleep data
- **cag_context**: Build context-augmented generation from knowledge graph
- **extract_entities**: Extract entities and relationships for knowledge graph
- **semantic_search**: Semantic search across content
- **get_metadata**: Get knowledge base metadata

### Resources
- `bambisleep://data/structured` - Full structured JSON data
- `bambisleep://data/faq` - FAQ content
- `bambisleep://data/sessions` - Session index
- `bambisleep://data/triggers` - Triggers documentation
- `bambisleep://data/safety` - Safety information

## Installation

```bash
cd llm-toolshed-mcp-server
npm install
```

## Usage

### Run the server
```bash
npm start
```

### Configure in Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "llm-toolshed": {
      "command": "node",
      "args": ["/home/melkanea/llm-toolshed-mcp-server/index.js"]
    }
  }
}
```

## Data Structure

The server works with structured JSON data from bambisleep.info:

```json
{
  "metadata": {
    "source": "bambisleep.info",
    "fetched_at": "timestamp",
    "type": "bambi_sleep_wiki_content",
    "version": "1.0"
  },
  "content": {
    "faq": {...},
    "sessions": {...},
    "triggers": {...},
    "safety": {...},
    "transcripts": {...}
  },
  "rag_vectors": {...},
  "cag_context": {...}
}
```

## Example Queries

### RAG Query
```javascript
{
  "name": "rag_query",
  "arguments": {
    "query": "what is bambi sleep",
    "section": "faq",
    "max_results": 5
  }
}
```

### CAG Context
```javascript
{
  "name": "cag_context",
  "arguments": {
    "entity": "Bambi",
    "depth": 2
  }
}
```

### Extract Entities
```javascript
{
  "name": "extract_entities",
  "arguments": {
    "section": "triggers"
  }
}
```

## Architecture

- **MCP SDK**: Uses @modelcontextprotocol/sdk for server implementation
- **Resources**: Exposes BambiSleep data as MCP resources
- **Tools**: Provides RAG/CAG tools for LLM agents
- **Transport**: Stdio-based communication

## License

MIT

TDQS

B3.4/5.0

Scored across 5 tools

Disambiguation4/5

Most tools are distinct: extract_entities and get_metadata are clearly unique, while rag_query and semantic_search both relate to searching content but serve different purposes (finding information vs. generating answers). cag_context is about building context for generation, so it is distinct. Some ambiguity exists between rag_query and semantic_search, but descriptions clarify their roles.

Naming Consistency3/5

All names use snake_case, but they are not consistently verb_noun. extract_entities and get_metadata follow the verb_noun pattern, while rag_query, cag_context, and semantic_search are noun phrases with abbreviations (rag, cag). This mixes conventions and makes the names less predictable.

Tool Count5/5

Five tools is well-suited for a specialized knowledge base server, covering query, context, extraction, search, and metadata. Each tool serves a distinct function and none feel superfluous or missing.

Completeness4/5

The toolset covers the main operations for interacting with a knowledge base: querying (rag_query), searching (semantic_search), building context (cag_context), extracting entities (extract_entities), and retrieving metadata (get_metadata). It lacks tools for ingesting or managing content, but for an LLM-facing toolset, the core workflows are complete.

Maintenance

ActivityInactive
ResponsivenessNo issues