EverOS Codex
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EverOS Codexsearch memories about API design decisions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_idinferencememory_search,memory_get,memory_save_turn,memory_flusha 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:8000Codex 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/healthInstall the bundled Codex skill:
npx -y everos-codex install-skillAdd 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 smokeCLI
everos-codex start
everos-codex doctor
everos-codex smoke
everos-codex smoke-e2e
everos-codex install-skillHow 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=waterstore-ops-suite->project_id=store-ops-suiteEverOS-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_getavoid 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 toolsmemory_flushC
Manually flush one EverOS session to force extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | EverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace. | |
| session_id | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Default 1. | |
| page_size | No | Page size. Default 10. | |
| owner_type | No | user | |
| project_id | No | EverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace. | |
| session_id | No | Optional exact session_id filter. | |
| sort_order | No | desc | |
| memory_type | No | episode |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| flush | No | Whether to trigger EverOS flush immediately. Default true. | |
| title | No | Short label for this memory. | |
| summary | Yes | Task summary containing problem, root cause, fix, and verification. | |
| keywords | No | Optional keywords to improve later retrieval. | |
| project_id | No | EverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace. | |
| session_id | No | Optional explicit session_id. Defaults to a generated codex session id. |
TDQS
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.
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.
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.
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.
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.
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.
memory_searchA
Search local EverOS memory for prior coding context. Use for historical fixes, past decisions, or project conventions.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Short query: a few keywords or one short phrase. | |
| top_k | No | Max results per kind. Default 5. | |
| method | No | hybrid | |
| owner_type | No | user | |
| project_id | No | EverOS project_id. Optional when the MCP can infer a repo-based default from the current workspace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'search' without detailing behavioral traits like read-only nature, default method, or potential side effects. Lacks disclosure of performance or result aggregation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and resource, second provides usage guidance. No redundant information, front-loaded with essential context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no annotations, the description is too sparse. It omits explanation of method, owner_type, and project_id parameters, and does not describe return format or behavior. Schema coverage at 60% is insufficient to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%. Description adds clarity for query ('short query: a few keywords or one short phrase') but does not explain other parameters like top_k, method, owner_type, or project_id. Relies heavily on schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool searches local EverOS memory for prior coding context. Distinguishes from siblings (memory_flush, memory_get, memory_save_turn) by focusing on search and providing specific use cases like historical fixes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists when to use: 'for historical fixes, past decisions, or project conventions.' Implicitly excludes other memory operations, but does not provide explicit when-not-to-use or alternative tools.
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.
4 tool updates
v0.2.0- First observed
memory_flush - First observed
memory_get - First observed
memory_save_turn - First observed
memory_search
TDQS
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.
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.
4 tools is ideal for a focused memory management server. Each tool serves a core function without redundancy or clutter.
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
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
Persistent memory for AI agents — log and recall conversation context over MCP.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Persistent memory for AI agents with OAuth-backed hosted MCP access.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLocal persistent memory for AI coding tools. Stores project context and conversation recall locally via MCP.1114MIT
- AlicenseBqualityAmaintenanceProvides local cross-session memory for Codex by importing transcripts, indexing in SQLite, and exposing search, context, and memory management through MCP tools.13MIT
- AlicenseNot gradedqualityCmaintenanceLocal stdio MCP server for long-term engineering memory, enabling Codex to store, search, and manage project facts, progress, interfaces, and troubleshooting cases.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible coding agents to read and write persistent, Markdown-backed memory via the EverOS REST API.Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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