Skip to main content
Glama
gix9303
by gix9303

EverOS Codex

简体中文

Use a local EverOS instance as long-term memory for Codex through MCP.

everos-codex provides:

  • an MCP bridge for local EverOS

  • repo-scoped default project_id inference

  • memory_search, memory_get, memory_save_turn, memory_flush

  • a bundled Codex skill: everos-local-memory

Why

This project keeps EverOS in its native local shape:

  • EverOS stays a local HTTP service, usually http://127.0.0.1:8000

  • Codex connects through MCP over stdio

  • memory stays local-first

Related MCP server: Codex Native Memory

Install

Verify EverOS is running:

curl http://127.0.0.1:8000/health

Install the bundled Codex skill:

npx -y everos-codex install-skill

Add this MCP config to ~/.codex/config.toml:

[mcp_servers.everos]
command = "npx"
args = ["-y", "everos-codex"]

[mcp_servers.everos.env]
EVEROS_BASE_URL = "http://127.0.0.1:8000"
EVEROS_APP_ID = "codex"
EVEROS_DEFAULT_PROJECT_ID = ""
EVEROS_AGENT_ID = "codex"
EVEROS_AGENT_NAME = "Codex"
EVEROS_USER_ID = "your-user-id"
EVEROS_USER_NAME = "Your Name"
EVEROS_TIMEOUT_MS = "60000"

Restart Codex or open a fresh thread.

Quick checks

npx -y everos-codex doctor
npx -y everos-codex smoke

CLI

everos-codex start
everos-codex doctor
everos-codex smoke
everos-codex smoke-e2e
everos-codex install-skill

How project IDs work

If project_id is omitted and EVEROS_DEFAULT_PROJECT_ID is empty, everos-codex infers it from the current repo root name.

Examples:

  • water -> project_id=water

  • store-ops-suite -> project_id=store-ops-suite

  • EverOS-Codex -> project_id=everos-codex

Explicit project_id still wins.

Bundled skill

This repo bundles skills/everos-local-memory.

Its job is simple:

  • search before repeating work

  • save only high-value summaries

  • verify new memory with memory_get

  • avoid dumping whole conversations into memory

Acknowledgement

This project is built on top of the open-source EverMind-AI/EverOS project.

Thanks to the EverOS maintainers and contributors for making a local-first memory system available to the community.

License

Apache-2.0

Available Tools

4 tools
memory_flushC

Manually flush one EverOS session to force extraction.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoEverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace.
session_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It mentions 'force extraction' but does not disclose whether the operation is destructive, requires authentication, or has side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it concise, but it lacks necessary detail to be fully effective. It could be expanded without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and incomplete parameter descriptions, the description is insufficient. It does not explain return values, side effects, or the meaning of 'force extraction'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only project_id has a description). The description does not add meaning beyond the schema; it does not explain what session_id represents or how parameters relate to the flush operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'flush' and resource 'session', and it distinguishes from siblings like memory_get and memory_save_turn, which have different purposes. However, it does not clarify what 'flush' and 'force extraction' entail operationally.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (memory_get, memory_save_turn, memory_search). There is no mention of prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_getA

List local EverOS memory deterministically. Best for read-your-write checks, recent memory browsing, or session_id-based verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-indexed page number. Default 1.
page_sizeNoPage size. Default 10.
owner_typeNouser
project_idNoEverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace.
session_idNoOptional exact session_id filter.
sort_orderNodesc
memory_typeNoepisode

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'deterministically' implying consistent ordering, and 'List' suggests read-only operation, but it does not explicitly state the absence of side effects, auth requirements, or rate limits. The description is minimally adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, no wasted words, and the main action is front-loaded. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 optional parameters, no output schema, and no annotations, the description is too brief. It fails to explain what the tool returns (e.g., format, structure, pagination details) or how to interpret results, leaving significant gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 57% (moderate), and the description adds no parameter-specific information beyond the generic 'List' action. For parameters like owner_type, sort_order, and memory_type, the description does not explain their meaning or impact on results, leaving the agent to rely solely on the schema's limited descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'List local EverOS memory deterministically' with a specific verb and resource. It further distinguishes from sibling tools by indicating best use cases like 'read-your-write checks, recent memory browsing, or session_id-based verification,' which differentiate it from memory_search (search) and memory_flush (flush).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool ('Best for read-your-write checks, recent memory browsing, or session_id-based verification') but does not explicitly state when not to use it or name alternative tools. This gives good guidance but falls short of the full 5-point requirement for explicit when/when-not/alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_save_turnA

Save a high-value task summary into local EverOS. Use only for distilled outcomes, not whole chats.

ParametersJSON Schema
NameRequiredDescriptionDefault
flushNoWhether to trigger EverOS flush immediately. Default true.
titleNoShort label for this memory.
summaryYesTask summary containing problem, root cause, fix, and verification.
keywordsNoOptional keywords to improve later retrieval.
project_idNoEverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace.
session_idNoOptional explicit session_id. Defaults to a generated codex session id.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It reveals it's a write operation but gives no details on side effects, idempotency, or what happens on duplicate keys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite six parameters and no output schema, the description provides minimal context (e.g., what constitutes a 'high-value summary') and no return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds no extra meaning beyond the schema's own parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Save') and the resource ('high-value task summary into local EverOS'), and distinguishes from siblings by specifying 'not whole chats'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context ('Use only for distilled outcomes'), but does not explicitly compare to alternatives like memory_flush or memory_search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.2.0
    • First observedmemory_flush
    • First observedmemory_get
    • First observedmemory_save_turn
    • First observedmemory_search

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct memory operation: flush clears session state, get lists memory entries, save_turn stores summaries, and search retrieves past context. No functional overlap.

Naming Consistency4/5

All tools follow the 'memory_<verb>' pattern, but 'save_turn' includes an object noun, making it slightly less consistent than the single-word verbs. Still, the pattern is clear and predictable.

Tool Count5/5

4 tools is ideal for a focused memory management server. Each tool serves a core function without redundancy or clutter.

Completeness4/5

The set covers memory flushing, retrieval, saving, and searching. Missing an explicit delete operation, but flush may serve that purpose. Minor gap, but core workflows are supported.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/gix9303/EverOS-Codex'

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