Back to Browse

Embedbase MCP Server

Developer ToolsModerate5.6MCP RegistryLocal
Free

Server data from the Official MCP Registry

Vector collections and document search backed by a Chroma HTTP service.

About

Vector collections and document search backed by a Chroma HTTP service.

Security Report

5.6
Moderate5.6Moderate Risk

embedbase is a focused client for a Chroma-compatible HTTP API with no shell execution, no dynamic code evaluation, no hardcoded secrets, and no data sent to undisclosed endpoints. The main concerns are that the server sends no authentication headers and that delete operations are not guarded, including a deleteDocuments path that can send an empty filter. Permissions match the stated purpose. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 10 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-embedbase": {
      "args": [
        "-y",
        "@reneturcios/embedbase"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

embedbase

embedbase gives an agent — or you, at a terminal — a tidy way to work with vector collections: create them, fill them with documents, and query them for the closest matches. It speaks to a Chroma-compatible HTTP service over its v2 REST API, so the embedding store stays a separate process and this tool stays a thin, testable client.

Point it at a running service with CHROMA_URL or EMBEDBASE_URL (without either, it assumes http://localhost:8000). Collections are addressed by name at the MCP and CLI layers; internally the client resolves each name to its server id before calling the id-scoped document endpoints, exactly as the REST API requires.

Install

npx @reneturcios/embedbase list

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/embedbase

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

# List collections (pagination is optional)
embedbase list --limit 20 --offset 0

# Inspect one collection, or count its records
embedbase info notes
embedbase count notes

# Create a collection
embedbase create notes

# Start the MCP server
embedbase mcp

embedbase --version

Exit codes: 0 on success, 1 when the service call fails (the error includes the HTTP status), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/embedbase mcp

MCP client configuration:

{
  "mcpServers": {
    "embedbase": {
      "command": "npx",
      "args": ["-y", "@reneturcios/embedbase", "mcp"],
      "env": { "CHROMA_URL": "http://localhost:8000" }
    }
  }
}

Tools

All tools take collection_name (string) unless noted. Optional parameters are omitted from the request when not supplied.

ToolRequiredOptionalPurpose
chroma_list_collections—limit, offset (integers)List collections with pagination.
chroma_create_collectioncollection_namemetadata (object), embedding_function_name (string)Create a collection.
chroma_peek_collectioncollection_namelimit (integer)Preview documents in a collection.
chroma_get_collection_infocollection_name—Collection metadata and configuration.
chroma_get_collection_countcollection_name—Number of records in a collection.
chroma_modify_collectioncollection_namenew_name, new_metadataRename or re-tag a collection.
chroma_delete_collectioncollection_name—Delete a collection and its records.
chroma_add_documentscollection_name, documents (string array)metadatas, idsAdd documents; ids are generated deterministically when omitted.
chroma_query_documentscollection_name, query_texts (string array)n_results, where, where_document, includeNearest-neighbour query.
chroma_get_documentscollection_nameids, where, limit, offset, includeFetch documents by id or filter.
chroma_update_documentscollection_name, idsdocuments, metadatas, embeddingsUpdate existing records.
chroma_delete_documentscollection_nameids, whereDelete records by id or filter.

Requests go to the v2 tenant/database paths (/api/v2/tenants/default_tenant/databases/default_database/collections...). Service errors come back as tool errors carrying the HTTP status — results are never invented.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only, no live service
npm run dev     # run the CLI from source via tsx

The client core sits behind an injectable fetch function, which is what the test suite drives: URL construction, request bodies, id resolution, count unwrapping, and error surfacing are all covered without a running server.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!