eng-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ECG_DEBUG | No | Write server diagnostics to stderr. | 0 |
| ECG_DB_PATH | No | SQLite file. `.eng_graph/` is used when that directory already exists and `.convo/` does not. | .convo/memory.db |
| ECG_AUTO_INJECT | No | `chat` returns fact bodies. `preview` returns titles. | chat |
| ECG_EMBEDDING_PROVIDER | No | `testing`, `sentence-transformers`, or `openai-transformers` | testing |
| ECG_AUTO_INJECT_MAX_TOKENS | No | Above this, a recall degrades to titles and says why. | 2500 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ecg_get_sessionA | Start or resume the engineering-memory session for a project path. Returns session id, repository id, stats, a short repo map, consent state,
and separate |
| ecg_prepare_placementsA | Score candidate facts against the repo and stage a proposal. Does not store. Each candidate needs The result is a |
| ecg_commit_placementsA | Stage the agent's chosen placement actions. Does not write durable memory.
|
| ecg_record_provenanceA | Stage conversation turns that explain a proposal. Does not write durable memory. Each message is |
| ecg_approve_consentA | Record the user's consent decision. This call is the consent checkpoint.
|
| ecg_commit_stepA | Store approved facts for one exchange. This call is the storage checkpoint. The arguments are shown to the user in the native approval dialog. Pass the
real
Storage is refused unless the session has |
| ecg_cancel_stepB | Drop a staged proposal. No-op if it is already gone. Does not delete stored facts. |
| ecg_search_contextA | Return the smallest fact neighborhood for The server ranks facts itself from |
| ecg_discard_proposalB | The user declined the staged proposal. Drop it. Do not store it later. |
| ecg_list_conflictsA | List open supersession or contradiction conflicts. Titles and ids only, no bodies. |
| ecg_resolve_conflictA | Resolve open conflicts. This call is the user's choice, not a silent overwrite.
|
| ecg_statsB | Read-only counts for the session's repository. Reports exchanges, active facts, superseded facts, total facts, edges, entities, and open conflicts. Fact bodies are not included. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Tools divide into distinct workflow stages (session start, prepare, commit placements, commit step, search, conflicts), and descriptions explicitly clarify which call stores versus stages data. Some overlap exists between ecg_commit_placements and ecg_commit_step, and between ecg_cancel_step/ecg_discard_proposal, which could confuse ordering, but the descriptions distinguish them.
All tools use a consistent ecg_ prefix followed by verb_noun snake_case (ecg_prepare_placements, ecg_commit_step, etc.). A few names like ecg_stats and ecg_search_context are noun/short forms, but the convention is otherwise predictable.
12 tools is well within a healthy range and each maps to a distinct step in the memory workflow. The set is neither thin nor bloated for the stated purpose.
The surface covers the full lifecycle: session init, preparation, staging, provenance, consent, commit, cancellation, search, conflict listing/resolution, and stats. No obvious CRUD or lifecycle gaps remain.