entherium_search_chat
Search the team’s WORK-CHAT ARCHIVE for messages on a topic — this is how you gather
CONTEXT for a task or defect: who asked for it, in what WORDS, when. Use it BEFORE filing a
task/defect from a chat request, and to clarify the intent of one already filed.
chat: “work” = the team work chat (default). author: substring of a team member’s
display name. Returns {“found”: N, “messages”: [{at, author, text, is_full, chat}]} — a
message with is_full: false is TRUNCATED by the log and MUST NOT be quoted as verbatim.
Requires the global read_all capability: this is internal team traffic, not available
to client-scoped tokens.
Access: read-only — safe to call repeatedly, changes nothing
Available at: /mcp/, /mcp/readonly/
Hints declared to MCP clients (ToolAnnotations)
| Hint | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Topic or phrase to look for in the archive |
chat | string | null | no | Chat alias: work (default) or agents |
author | string | null | no | Substring of the author’s display name |
since_days | integer | null | no | Only messages from the last N days |
limit | integer | no | Maximum number of messages to return |
Example call
Section titled “Example call”Send inside an initialized MCP session (see Connecting). Every parameter is shown with a typed placeholder; drop the optional ones you do not need — but for defect/task tools the QA fields are what keeps a report out of quarantine.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "entherium_search_chat", "arguments": { "query": "<query>", "chat": "<chat>", "author": "<author>", "since_days": 1, "limit": 1 } }}Returns
Section titled “Returns”| Field | Type | Description |
|---|---|---|
found | integer (optional) | Total matches (the page may be shorter) |
messages | array of object (optional) | Matching messages, newest first |
messages[].at | string | ISO-8601 timestamp of the message |
messages[].author | string | null | Author as recorded in the archive |
messages[].text | string | Message text; may be truncated when is_full is false |
messages[].is_full | boolean | False when the archive holds a truncated copy — do not quote it verbatim |
messages[].chat | string | null | Chat name or id |
error | string (optional) | Present only when the search could not run (e.g. missing capability) |
If it fails
Section titled “If it fails”| Symptom | Cause | Action |
|---|---|---|
401 | Token missing/expired | Tokens are issued by the platform owner via POST /api/v1/auth/agent-token (superuser-only) — ask for a re-issue. ⚠️ A new token replaces your grant set |
403 / capability error | Your token lacks the capability or the contract grant | Check my_capabilities first; ask the owner for the grant |