toolrecall (whiskybeer/toolrecall) is an MCP server listed on the M8ven Trust Index. It scores 37 out of 100, grade F. It declares 38 tools. No publisher has claimed this listing.

F
Warning
37/100

toolrecall

High-performance local SQLite FTS5-based tool output cache and MCP multiplexer for AI agents.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

whiskybeer

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
1 flow detected: LITELLM_API_KEY. We can’t prove the destination matches the brand the credential belongs to.
🚨
Reads files from sensitive locations
Touches: ~/.hermes/.env, ~/.hermes/.env, ~/.hermes/.env
🔐
You'll be asked for 13 credentials: GITHUB_PERSONAL_ACCESS_TOKEN, GITHUB_TOKEN, NAIVE_API_KEY, PREFIX_API_KEY, TOOLRECALL_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY, DEEPSEEK_API_KEY, TOOLRECALL_EDGE_TOKEN, TOOLRECALL_NETWORK_TOKEN, LITELLM_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes32 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

read_file

Read a file through ToolRecall's cache.

write_file

Write content to a file, invalidates cache.

patch

Apply a find-and-replace patch, invalidates cache.

terminal

Run a terminal command with TTL-based caching.

cached_skill

View an agent skill with caching.

docs_search

Full-text search indexed documents (FTS5+BM25).

docs_get_page

Retrieve an indexed document page by source and path.

cache_status

Show cache statistics (hits, misses, tokens).

cache_invalidate

Clear ToolRecall caches. Default scope='agent' clears agent caches

cache_refresh_file

Re-read a file from disk (bypasses cache). Safe.

mcp_call

Call a tool on a multiplexed MCP server (github, time, fetch).

mcp_list_servers

List available multiplexed MCP servers and their tools.

context_set_checkpoint

Mark current file state as a checkpoint.

context_get_dirty

Get files dirtied (written) vs clean (read-only) since a checkpoint.

context_get_stale

Get files read then later overwritten — your copy is stale.

context_get_stats

Full context tracker status: dirty/clean files, checkpoint ID.

context_reset

Reset the context tracker. Call context_set_checkpoint after.

recall_store

Persist a non-reproducible content block out-of-band and return a

recall_get

Restore a persisted content block by node_id (raw bytes + summary).

fetch_url

Fetch a URL and return its content. Supports HTTP/HTTPS.

fetch_head

Fetch only HTTP headers from a URL (no body). Returns: status, headers.

fetch_headers

Parse and return response headers as a dict. Same as fetch_head but returns formatted headers.

think_step

Process a single reasoning step

analyze

Analyze a reasoning chain for gaps

validate_reasoning

Validate reasoning for contradictions

get_time

Get current time in a timezone

list_timezones

List available timezone names

odysseus_search_web
odysseus_fetch_data
_auto_routed
search_web
fetch
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configTOOLRECALL_NO_AUTOSTART
configTOOLRECALL_FETCH_MAX_BYTES
🔐 secretGITHUB_PERSONAL_ACCESS_TOKEN
🔐 secretGITHUB_TOKEN
🔐 secretNAIVE_API_KEY
🔐 secretPREFIX_API_KEY
🔐 secretTOOLRECALL_API_KEY
🔐 secretANTHROPIC_API_KEY
🔐 secretOPENROUTER_API_KEY
🔐 secretGEMINI_API_KEY
🔐 secretGOOGLE_API_KEY
🔐 secretDEEPSEEK_API_KEY
configTOOLRECALL_TRANSPORT
configTOOLRECALL_CACHE_DB
configBENCH_DB_NAME
configBENCH_MAX_TURNS
configBENCH_MODEL
configBENCH_CONTEXT_LIMIT
configBENCH_COST_ABORT
configKEY_A
configKEY_B
configBENCH_CACHE_DB
🔐 secretTOOLRECALL_EDGE_TOKEN
configMEASURE_MAX_TURNS
configMEASURE_PRICE
configTOOLRECALL_PRICE_INPUT
configTOOLRECALL_PRICE_OUTPUT
configTOOLRECALL_FORWARD_PORT
configTOOLRECALL_NONINTERACTIVE
configTOOLRECALL_PROXY_TARGET
configAGENT_HOME
configTOOLRECALL_AGENT_HOME
configTOOLRECALL_CONFIG
configTOOLRECALL_UPDATE_CHECK
configTOOLRECALL_BIN
configTOOLRECALL_LOG_FILE
configTOOLRECALL_LOG_TAIL_KB
configTOOLRECALL_LOG_LEVEL
configTOOLRECALL_LOG_MAX_DAYS
configTOOLRECALL_DEDUP_MEDIA
configTOOLRECALL_FORWARD_TIMEOUT
configTOOLRECALL_FORWARD_STREAM_TIMEOUT
configTOOLRECALL_FORWARD_EXTRA_HOSTS
configTOOLRECALL_API_TTL
configTOOLRECALL_FORWARD_BIND_ATTEMPTS
configTOOLRECALL_FORWARD_BIND_DELAY
configTOOLRECALL_SHIM_MARKER
configTOOLRECALL_SHIM_DISABLE
configTOOLRECALL_SHIM_TAG_SOURCE
configPYTEST_CURRENT_TEST
configTOOLRECALL_PORT
configTOOLRECALL_UDS_PATH
configXDG_RUNTIME_DIR
configTOOLRECALL_NETWORK_TLS
configTOOLRECALL_NETWORK_TLS_INSECURE
configTOOLRECALL_NETWORK_TLS_CA
🔐 secretTOOLRECALL_NETWORK_TOKEN
configTOOLRECALL_TURSO_API_BASE
configTURSO_ORG
configTOOLRECALL_UPDATE_STATE
configPIPX_LOCAL_VENVS
configTOOLRECALL_UPDATE_INDEX_URL
configTOOLRECALL_SRC
configLITELLM_URL
🔐 secretLITELLM_API_KEY
configMEASURE_MODEL
configMEASURE_INSTANCES
configOPENROUTER_KEY_DEDUP
configTOOLRECALL_DEDUP_DISABLED
configTOOLRECALL_DEDUP_MIN_CHARSTwo ways to run it — same algorithm (toolrecall.dedup), same knobs (/_PROTECT_LAST/_MEDIA), same X-ToolRecall-No-Dedup opt-out semantics:
configTOOLRECALL_DEDUP_PROTECT_LAST
configTOOLRECALL_PROXY_HOST
configTOOLRECALL_PROXY_PORT
configTOOLRECALL_SSE_KEEPALIVE
configTOOLRECALL_EDGE_CAPTURE_DIR
configTOOLRECALL_EDGE_CANONICALIZE
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

38/38 tools missing one or more hints — read_file (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); write_file (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); patch (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +35 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

5/6 tool handlers declare input schemas (83%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool test coverage

28/38 tools referenced in tests (74%)

Write tests that reference each tool by name so every tool has at least one test.

No access to sensitive paths

Reads sensitive paths: ~/.hermes/.env, ~/.hermes/.env, ~/.hermes/.env

Remove reads of sensitive system paths. If you genuinely need them, document why in the README.

Secrets stay with their owner

1 secret sent to a request target we could not resolve (LITELLM_API_KEY → dynamic) — often a configured endpoint, not necessarily third-party

Audit where credentials are sent. A NOTION_TOKEN should only reach api.notion.com — never a third-party host.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/whiskybeer/toolrecall?variant=verified)](https://m8ven.ai/mcp/whiskybeer/toolrecall)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: c598a7a1b36d7769c066d8408db4ca40e3356986
code hash: a78a38bffeb142709de89ae6d58c777555da759fc25ed6cac49ecb37aafe2e0e
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client