ALMS is the Agent Learning Management System. It is a self-hosted MCP server for shared agent learning. It provides an agent registry, a cross-agent learning store, and protocol distribution without becoming an agent runtime or orchestration framework.
Teams running multiple autonomous agents usually hit the same failure mode: one agent learns something useful, but the rest of the fleet never sees it. ALMS solves that with a small control plane that agents can use to:
- register themselves and send heartbeats
- publish reusable learnings
- sync new learnings with gap-safe acknowledgement
- distribute operational protocols by tag
ALMS is designed to stay out of the hot path. Agents should continue working when ALMS is unavailable and resync later.
- Go single-binary MCP server
- PostgreSQL-backed agent registry
- learning storage, search, sync, soft delete, and enrichment update flow
- protocol publishing and retrieval
- Streamable HTTP MCP transport
- deployment assets for systemd-based environments
- prompts and a skill definition for agent integration
- production-verified helper scripts for agent sync and publish workflows
Prerequisites:
- Go 1.22+
- Docker and Docker Compose
golang-migrategolangci-lint
Run locally with Docker for PostgreSQL:
docker compose up -d db
export ALMS_PG_DSN="postgres://alms:alms@localhost:5432/alms_db?sslmode=disable"
export ALMS_AUTH_TOKEN="change-me"
migrate -path internal/store/migrations -database "$ALMS_PG_DSN" up
make build
./bin/almsRun locally without Docker:
- Install and start PostgreSQL on your machine.
- Create the local user and database:
createuser -s alms
createdb -O alms alms_db- Configure ALMS and apply migrations:
export ALMS_PG_DSN="postgres://alms@localhost:5432/alms_db?sslmode=disable"
export ALMS_AUTH_TOKEN="change-me"
migrate -path internal/store/migrations -database "$ALMS_PG_DSN" up
make build
./bin/almsVerify:
curl -s -X POST http://127.0.0.1:8001/mcp \
-H "Content-Type: application/json" \
-H "X-ALMS-TOKEN: change-me" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'The main documentation set lives in documentation/README.md.
- Product overview: documentation/product-overview.md
- How it works: documentation/how-it-works.md
- Repository structure: documentation/repository-structure.md
- Getting started: documentation/getting-started.md
- Configuration: documentation/configuration.md
- MCP API reference: documentation/mcp-api.md
- Operations: documentation/operations.md
- Security model: documentation/security-model.md
- Skills and prompts: documentation/skills-and-prompts.md
- Agent learning integration: documentation/agent-learning-integration.md
- Release notes for
0.1.0: documentation/releases/0.1.0.md
- License: LICENSE
- Changelog: CHANGELOG.md
- Contributing guide: CONTRIBUTING.md
- Security policy: SECURITY.md
- Code of conduct: CODE_OF_CONDUCT.md
- Support guide: SUPPORT.md
ALMS is released under the MIT license. For this project, MIT is the right starting point for 0.1.0: it is simple, widely understood, commercially permissive, and a good fit for infrastructure intended to be integrated into different agent stacks.
Current release: 0.1.0
This is an initial public release. The project is usable, but the maintainers should expect some API and workflow hardening as real adopters push on sync semantics, security boundaries, and enrichment workflows.