Skip to content

ghassan-ai-projects/alms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALMS

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.

Why ALMS

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.

What Is Included In 0.1.0

  • 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

Quick Start

Prerequisites:

  • Go 1.22+
  • Docker and Docker Compose
  • golang-migrate
  • golangci-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/alms

Run locally without Docker:

  1. Install and start PostgreSQL on your machine.
  2. Create the local user and database:
createuser -s alms
createdb -O alms alms_db
  1. 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/alms

Verify:

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":{}}'

Documentation

The main documentation set lives in documentation/README.md.

Open Source Package

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.

Status

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.

About

Agent Learning Management System - MCP server for agent registry + cross-agent learning transfer

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors