Skip to main content
Glama

goat

A personal assistant backend. It stores facts in Postgres or SQLite, fills them from importers on a schedule, and answers questions about them over Slack, MCP, SMS, or a terminal REPL.

Facts carry two timestamps: when the fact is about, and when goat learned it. Re-running an importer with unchanged data writes nothing.

Install

uv add "goat-butler @ git+https://github.com/phin-tech/goat"

Extras: postgres, agent (pydantic-ai), cli, mcp, slack, sms, weather, migrations, and all for every one of them. SQLite needs none.

uv add "goat-butler[all] @ git+https://github.com/phin-tech/goat"

To work on goat itself:

git clone https://github.com/phin-tech/goat
cd goat
uv sync
uv run pytest

The suite runs against both SQLite and Postgres. Postgres comes from docker compose up -d.

Related MCP server: NovaCortex MCP Server

Start a shed

A shed is one deployment: a directory with a shed.py that builds a Shed, and a .env holding the credentials. goat init writes both.

uv run goat init ~/my-shed
cd ~/my-shed
uv sync
goat migrate
goat ingest
goat repl

Defaults to SQLite, so this runs with no database server and no API key. Set a model provider key in .env for goat brief and the REPL's ask.

.env can hold 1Password references instead of secrets. goat resolves them at startup via the op CLI, so the file is safe to read aloud or paste:

OPENROUTER_API_KEY=op://Private/OpenRouter/credential

Commands

goat init

scaffold a new shed

goat migrate

create or update the schema

goat ingest

run every importer

goat brief

compose a brief; --send delivers it

goat facts, goat history

inspect the store

goat repl

interactive session

goat mcp

serve the store over MCP on stdio

What goes where

goat holds the mechanism: the store, importers, delivery, tools, the CLI. A shed holds the values: coordinates, model, credentials, prompt, schedule. OpenMeteoImporter lives in goat because a latitude is a constructor argument. The latitude lives in your shed.

Docs

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Local, private memory layer for notes and files with temporal reasoning and citation. Enables agents to query and persist memories via the Model Context Protocol.
    7
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a self-tending knowledge base for AI agents, automatically harvesting session transcripts into facts and state notes, and injecting relevant context into new sessions via MCP hooks.
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that stores personal context as structured Markdown files with a knowledge graph, enabling AI agents to query identity, devices, servers, and projects on-demand.

View all related MCP servers

Related MCP Connectors

  • Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.

  • Mem0-compatible persistent memory for AI agents: write facts once, recall them semantically.

  • Individual-analyst context layer: recall, remember, and reconcile your data and engineering context.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/phin-tech/goat'

If you have feedback or need assistance with the MCP directory API, please join our Discord server