ChromaDB MCP Server
# 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:8000`
- A collection named `ExchangeResearch` in your ChromaDB instance
## Installation
1. Install dependencies:
```bash
npm install
```
2. Build the project:
```bash
npm run build
```
## Configuration
The MCP server is configured in [.vscode/settings.json](.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`):
```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 string
- `nResults` (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:
```bash
npm run build
```
For continuous development with auto-rebuild:
```bash
npm run dev
```
## Customization
To use a different ChromaDB URL or collection name, edit [src/index.ts](src/index.ts):
```typescript
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:8000`
- **Tool not appearing:** Restart VS Code after adding the MCP configuration
- **Build errors:** Check that you have Node.js v18+ and run `npm install` again
This project is licensed under the MIT License.TDQS
Scored across 1 tool
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.