ChromaDB MCP Server
Enables GitHub Copilot to query a local ChromaDB instance and retrieve relevant documents to provide context for AI-assisted coding and research conversations.
Click on "Install 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., "@ChromaDB MCP ServerSearch for documents related to high-frequency trading strategies"
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.
ChromaDB MCP Server
A Model Context Protocol (MCP) server that queries a local ChromaDB instance to provide relevant documents to GitHub Copilot.
Prerequisites
Node.js (v18 or later)
A running ChromaDB instance at
http://127.0.0.1:8000A collection named
ExchangeResearchin your ChromaDB instance
Related MCP server: Enterprise Code Search MCP Server
Installation
Install dependencies:
npm installBuild the project:
npm run build
Configuration
The MCP server is configured in .vscode/settings.json to integrate with GitHub Copilot in VS Code.
To use it globally (across all projects), add this to your User Settings (settings.json):
{
"github.copilot.chat.mcp.servers": {
"chromadb": {
"command": "node",
"args": ["c:/source/chroma-mcp/build/index.js"]
}
}
}Replace the path with the absolute path to your built index.js file.
Usage
Once configured, the MCP server will automatically start when you use GitHub Copilot in VS Code. You can use the query_chromadb tool in your Copilot conversations:
Example prompts:
"Query ChromaDB for information about exchange APIs"
"Search the ExchangeResearch collection for trading strategies"
"Find documents related to market data"
The tool will automatically query your ChromaDB collection and provide relevant context to Copilot.
Tool Details
query_chromadb
Queries the ChromaDB ExchangeResearch collection for relevant documents.
Parameters:
query(required): The search query stringnResults(optional): Number of results to return (default: 5)
Returns: An array of documents with metadata and similarity distances.
Development
To rebuild the project after making changes:
npm run buildFor continuous development with auto-rebuild:
npm run devCustomization
To use a different ChromaDB URL or collection name, edit src/index.ts:
const chromaClient = new ChromaDbClient('http://127.0.0.1:8000', 'ExchangeResearch');Troubleshooting
Server not responding: Ensure ChromaDB is running at
http://127.0.0.1:8000Tool not appearing: Restart VS Code after adding the MCP configuration
Build errors: Check that you have Node.js v18+ and run
npm installagain
This project is licensed under the MIT License.
Available Tools
1 toolquery_chromadbB
Query the ChromaDB ExchangeResearch collection for relevant documents. Use this to find information related to exchange research, trading, or financial data.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to find relevant documents in the ChromaDB collection | |
| nResults | No | Number of results to return (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states the tool queries for documents but doesn't describe what the query does (e.g., semantic search, keyword matching), how results are ranked, error conditions, rate limits, or authentication needs. This leaves significant behavioral gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly address purpose and usage. It's front-loaded with the core function. While efficient, it could be slightly more structured by separating behavioral details, but it avoids unnecessary verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a query tool. It covers the basic purpose and domain but lacks details on return format (e.g., document structure, metadata), error handling, or performance characteristics. This is minimally adequate but has clear gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. It mentions 'query' generically but doesn't elaborate on query syntax or 'nResults' behavior. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Query the ChromaDB ExchangeResearch collection for relevant documents.' It specifies the verb (query), resource (ChromaDB ExchangeResearch collection), and target outcome (find relevant documents). However, with no sibling tools mentioned, it cannot demonstrate differentiation from alternatives, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context: 'Use this to find information related to exchange research, trading, or financial data.' This gives general guidance on when to use the tool but lacks explicit when-not-to-use scenarios or named alternatives. With no sibling tools, it cannot offer comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as querying a specific collection in ChromaDB for exchange research data.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'query_chromadb' follows a clear verb_noun pattern, though no pattern can be established across multiple tools.
A single tool is insufficient for a database server's scope, which typically requires operations like create, update, delete, or list collections. This feels thin and limits functionality to basic queries only.
The tool surface is severely incomplete for a ChromaDB server. It only supports querying a specific collection, missing essential operations such as creating collections, inserting documents, updating data, or managing collections, which are critical for database interactions.
Maintenance
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
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search your knowledge bases from any AI assistant using hybrid RAG.
Ask any GitHub repository a question. Get source-backed answers.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables LLMs to perform semantic search and document management using ChromaDB, supporting natural language queries with intuitive similarity metrics for retrieval augmented generation applications.
- AlicenseAqualityDmaintenanceEnables semantic code search across local projects and Git repositories using AI embeddings with ChromaDB. Supports both OpenAI and local Ollama models for private, enterprise-ready code analysis and similar code discovery.44MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to semantically search through indexed documentation websites and local code repositories using OpenAI embeddings and ChromaDB vector storage.
- AlicenseNot gradedqualityDmaintenanceEnables AI coding assistants to search and retrieve information from a locally ingested knowledge base using hybrid search, grounded in user-curated documentation.17MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/scooby359/chroma-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server