mcpField
E
embedbase

embedbase

Local
github.com/CloudCorpRecordsDatabases0Updated 2w ago

About embedbase

embedbase is an MCP server and CLI for managing vector collections and documents through a Chroma-compatible HTTP service. It supports collection administration, document retrieval, and nearest-neighbour search.

Key features

  1. 01Create and manage collections
  2. 02Add, update, and delete documents
  3. 03Search by nearest neighbours
  4. 04Fetch documents by ID or filter
  5. 05List, inspect, and count records

Use cases

  1. 01Search a document collection by query text
  2. 02Add and maintain records in Chroma
  3. 03Inspect collection metadata and record counts

MCP support

Exposes MCP tools for collection management and document operations, including queries, retrieval, updates, and deletion. Connects to a Chroma-compatible service over its v2 REST API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-embedbase": {
"command": "npx",
"args": [
"-y",
"@reneturcios/embedbase"
]
}
}
}
Run commandnpx -y @reneturcios/embedbase

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/embedbase0.1.0
ocighcr.io/cloudcorprecords/embedbase:0.1.0

Tools

12

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
limitintegerNoMaximum number of collections to return.
offsetintegerNoNumber of collections to skip before returning results.

Details

From the project 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.