Search / io.github.ivo-toby/postgram
Postgram
L0· runs locallySelf-hosted memory for AI agents with hybrid search, knowledge graphs, tasks, and document sync.
v0.1.3 · active · repository · website · descriptor JSON · versions
Search / io.github.ivo-toby/postgram
L0· runs locallySelf-hosted memory for AI agents with hybrid search, knowledge graphs, tasks, and document sync.
v0.1.3 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"postgram": {
"command": "docker",
"args": [
"--publish",
"127.0.0.1:3100:3100",
"--add-host",
"host.docker.internal:host-gateway",
"-e",
"DATABASE_URL",
"-e",
"OPENAI_API_KEY",
"-e",
"EMBEDDING_PROVIDER",
"-e",
"EMBEDDING_BASE_URL",
"-e",
"ADMIN_MFA_SECRET_KEY",
"-e",
"ADMIN_SETTINGS_ENCRYPTION_KEY",
"ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"
],
"env": {
"DATABASE_URL": "${DATABASE_URL}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}",
"EMBEDDING_PROVIDER": "ollama",
"EMBEDDING_BASE_URL": "http://host.docker.internal:11434",
"ADMIN_MFA_SECRET_KEY": "${ADMIN_MFA_SECRET_KEY}",
"ADMIN_SETTINGS_ENCRYPTION_KEY": "${ADMIN_SETTINGS_ENCRYPTION_KEY}"
}
}
}
}claude mcp add postgram -e "DATABASE_URL=${DATABASE_URL}" -e "OPENAI_API_KEY=${OPENAI_API_KEY}" -e "EMBEDDING_PROVIDER=ollama" -e "EMBEDDING_BASE_URL=http://host.docker.internal:11434" -e "ADMIN_MFA_SECRET_KEY=${ADMIN_MFA_SECRET_KEY}" -e "ADMIN_SETTINGS_ENCRYPTION_KEY=${ADMIN_SETTINGS_ENCRYPTION_KEY}" -- docker --publish 127.0.0.1:3100:3100 --add-host host.docker.internal:host-gateway -e DATABASE_URL -e OPENAI_API_KEY -e EMBEDDING_PROVIDER -e EMBEDDING_BASE_URL -e ADMIN_MFA_SECRET_KEY -e ADMIN_SETTINGS_ENCRYPTION_KEY ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391[mcp_servers.postgram]
command = "docker"
args = ["--publish", "127.0.0.1:3100:3100", "--add-host", "host.docker.internal:host-gateway", "-e", "DATABASE_URL", "-e", "OPENAI_API_KEY", "-e", "EMBEDDING_PROVIDER", "-e", "EMBEDDING_BASE_URL", "-e", "ADMIN_MFA_SECRET_KEY", "-e", "ADMIN_SETTINGS_ENCRYPTION_KEY", "ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"]
env = { "DATABASE_URL" = "${DATABASE_URL}", "OPENAI_API_KEY" = "${OPENAI_API_KEY}", "EMBEDDING_PROVIDER" = "ollama", "EMBEDDING_BASE_URL" = "http://host.docker.internal:11434", "ADMIN_MFA_SECRET_KEY" = "${ADMIN_MFA_SECRET_KEY}", "ADMIN_SETTINGS_ENCRYPTION_KEY" = "${ADMIN_SETTINGS_ENCRYPTION_KEY}" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"postgram": {
"type": "local",
"command": [
"docker",
"--publish",
"127.0.0.1:3100:3100",
"--add-host",
"host.docker.internal:host-gateway",
"-e",
"DATABASE_URL",
"-e",
"OPENAI_API_KEY",
"-e",
"EMBEDDING_PROVIDER",
"-e",
"EMBEDDING_BASE_URL",
"-e",
"ADMIN_MFA_SECRET_KEY",
"-e",
"ADMIN_SETTINGS_ENCRYPTION_KEY",
"ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"
],
"enabled": true,
"environment": {
"DATABASE_URL": "{env:DATABASE_URL}",
"OPENAI_API_KEY": "{env:OPENAI_API_KEY}",
"EMBEDDING_PROVIDER": "ollama",
"EMBEDDING_BASE_URL": "http://host.docker.internal:11434",
"ADMIN_MFA_SECRET_KEY": "{env:ADMIN_MFA_SECRET_KEY}",
"ADMIN_SETTINGS_ENCRYPTION_KEY": "{env:ADMIN_SETTINGS_ENCRYPTION_KEY}"
}
}
}
}{
"mcpServers": {
"postgram": {
"command": "docker",
"args": [
"--publish",
"127.0.0.1:3100:3100",
"--add-host",
"host.docker.internal:host-gateway",
"-e",
"DATABASE_URL",
"-e",
"OPENAI_API_KEY",
"-e",
"EMBEDDING_PROVIDER",
"-e",
"EMBEDDING_BASE_URL",
"-e",
"ADMIN_MFA_SECRET_KEY",
"-e",
"ADMIN_SETTINGS_ENCRYPTION_KEY",
"ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"
],
"env": {
"DATABASE_URL": "${DATABASE_URL}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}",
"EMBEDDING_PROVIDER": "ollama",
"EMBEDDING_BASE_URL": "http://host.docker.internal:11434",
"ADMIN_MFA_SECRET_KEY": "${ADMIN_MFA_SECRET_KEY}",
"ADMIN_SETTINGS_ENCRYPTION_KEY": "${ADMIN_SETTINGS_ENCRYPTION_KEY}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=postgram&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyItLXB1Ymxpc2giLCIxMjcuMC4wLjE6MzEwMDozMTAwIiwiLS1hZGQtaG9zdCIsImhvc3QuZG9ja2VyLmludGVybmFsOmhvc3QtZ2F0ZXdheSIsIi1lIiwiREFUQUJBU0VfVVJMIiwiLWUiLCJPUEVOQUlfQVBJX0tFWSIsIi1lIiwiRU1CRURESU5HX1BST1ZJREVSIiwiLWUiLCJFTUJFRERJTkdfQkFTRV9VUkwiLCItZSIsIkFETUlOX01GQV9TRUNSRVRfS0VZIiwiLWUiLCJBRE1JTl9TRVRUSU5HU19FTkNSWVBUSU9OX0tFWSIsImdoY3IuaW8vaXZvLXRvYnkvcG9zdGdyYW1Ac2hhMjU2OjI5YjYxZmIzMDJiZDUyODYyYjhlYmE0MzMwNWVlMmFhNGZjMDcyZDVmOTE4ODY1MmYxZmU2MzI0ZjQ5ZDUzOTEiXSwiZW52Ijp7IkRBVEFCQVNFX1VSTCI6IiR7REFUQUJBU0VfVVJMfSIsIk9QRU5BSV9BUElfS0VZIjoiJHtPUEVOQUlfQVBJX0tFWX0iLCJFTUJFRERJTkdfUFJPVklERVIiOiJvbGxhbWEiLCJFTUJFRERJTkdfQkFTRV9VUkwiOiJodHRwOi8vaG9zdC5kb2NrZXIuaW50ZXJuYWw6MTE0MzQiLCJBRE1JTl9NRkFfU0VDUkVUX0tFWSI6IiR7QURNSU5fTUZBX1NFQ1JFVF9LRVl9IiwiQURNSU5fU0VUVElOR1NfRU5DUllQVElPTl9LRVkiOiIke0FETUlOX1NFVFRJTkdTX0VOQ1JZUFRJT05fS0VZfSJ9fQ%3D%3D"
}{
"servers": {
"postgram": {
"type": "stdio",
"command": "docker",
"args": [
"--publish",
"127.0.0.1:3100:3100",
"--add-host",
"host.docker.internal:host-gateway",
"-e",
"DATABASE_URL",
"-e",
"OPENAI_API_KEY",
"-e",
"EMBEDDING_PROVIDER",
"-e",
"EMBEDDING_BASE_URL",
"-e",
"ADMIN_MFA_SECRET_KEY",
"-e",
"ADMIN_SETTINGS_ENCRYPTION_KEY",
"ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"
],
"env": {
"DATABASE_URL": "${DATABASE_URL}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}",
"EMBEDDING_PROVIDER": "ollama",
"EMBEDDING_BASE_URL": "http://host.docker.internal:11434",
"ADMIN_MFA_SECRET_KEY": "${ADMIN_MFA_SECRET_KEY}",
"ADMIN_SETTINGS_ENCRYPTION_KEY": "${ADMIN_SETTINGS_ENCRYPTION_KEY}"
}
}
}
}{
"mcpServers": {
"postgram": {
"command": "docker",
"args": [
"--publish",
"127.0.0.1:3100:3100",
"--add-host",
"host.docker.internal:host-gateway",
"-e",
"DATABASE_URL",
"-e",
"OPENAI_API_KEY",
"-e",
"EMBEDDING_PROVIDER",
"-e",
"EMBEDDING_BASE_URL",
"-e",
"ADMIN_MFA_SECRET_KEY",
"-e",
"ADMIN_SETTINGS_ENCRYPTION_KEY",
"ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"
],
"env": {
"DATABASE_URL": "${DATABASE_URL}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}",
"EMBEDDING_PROVIDER": "ollama",
"EMBEDDING_BASE_URL": "http://host.docker.internal:11434",
"ADMIN_MFA_SECRET_KEY": "${ADMIN_MFA_SECRET_KEY}",
"ADMIN_SETTINGS_ENCRYPTION_KEY": "${ADMIN_SETTINGS_ENCRYPTION_KEY}"
}
}
}
}extensions:
"postgram":
enabled: true
name: "postgram"
type: stdio
cmd: "docker"
args:
- "--publish"
- "127.0.0.1:3100:3100"
- "--add-host"
- "host.docker.internal:host-gateway"
- "-e"
- "DATABASE_URL"
- "-e"
- "OPENAI_API_KEY"
- "-e"
- "EMBEDDING_PROVIDER"
- "-e"
- "EMBEDDING_BASE_URL"
- "-e"
- "ADMIN_MFA_SECRET_KEY"
- "-e"
- "ADMIN_SETTINGS_ENCRYPTION_KEY"
- "ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391"
envs:
"DATABASE_URL": "${DATABASE_URL}"
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
"EMBEDDING_PROVIDER": "ollama"
"EMBEDDING_BASE_URL": "http://host.docker.internal:11434"
"ADMIN_MFA_SECRET_KEY": "${ADMIN_MFA_SECRET_KEY}"
"ADMIN_SETTINGS_ENCRYPTION_KEY": "${ADMIN_SETTINGS_ENCRYPTION_KEY}"
timeout: 300
Placeholders to fill from your own secret store: ${DATABASE_URL}, ${OPENAI_API_KEY}, ${ADMIN_MFA_SECRET_KEY}, ${ADMIN_SETTINGS_ENCRYPTION_KEY}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured ~updated-100d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391 | oci | unpinned | docker | DATABASE_URL, OPENAI_API_KEY, ADMIN_MFA_SECRET_KEY, ADMIN_SETTINGS_ENCRYPTION_KEY |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.ivo-toby/postgram",
"title": "Postgram",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.1.3",
"packages": [
{
"transport": {
"url": "http://127.0.0.1:3100/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"isRequired": true,
"description": "Bearer token using a Postgram API key created with pgm-admin or the admin UI."
}
]
},
"identifier": "ghcr.io/ivo-toby/postgram@sha256:29b61fb302bd52862b8eba43305ee2aa4fc072d5f9188652f1fe6324f49d5391",
"runtimeHint": "docker",
"registryType": "oci",
"runtimeArguments": [
{
"name": "--publish",
"type": "named",
"value": "127.0.0.1:3100:3100"
},
{
"name": "--add-host",
"type": "named",
"value": "host.docker.internal:host-gateway"
}
],
"environmentVariables": [
{
"name": "DATABASE_URL",
"isSecret": true,
"isRequired": true,
"description": "PostgreSQL connection URL for a database with the pgvector extension enabled."
},
{
"name": "OPENAI_API_KEY",
"isSecret": true,
"description": "Required only when OpenAI is selected for embeddings or extraction."
},
{
"name": "EMBEDDING_PROVIDER",
"choices": [
"openai",
"ollama"
],
"default": "ollama",
"description": "Embedding provider: openai or ollama."
},
{
"name": "EMBEDDING_BASE_URL",
"default": "http://host.docker.internal:11434",
"description": "Ollama embedding endpoint when EMBEDDING_PROVIDER is ollama."
},
{
"name": "ADMIN_MFA_SECRET_KEY",
"isSecret": true,
"isRequired": true,
"description": "Stable random value of at least 32 characters used to protect admin MFA seeds."
},
{
"name": "ADMIN_SETTINGS_ENCRYPTION_KEY",
"isSecret": true,
"isRequired": true,
"description": "Stable 32-byte base64url key used to encrypt provider secrets saved in the admin UI."
}
]
}
],
"repository": {
"url": "https://github.com/ivo-toby/postgram",
"source": "github"
},
"websiteUrl": "https://postgram.dev",
"description": "Self-hosted memory for AI agents with hybrid search, knowledge graphs, tasks, and document sync."
}