Skip to content

Instantly share code, notes, and snippets.

@exonomyapp
Last active August 23, 2026 22:43
Show Gist options
  • Select an option

  • Save exonomyapp/4e49780a3d58963e22b1a014e139268a to your computer and use it in GitHub Desktop.

Select an option

Save exonomyapp/4e49780a3d58963e22b1a014e139268a to your computer and use it in GitHub Desktop.
Exo MCP Gateway — reference for its eight tools

Exo MCP Gateway — Tool Guide

The gateway is a small service that gives AI models nine tools. Each tool does one job. This document describes all nine: what each one does, how it behaves, and what it returns.


exo_search

Searches the web by sending one query to many search engines at the same time — among them DuckDuckGo, Google, Yandex, Baidu, and Sogou, depending on which engines are enabled on this machine. It returns a single ranked list in which every result shows a title, an address, a short summary, and the engine that found it, so the source of each result is always visible. The result count is whatever the search service returns for the query; an optional max_results setting caps that list when a shorter one is wanted.

Several further settings narrow a search. page moves past the first batch of results — page 2 starts after everything page 1 contained, and so on for deeper pages. categories aims the query at a particular kind of index rather than the general web: recent news, scientific papers, software repositories, package listings, books, weather, translations, and more, depending on what this machine has enabled. time_range limits results to material from the past day, month, or year. engines names specific engines to use exclusively; exclude_engines names engines to leave out of an otherwise full search.

The search runs through a SearXNG instance on this machine — a private search aggregator — so queries pass through local infrastructure instead of a third-party search product.

exo_search_sources

Returns the live catalog of the search instance described above: every engine currently enabled (with its shortcut name), the categories available on this machine, and engines that are known but switched off. A model reads this first when it wants to aim a search at specific engines or check what is actually available before narrowing a query. The list comes straight from the search service at call time, so it always reflects reality as of now.

fetch_url

Downloads a web page and returns its readable text. It also extracts the text layer from PDF files. It refuses addresses that point at private or internal network ranges instead of the public internet, so a page cannot be used to probe other machines on this network. Recently fetched pages are kept briefly, which makes repeat requests instant instead of downloading the same page twice.

current_time

Returns the machine's current date and time, in both the local timezone and UTC, the worldwide reference time. A model has no reliable sense of what time it is right now; this answers that exactly, in one call.

consult

Asks all three knowledge stores one question at the same time and merges their answers into a single result. The three stores hold different kinds of knowledge: Memento keeps personal memory that changes over time, Cognee keeps durable facts and the relationships between them, and Graphify maps how the codebase itself is put together. In the merged answer, every item is labeled with the store that provided it, duplicates appear only once, and stronger matches are listed first. When one store cannot answer or is offline, the result is still assembled from the others.

remember

Saves new information into whichever store fits its kind:

  • working notes and events go to Memento, which also manages how memories weaken and get scheduled for review;
  • durable facts and step-by-step lessons go to Cognee;
  • observations about the codebase itself are recorded for the next Graphify scan instead of being stored as memory.

Saving the same content twice does not create a second copy. The model receives the original record and a note saying the information was already stored.

forget

Deletes a stored item by its identifier. The model must choose one of four modes, because deleting can mean different things:

  • decay — marks the item for natural fading inside Memento, whose own rules decide when it actually disappears;
  • abstract — deletes the item, but first writes its essence into Cognee as a short lesson;
  • hard_delete — removes it completely from Memento and any derived copies;
  • privacy_delete — the same complete removal, plus erasing the item's raw text from the gateway's audit log so that only identifiers, hashes, and timestamps remain.

Every deletion writes two entries into the audit log: one recording what was about to be deleted, and one recording the outcome.

review

Lists the memories that Memento has flagged as worth another look — items that are old, weakly confirmed, or previously troublesome — and adds related knowledge from the other stores to each entry. With that context in hand, the model can decide whether to reinforce the memory, refresh it, or release it.

memory_status

A health report for the whole stack. It reports whether each of the three stores responds and how quickly, how many items each holds, whether anything recorded in the audit log has disappeared without a matching deletion, and the condition of the log itself. Its purpose is early warning: a store that is slowing down or starting to fail shows up here before its absence turns into errors somewhere else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment