Skip to main content
Glama

Executive Overview

This service demonstrates how modern AI systems can securely interact with real data and internal tools using the Model Context Protocol (MCP).

It exposes a small set of AI-accessible capabilities — generating embeddings, indexing documents, and performing semantic search — backed by a vector database. An AI agent can use these tools to retrieve relevant information on demand, rather than relying on static training data.

In practical terms, this pattern enables use cases such as:

  • internal knowledge assistants

  • customer support copilots

  • AI-powered search over company documents

  • agent workflows that safely access enterprise data

This project mirrors how AI tooling is deployed in production environments where models must interact with real systems in a controlled, auditable way.

MCP Tooling Lab (Node.js)

This project implements a custom Model Context Protocol (MCP) server in Node.js that exposes tools for:

  • generating embeddings using OpenAI

  • indexing documents into a vector database (Chroma)

  • performing semantic vector search with optional metadata filters

The server is designed to be used by MCP-compatible hosts (e.g. Claude Desktop) and demonstrates real-world agent tooling patterns used in modern AI systems.


Related MCP server: ChromaDB MCP Server

Why this exists

This lab demonstrates hands-on experience with:

  • MCP server implementation

  • tool schemas and validation

  • embedding pipelines

  • vector database integration

  • agent-accessible retrieval infrastructure

This mirrors how AI tooling is deployed in customer-facing and forward-deployed engineering contexts.


Tools exposed

embed_text

Generates OpenAI embeddings for an array of input strings.

Input

{
  "texts": ["string", "..."]
}

index_documents

Embeds and indexes documents into a Chroma collection.

Input

{
  "docs": [
    {
      "id": "doc-id",
      "text": "document text",
      "metadata": { "optional": "metadata" }
    }
  ]
}

Performs semantic search over indexed documents using embeddings.

Input

{
  "query": "search query",
  "topK": 5,
  "where": { "optional": "metadata filter" }
}

Tech stack

  • Node.js + TypeScript

  • OpenAI Embeddings (text-embedding-3-small)

  • Chroma vector database

  • MCP SDK (@modelcontextprotocol/sdk)

  • Zod for schema validation

  • Docker (for local Chroma)


Running locally

1. Start Chroma

docker run --rm -p 8000:8000 chromadb/chroma

2. Install dependencies

pnpm install

3. Configure environment

Create a .env file:

OPENAI_API_KEY=your_openai_key
CHROMA_URL=http://localhost:8000
CHROMA_COLLECTION=mcp_tooling_lab
OPENAI_EMBED_MODEL=text-embedding-3-small

4. Run the MCP server

pnpm dev

Using with Claude Desktop (MCP host)

Claude Desktop launches MCP servers in an isolated environment. Required environment variables must be passed explicitly via the config file.

Example claude_desktop_config.json

{
  "mcpServers": {
    "mcp-tooling-lab": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/dist/server.js"
      ],
      "env": {
        "OPENAI_API_KEY": "your_openai_key"
      }
    }
  }
}

Note: The server must be built before use with Claude Desktop:

pnpm build

Example workflow

  1. Index documents:

    • Refunds are allowed within 30 days.

    • Enterprise customers receive priority support.

  2. Query:

    • What is the refund policy?

The host agent will automatically call the appropriate MCP tools to retrieve context and generate a grounded response.


Next steps

Planned extensions in follow-up labs:

  • RAG pipeline with evaluation

  • Agentic workflows using function calling + retrieval

  • Metadata filtering and chain-style orchestration

  • PGVector-backed retrieval


Disclaimer

This is a learning and demonstration project intended to showcase MCP-based AI tooling patterns.

Available Tools

3 tools
embed_textC

Generate OpenAI embeddings for an array of texts.

Inputs: texts (required).

index_documentsC

Embed and index documents into Chroma.

Inputs: docs (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: embed_text handles raw embedding generation, index_documents combines embedding with indexing, and vector_search performs semantic search. The descriptions clearly differentiate their roles in the embedding/indexing/search pipeline.

    Naming Consistency5/5

    All three tools follow a consistent verb_noun pattern with snake_case: embed_text, index_documents, and vector_search. The naming is predictable and follows the same convention throughout.

    Tool Count3/5

    With only 3 tools, the count feels thin for a 'Tooling Lab' server, which might imply broader capabilities. However, for a focused embedding/indexing/search domain, the minimal set is functional but could benefit from additional utilities like document management or configuration tools.

    Completeness4/5

    The tools cover the core embedding-to-search pipeline well: create embeddings, index them, and search. Minor gaps include lack of document deletion/update operations and no direct embedding storage management, but agents can work around these with the existing tools.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A complete MCP server for Retrieval-Augmented Generation with file management and vector memory for agents. Supports multiple document formats (PDF, DOCX, TXT, MD, CSV, JSON) with semantic search using Hugging Face embeddings and ChromaDB for efficient vector storage.
      11
      10 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that exposes ChromaDB vector database operations, enabling AI assistants to perform collection management and semantic document searches. It supports HTTP, persistent, and in-memory connection modes along with various embedding providers including OpenAI and HuggingFace.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Local-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.
      3
      8 npm
      MIT