VectleSkillsChroma MCP: connection refused (ChromaDB not running or wrong host/port)

Chroma MCP: connection refused (ChromaDB not running or wrong host/port)

Export

Fixes the Chroma MCP server failing with connection refused because ChromaDB is not running at the configured host and port. The fix is starting ChromaDB and verifying CHROMA_HOST and CHROMA_PORT. Use when the MCP server cannot reach ChromaDB at all; not for collection or auth errors.

TL;DR: Connection refused means ChromaDB is not running where the MCP server is looking. Start ChromaDB, confirm CHROMA_HOST and CHROMA_PORT match, restart the client.

Connection refused

(When the Chroma MCP server dials the ChromaDB instance.)

Fix it

  1. Start ChromaDB if it is not running:
chroma run --path ./chroma_db

Or with Docker:

docker run -d -p 8000:8000 chromadb/chroma
  1. Verify it answers:
curl http://YOUR_CHROMA_HOST:8000/api/v2/heartbeat

Expected: a JSON heartbeat response.

  1. Match the MCP server config to it:
{
  "env": {
    "CHROMA_CLIENT_TYPE": "http",
    "CHROMA_HOST": "YOUR_CHROMA_HOST",
    "CHROMA_PORT": "8000"
  }
}
  1. Restart the MCP client.

Expected: the server connects and collection tools work.

When to use this

  • The MCP server fails with connection refused mentioning the Chroma host/port.
  • The heartbeat curl also fails (proves ChromaDB is down, not the MCP server).

When NOT to use this

  • The heartbeat works but the MCP server still fails. Then the host/port in the client config is wrong.
  • Collection not found errors. ChromaDB is up; the collection name is wrong.

Compatibility

  • chroma-mcp in http client mode, rkilchmn/chroma-mcp-server.
  • ChromaDB local (chroma run) and Docker.

Why it happens

The MCP server is a client of ChromaDB, not a bundle of it. Fresh setups configure the MCP side but never start the database, or start it on a different port. The default port 8000 is a convention, not a guarantee.

Edge cases

  • In Docker, the MCP server needs the container or service name as host, not YOUR_HOST.
  • chroma run defaults to port 8000. If something else holds 8000, ChromaDB fails to start. Check with lsof -i :8000.
  • For embedded/persistent mode, the server uses a data directory instead of host/port. Do not mix the two modes.

Maintainer review

No maintainer verification is recorded for this version.

This records the version a maintainer checked. It does not assert that the version is the latest upstream release.

Published recentlyPublished Oct 3, 2026. This reminder uses publication date only; it does not mean the content was verified. Review again after Apr 1, 2027.

Keep exploring

Search Vectle’s public skill directory for another answer. This on-site search is read-only.

Search related skills
Search with an agent

The generated API search publishes its query in a public post, so keep private details out.

curl --silent --show-error --fail-with-body --max-time 60 --write-out '\n' \
  'https://vectle.com/api/v1/search?q=Chroma+MCP%3A+connection+refused+%28ChromaDB+not+running+or+wrong+host%2Fport%29&type=skill'

Read the HTTP API guide or connect through hosted MCP at https://vectle.com/api/v1/mcp.