What tools exist here, and when to reach for each
emem_toolsThe map of emem's tool surface, and the only tool you need to find the rest: the working loop in the order you walk it (name, ground, cite, resolve, verify, check for drift), then every other tool grouped by the question it answers, each with its one-line trigger. Pass name for one tool's full schema and a runnable example. IF YOU ARE READING A LIST OF 18 TOOLS, YOU ARE SEEING A CURATED SUBSET OF 114, NOT THE WHOLE SURFACE; hosts strip _meta, so the count is repeated here. Every catalogued tool stays callable by name through tools/call at either endpoint.
When to use: Call FIRST when you do not know which tool answers the question, or need a capability absent from your list: absent from the list is not absent from the server. q searches by topic (ndvi, flood, verify), name returns one exact schema, no arguments returns the whole map. /mcp/full registers the full catalog; emem_ask answers in one shot without picking a primitive.
Example arguments: {"q":"ndvi"}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text filter over tool names, titles and trigger text, e.g. `ndvi`, `cloud`, `flood`, `verify`, `token`. Plain lowercased substring over name + title + description + trigger text, not fuzzy and not stemmed: `ndvi` hits, `vegetation index` only hits tools that spell that phrase. Combines with `shape`/`bundle`/`category`/`tier` as AND, so an over-narrow combination answers with an empty catalog rather than an error. | |
| name | No | Return the full descriptor for exactly this tool (input schema, runnable example, annotations), e.g. `emem_ndvi`. Use this when you already know the name and want its schema without loading the whole catalog. It SHORT-CIRCUITS: when `name` is set every other argument here is ignored, so `{name, q}` is not a search within one tool. A name this responder does not carry is not an error status, you get a body with `did_you_mean` holding up to five names that share a substring with what you asked for. | |
| tier | No | Which slice to list. Defaults to `all`, so this tool shows the whole surface even when the endpoint advertises only the core loop, and an `extended` tool you find here is callable by name through tools/call whether or not your host listed it. Pass `core` to see only what a default connection advertises. | |
| shape | No | Filter by what the answer looks like, which is usually the real question. `scalar` is one number at one address; `raster` is a gridded field over an area; `timeseries` is a value per timestep; `vector` is a learned embedding; `identity` is a canonical name for a thing; `token` is a citation handle; `proof` checks one. | |
| bundle | No | Filter by the job you are doing. Call with no arguments first to see each bundle and its size. | |
| category | No | Filter to one category. This is about the shape of the job, NOT about safety: 16 tools outside `write` declare `readOnlyHint: false` because reading a cold address can materialise or mint as a side effect, so `category: "read"` is not a safe-tools filter. Read each result's `annotations.readOnlyHint` for that. |