Skip to main content
Glama
HarleyVader

LLM Toolshed MCP Server

by HarleyVader

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

Related MCP server: RAG Memory MCP

Installation

cd llm-toolshed-mcp-server
npm install

Usage

Run the server

npm start

Configure in Claude Desktop

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

{
  "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:

{
  "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

{
  "name": "rag_query",
  "arguments": {
    "query": "what is bambi sleep",
    "section": "faq",
    "max_results": 5
  }
}

CAG Context

{
  "name": "cag_context",
  "arguments": {
    "entity": "Bambi",
    "depth": 2
  }
}

Extract Entities

{
  "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

Available Tools

5 tools
cag_contextC

Build CAG (Context Augmented Generation) from BambiSleep knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoDepth of relationship traversal
entityYesEntity to build context around (e.g., trigger name, session name)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits, but it only says 'Build CAG' without explaining side effects, output format, or any processing details. It gives a minimal hint of construction but fails to convey what the agent should expect regarding safety or results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly conveys the action and resource. It is appropriately concise with no wasted words. It could be slightly expanded to include usage context, but as written it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description is incomplete. It tells what the tool does but does not explain what the generated CAG looks like, how depth affects the result, or any return format. An agent would lack critical invocation guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both 'entity' and 'depth' have descriptions). The tool description adds no extra parameter meaning beyond what the schema provides, which aligns with the baseline 3 for high coverage. It does not compensate with additional context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Build') and resource ('BambiSleep knowledge graph'), and introduces the acronym CAG (Context Augmented Generation). It clearly differs from sibling tools like rag_query or semantic_search by emphasizing construction of context. However, it does not explain what CAG output entails, so it is clear but not fully precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to use this tool versus alternatives. There is no mention of prerequisites, scenarios, or exclusions. The description only states the action, leaving the agent to infer usage without support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_entitiesA

Extract entities and relationships from BambiSleep content for knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYesWhich section to extract from

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the action but does not disclose any behavioral traits such as output format, side effects, or required permissions, leaving the agent with only the bare function. This is insufficient for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence with no wasted words, front-loading the action and purpose. Every word earns its place, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one documented parameter, but the description omits how the 'section' parameter affects extraction and does not specify the output format beyond 'entities and relationships'. With no output schema, this gap in return value detail reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single 'section' parameter with enum values and a description, so schema description coverage is 100%. The description adds no additional parameter semantics beyond what the schema already provides, meeting the baseline but not exceeding it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'extract' and identifies the resource 'entities and relationships' from 'BambiSleep content', clearly distinguishing it from the sibling search/query tools. It clearly states the tool's function and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives are provided. The implied use case is when structured entity/relationship extraction is needed, but the description does not contrast with sibling tools like rag_query or semantic_search, leaving usage guidance implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_metadataA

Get metadata about the BambiSleep knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the only source of behavioral disclosure. It only says 'Get metadata' but does not mention read-only nature, return format, potential cost, or any other behavioral traits, which is a gap even for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that wastes no words. It clearly conveys the tool's purpose without any filler, fitting the conciseness ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no params, no output schema) and the description adequately defines its scope relative to siblings. While it could list example metadata items, the minimal complexity keeps this from being a major gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds no parameter semantics (as there are none), but it clarifies the target resource ('BambiSleep knowledge base'), which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves metadata about the BambiSleep knowledge base, using a specific verb ('get') and resource ('metadata'). This distinguishes it from sibling tools that handle queries, search, or entity extraction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There are no mentions of use cases, exclusions, or comparisons with sibling tools, leaving the agent without decision-making context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rag_queryC

Perform RAG (Retrieval Augmented Generation) query on BambiSleep data

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe query to search for in the knowledge base
sectionNoWhich section to search (default: all)
max_resultsNoMaximum number of results to return

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'RAG' which implies generation, but does not disclose whether the tool is read-only, what the output format is, or any side effects (e.g., costs, latency). This is a significant gap for a query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence without wasted words. However, it is bare-bones and does not preface key details like scope or result format, so slightly more structure could improve usefulness without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description should explain return values and usage context. It does neither. Given the complexity of RAG (with generation) and the existence of a similar sibling tool, the description is incomplete for an agent to fully select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides descriptions for all three parameters, giving 100% coverage. The description adds no extra meaning beyond the schema, so it relies on the baseline for high coverage. No additional semantic insight is offered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Perform RAG query') and the resource ('BambiSleep data'), making it distinct from generic queries. However, it does not explicitly distinguish itself from the sibling tool 'semantic_search', which could cause confusion about which to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like semantic_search, or when not to use it. The description simply states what it does without any contextual direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An advanced MCP server providing RAG-enabled memory through a knowledge graph with vector search capabilities, enabling intelligent information storage, semantic retrieval, and document processing.
    25
    47
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    RAG-enabled MCP server that uses Google Gemini for embeddings and Supabase for vector storage, enabling semantic search and document similarity matching through natural language queries.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HarleyVader/llm-toolshed-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server