Self-hosted semantic memory over MCP for an engineering team's tacit knowledge. Needs Postgres.
Connect Runs on your machine
claude mcp add tribal -e TRIBAL_DATABASE__URL=<TRIBAL_DATABASE__URL> -e TRIBAL_PROJECT_REMOTE=<TRIBAL_PROJECT_REMOTE> -e TRIBAL_PROJECT_NAME=<TRIBAL_PROJECT_NAME> -e TRIBAL_SERVER__TRANSPORT=<TRIBAL_SERVER__TRANSPORT> -e TRIBAL_SERVER__BIND_ADDRESS=<TRIBAL_SERVER__BIND_ADDRESS> -e TRIBAL_PUBLIC_MCP_URL=<TRIBAL_PUBLIC_MCP_URL> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -- docker run -i --rm ghcr.io/tribal-memory/tribal:0.4.1
{
"mcpServers": {
"tribal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tribal-memory/tribal:0.4.1"
],
"env": {
"TRIBAL_DATABASE__URL": "<TRIBAL_DATABASE__URL>",
"TRIBAL_PROJECT_REMOTE": "<TRIBAL_PROJECT_REMOTE>",
"TRIBAL_PROJECT_NAME": "<TRIBAL_PROJECT_NAME>",
"TRIBAL_SERVER__TRANSPORT": "<TRIBAL_SERVER__TRANSPORT>",
"TRIBAL_SERVER__BIND_ADDRESS": "<TRIBAL_SERVER__BIND_ADDRESS>",
"TRIBAL_PUBLIC_MCP_URL": "<TRIBAL_PUBLIC_MCP_URL>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>"
}
}
}
}
{
"mcpServers": {
"tribal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tribal-memory/tribal:0.4.1"
],
"env": {
"TRIBAL_DATABASE__URL": "<TRIBAL_DATABASE__URL>",
"TRIBAL_PROJECT_REMOTE": "<TRIBAL_PROJECT_REMOTE>",
"TRIBAL_PROJECT_NAME": "<TRIBAL_PROJECT_NAME>",
"TRIBAL_SERVER__TRANSPORT": "<TRIBAL_SERVER__TRANSPORT>",
"TRIBAL_SERVER__BIND_ADDRESS": "<TRIBAL_SERVER__BIND_ADDRESS>",
"TRIBAL_PUBLIC_MCP_URL": "<TRIBAL_PUBLIC_MCP_URL>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>"
}
}
}
}
{
"servers": {
"tribal": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tribal-memory/tribal:0.4.1"
],
"env": {
"TRIBAL_DATABASE__URL": "<TRIBAL_DATABASE__URL>",
"TRIBAL_PROJECT_REMOTE": "<TRIBAL_PROJECT_REMOTE>",
"TRIBAL_PROJECT_NAME": "<TRIBAL_PROJECT_NAME>",
"TRIBAL_SERVER__TRANSPORT": "<TRIBAL_SERVER__TRANSPORT>",
"TRIBAL_SERVER__BIND_ADDRESS": "<TRIBAL_SERVER__BIND_ADDRESS>",
"TRIBAL_PUBLIC_MCP_URL": "<TRIBAL_PUBLIC_MCP_URL>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
TRIBAL_DATABASE__URLRequired | Postgres (pgvector) connection string. Tribal is self-hosted; you provide the database. The supported, complete deployment is docker-compose.yml. |
TRIBAL_PROJECT_REMOTERequired | First-run only: the git remote that identifies the project bootstrapped on first start. |
TRIBAL_PROJECT_NAMERequired | First-run only: the name of the project bootstrapped on first start. |
TRIBAL_SERVER__TRANSPORTOptional | Containerised transport: http or sse. The Docker image does not serve stdio; install the binary for stdio. |
TRIBAL_SERVER__BIND_ADDRESSOptional | Address the server binds inside the container. Must be 0.0.0.0 (not the loopback default) for the published port to be reachable. |
TRIBAL_PUBLIC_MCP_URLOptional | The URL clients use to reach the server (for example http://127.0.0.1:8725/mcp). Needed for OAuth dynamic client registration once the server binds a routable interface. |
OPENAI_API_KEYOptional, secret | Optional; only if an ingest or retrieval stage is configured to use OpenAI (defaults target a local Ollama). |
ANTHROPIC_API_KEYOptional, secret | Optional; only if a stage is configured to use Anthropic. |
Details
| Package | ghcr.io/tribal-memory/tribal:0.4.1 (OCI, streamable-http) |
| First published | 28 Jun 2026 |
| Last updated | 28 Jun 2026 |
| Registry name | io.github.tribal-memory/tribal |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
