MCP Tooling Lab
Utilizes OpenAI's embedding models to generate vector representations of text, enabling semantic document indexing and retrieval for AI agents.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Tooling Lab Search the knowledge base for information on our refund policy"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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" }
}
]
}vector_search
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/chroma2. Install dependencies
pnpm install3. 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-small4. Run the MCP server
pnpm devUsing 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 buildExample workflow
Index documents:
Refunds are allowed within 30 days.
Enterprise customers receive priority support.
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 toolsembed_textC
Generate OpenAI embeddings for an array of texts.
Inputs: texts (required).
index_documentsC
Embed and index documents into Chroma.
Inputs: docs (required).
vector_searchB
Semantic search using embeddings + Chroma. Optional metadata filter via where.
Inputs: query (required), topK, where.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Remote ChromaDB vector database MCP server with streamable HTTP transport
The CustomGPT.ai MCP server is a fully managed, RAG-powered endpoint that connects large language models with private knowledge bases and external data sources. It provides tools for retrieval-augmented generation queries (send_message), data ingestion (upload_file), and source listing, enabling AI agents to query private documents like PDFs with high accuracy and real-time citations.
Related MCP Servers
- AlicenseBqualityDmaintenanceA 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.1110 npm1MIT
- AlicenseNot gradedqualityDmaintenanceAn 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
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.38 npmMIT
- AlicenseAqualityDmaintenanceMCP server for semantic code indexing using vector embeddings, enabling AI agents to maintain persistent memory of codebases through natural language queries and intelligent chunking.1912 npm4MIT