MAPI-local-medium: a local MCP server that gives a model memory, tools, and boundaries
MAPI-local-medium is a local MCP server that lets a language model use project memory, tools, and a controlled working environment. The point is not to let the model do everything. The point is to let it do specific things within specific boundaries.
Before you read
The model does not get a computer. It gets a workshop.
MAPI-local-medium works as a local MCP layer between an AI client and controlled tools: memory, project context, links, a timeline, and selected work operations.
What MAPI-local-medium is
MAPI-local-medium is a local MCP server. Its job is simple: sit between the language model and the user's work environment. The model does not get direct access to the computer, files, or a database. It gets a list of tools exposed by the server through MCP.
Every tool use goes through a defined interface. That distinction matters. We are not saying: "AI has access to my computer." We are saying: "AI can perform a few explicit operations within a limited scope."
ChatGPT / MCP client
|
| MCP / JSON-RPC
v
MAPI-local-medium
|
+-- project memory
+-- memory search
+-- create new entries
+-- read specific entries
+-- links between entries
+-- project timeline
+-- controlled work operationsWhy this changes how you work with a model
A normal chatbot lives mostly inside one conversation. As long as the context stays in the chat window, things somehow work. When the conversation ends, you are back to manual notes, copied decisions, and the classic: "I know I wrote this somewhere before."
An MCP server changes that arrangement. The model can use an external work environment. It can ask about earlier decisions, read the current project state, save the result of its work, and return to it in the next session.
That does not turn the model into a self-sufficient engineer. But it turns it into something far more useful than a standalone text generator: an assistant working against the state of a project.
The core: project memory
The most important part of MAPI-local-medium is project memory. This is not memory of the "the user likes coffee" kind. It is technical memory: decisions, statuses, test results, risks, implementation context, and things that require later revalidation.
- entry content and a short description
- entry type, tags, and project
- creation date and priority
- confidence level and validation source
- relations to other entries
That allows the model to ask more specific questions than just "what do you remember?": what was the last decision, does this feature already exist, what was tested, what conflicts with something else, and what still needs revalidation.
Basic memory tools
MAPI-local-medium exposes a simple set of memory tools to the model. Together they form a practical agent loop: check context, do the task, save the result.
find_memories - searches memory entries
get_memory - fetches a specific entry by ID
get_memory_links - shows connections for a given entry
create_memory - stores a new entry
recall_memory - recalls an entry as relevant contextIt is a small set, but enough for a surprisingly large number of tasks. Good agent infrastructure does not need to look like a spaceship cockpit. It should be predictable, testable, and useful.
Bootstrap: starting a session with context
A model should not begin by guessing. That is why session bootstrap matters: the first call returns the basic working context, active project, operating rules, available tools, and hints about where to look next.
1. Restore the session context.
2. Check available tool areas.
3. Search for the needed memory entries.
4. Only then perform the task.A memory store by itself is not enough if the model does not know it should use it. Without bootstrap, memory is a library without a catalog. The knowledge is there, but using it turns into archaeology with a weak flashlight.
A small tool surface
One common mistake when building agents is exposing too many tools at once. In theory it sounds great: give the model everything. In practice you get a tool monster.
A better pattern is a small list of core tools plus logical work areas. The model does not need the entire dashboard at once. First it chooses the area, then the action.
restore / bootstrap context
find_memories
get_memory
get_memory_links
create_memory
recall_memory
open_workshop
run_workshop_actionMore advanced functions can sit behind workshops: memory, timeline, conflicts, memory quality, semantic search, files, or administration. That reduces chaos and makes access control easier.
Timeline and links between entries
Beyond plain memory entries, a project timeline is useful. This is not just a technical log. A log says: "an operation was executed." A timeline says: "something meaningful happened in the project."
- an architectural decision was made
- a feature or fix was added
- tests passed or a regression was found
- a backup was created
- something was marked for revalidation
Links between entries do the second part of the job. One entry can support another, conflict with it, document an implementation, or describe a fix. That means memory stops being a flat list of notes. It starts working like a project knowledge graph.
Controlled access to files and tools
MAPI-local-medium can be extended with file or workspace operations, but that should be done carefully. A good rule is: the model may act only inside a defined directory and only through described tools.
The model can read and write only in a defined working directory.
It should not have access to the whole disk.
It should not see secrets.
Risky operations are hidden or available only in an admin profile.
Read first, write second.That is the difference between "AI has access to my computer" and "AI can use a few safe tools inside a specific directory." The first sounds like the beginning of a security incident. The second sounds like engineering.
Profiles and limits
Not every client and not every mode of work should see the same tools. One set makes sense for a simple user, another for an operator, and another for an administrator.
basic:
- memory search
- read entries
- create entries
operator:
- timeline
- conflicts
- memory quality
- linking
admin:
- files
- SQL
- migrations
- diagnostic toolsAn agent does not need the keys to the whole kingdom. It needs the right key for the right door. This fits well with the earlier article on the MCP semi-agent.
What a practical work cycle looks like
Once connected to such a server, the model can work in a repeatable loop. The point is not that the model "knows everything by itself." The point is that it has a procedure, tools, and durable context.
1. The MCP client connects to the local server.
2. The model bootstraps context.
3. The model searches relevant memory entries.
4. It fetches details and links if needed.
5. It performs the task.
6. It saves the important result as a new memory entry.
7. Significant events are written to the timeline.Without MCP, a model responds from the chat. With MCP and memory, it can work against the state of the project. That is a practical difference, not marketing glitter.
What you can build on top of this foundation
Even a simple local MCP server lets you build an agent that can remember project decisions, check whether something was already done, save work results, read earlier agreements, and organize documentation.
- memory of project decisions
- checking earlier agreements
- organizing documentation and statuses
- detecting conflicting information
- working on files in a limited directory
- a repeatable protocol for model behavior
That still does not replace an engineer, tester, or operator. But it changes the way you work with the model. Instead of one conversation, you get a work environment.
The smallest sensible MVP
You do not need a huge platform at the start. A minimal version can include a local MCP server, SQLite or a simple file-backed store, tools for searching and storing memory, session bootstrap, and limited access to the working directory.
Only later is it worth adding semantic search, memory freshness status, revalidation, conflicts, a relation graph, automatic memory cleanup, and quality reports.
The biggest mistake is starting with architecture that is too large. The second biggest is giving the model too many tools. The third is confusing memory with a pile of random notes.
The shortest definition
MAPI-local-medium gives the model three things:
memory,
tools,
boundaries.Memory lets it return to earlier decisions. Tools let it do more than write answers. Boundaries keep the whole system from turning into a drunk admin-level sprite.
That is the core of a practical AI agent: not one magic prompt, but a small, well-described workshop where the model has access to context, performs concrete operations, and knows where its permissions end.
You can read more on the MAPI-local-medium page, and find the code in the repository at github.com/cabo0m/MAPI-local-medium.
Want to see what a practical AI agent looks like without building a huge platform?
See the MAPI-local-medium project page, download the repository, or talk with us about how a similar approach can be used in your process, project, or internal tool.
Read more in Technical
Jak zrobić transkrypcję filmu do tekstu za pomocą FFmpeg i faster-whisper
Praktyczny poradnik: film zamieniamy na audio przez FFmpeg, audio przepuszczamy przez lokalny model Whisper, a wynik zapisujemy do pliku tekstowego ze znacznikami czasu.
Git przy pracy z AI: jak nie stracić kontroli nad projektem
AI przyspiesza zmiany w kodzie, ale Git pozwala sprawdzić diff, pracować na branchu, zapisywać decyzje w commitach i nie zamieniać projektu w serię przypadkowych eksperymentów.
MAPI-local-medium: lokalny serwer MCP, który daje modelowi pamięć, narzędzia i granice
Techniczne wyjaśnienie, czym jest MAPI-local-medium: lokalny serwer MCP, który pozwala modelowi językowemu korzystać z pamięci projektowej, narzędzi, bootstrapu kontekstu i kontrolowanego środowiska pracy.