Procedural Memory Layer — An open-source memory layer for AI agents. PML captures workflows and crystallizes them into reusable skills.
MCP ecosystems have two critical issues:
- Context Saturation — Tool schemas consume 30-50% of LLM context window
- Sequential Latency — Multi-tool workflows run serially
PML exposes intelligent meta-tools instead of proxying all underlying tools:
| Tool | Description |
|---|---|
pml:discover |
Semantic + graph hybrid search for tools & capabilities |
pml:execute |
Execute workflows (intent-based or explicit DAG) |
Context usage drops to <5%. Independent tasks run in parallel.
git clone https://github.com/casys-ai/casys-pml.git
cd casys-pml
deno task dev # API on :3003
deno task dev:fresh # Dashboard on :8081Add to your .mcp.json:
{
"mcpServers": {
"pml": {
"type": "http",
"url": "http://localhost:3003/mcp"
}
}
}- Semantic Tool Search — Find tools via natural language intent
- DAG Execution — Parallel execution with dependency resolution
- Sandbox Execution — Run TypeScript in isolated Deno sandbox
- GraphRAG Discovery — Hybrid search with Adamic-Adar algorithm
- 100% Local — All embeddings (BGE-M3) and data stored locally
Search for tools:
await callTool("pml:discover", {
intent: "read and parse configuration files",
});Intent-based execution:
await callTool("pml:execute", {
intent: "Read config.json and create a memory entity",
});Explicit DAG:
await callTool("pml:execute", {
workflow: {
tasks: [
{ id: "t1", tool: "filesystem:read_file", arguments: { path: "config.json" } },
{ id: "t2", tool: "memory:create_entities", arguments: { ... }, depends_on: ["t1"] }
]
}
});deno task dev # Start API server
deno task dev:fresh # Start dashboard
deno task test # Run tests
deno task check # Type checking
deno task lint && deno task fmt # Code quality- Architecture — System design and patterns
- ADRs — Architecture decision records
- User Guide — Getting started guides
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Make changes and test:
deno task test - Format:
deno task fmt && deno task lint - Open a Pull Request
AGPL-3.0 — See LICENSE