Embedbase

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

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

VerifiedSTDIODesktop onlyDatabasesKnowledge & Memory

Overview

AI-generated overview

A thin stdio MCP client for a Chroma-compatible vector service, letting an assistant create collections, add documents and run nearest-neighbour queries.

What you can do
  • List, create, inspect, rename and delete vector collections, with pagination and counts
  • Preview stored documents and read collection metadata and configuration
  • Add documents with optional metadata and ids, and update existing records
  • Query collections for nearest matches to given texts, and fetch or delete documents by id or filter
When to use it
Useful when you already run a Chroma-compatible vector service and want an assistant to manage its collections and documents directly — building or inspecting a small embedding store, seeding documents, or running similarity queries without writing API calls by hand.
Requirements
Runs locally via npx or the Docker image; needs a reachable Chroma-compatible HTTP service, configured with CHROMA_URL or EMBEDBASE_URL (defaults to No accounts or API keys are declared.
Before you install
Tools can create, rename, update and delete collections and documents, including bulk deletion by filter, so changes hit the live vector store. Point it only at a service you intend to modify, and be aware that document text and metadata are sent to that service.

Installation

In SourceWeft

  1. Open Embedbase in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

bash
npx @reneturcios/embedbase list

Or run the container image:

bash
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

bash
# List collections (pagination is optional)embedbase list --limit 20 --offset 0
# Inspect one collection, or count its recordsembedbase info notesembedbase count notes
# Create a collectionembedbase create notes
# Start the MCP serverembedbase 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:

bash
npx -y @reneturcios/embedbase mcp

MCP client configuration:

json
{  "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

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, fake fetch only, no live servicenpm 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.

Source: README.md at commit e555a07

Tools

12

chroma_list_collections

List collections in the database with optional pagination.

Parameterslimitoffset

chroma_create_collection

Create a new collection with optional metadata and embedding function.

Parametersmetadatacollection_namerequiredembedding_function_name

chroma_peek_collection

Return a preview of documents stored in a collection.

Parameterslimitcollection_namerequired

chroma_get_collection_info

Get metadata and configuration details for a collection.

Parameterscollection_namerequired

chroma_get_collection_count

Get the number of records stored in a collection.

Parameterscollection_namerequired

chroma_modify_collection

Rename a collection or replace its metadata.

Parametersnew_namenew_metadatacollection_namerequired

chroma_delete_collection

Delete a collection and all of its records.

Parameterscollection_namerequired

chroma_add_documents

Add documents with optional metadata and ids to a collection.

Parametersidsdocumentsrequiredmetadatascollection_namerequired

chroma_query_documents

Query a collection for documents nearest to the given query texts.

Parameterswhereincluden_resultsquery_textsrequiredwhere_documentcollection_namerequired

chroma_get_documents

Retrieve documents from a collection by ids or filter.

Parametersidslimitwhereoffsetincludecollection_namerequired

chroma_update_documents

Update documents, metadata, or embeddings for existing ids in a collection.

Parametersidsrequireddocumentsmetadatasembeddingscollection_namerequired

chroma_delete_documents

Delete documents from a collection by ids or filter.

Parametersidswherecollection_namerequired

Version history

1
  1. v0.1.0LatestOct 31, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts