Skip to main content
Glama
scooby359
by scooby359
README.md
# 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

B3.3/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues