1. Conduid
  2. Search
  3. Zakira.Recall
MCP server · Search

Zakira.Recall

Local CLI and MCP server for web search, page fetch, and research workflows without API keys.

Unclaimed search
34Low

Scored 6 months ago · breakdown

About Zakira.Recall

Zakira.Recall is an MCP server in the Search category: local CLI and MCP server for web search, page fetch, and research workflows without API keys.

Install

From source
git clone https://github.com/MoaidHathot/Zakira.Recall

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Zakira.Recall

Powered by Claude · Grounded in docs

I know everything about Zakira.Recall. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Zakira.Recall

Test NuGet

Local CLI and MCP server for web search, page fetch, and research workflows without API keys.

Supports:

  • provider selection and fallback
  • pluggable provider discovery with alias support
  • Playwright-backed search and fetch
  • structured citations for research results
  • JSON, text, Markdown, and Dumpify CLI output modes
  • interactive browser profile setup for sign-in and consent flows
  • config and profile inspection commands

Install

From NuGet as a global tool:

dotnet tool install --global Zakira.Recall

Available commands after install:

recall --help

Commands

recall search "site:github.com mcp server"
recall search "playwright mcp" --provider duckduckgo-browser --page 2 --time-range month --safe-search false
recall fetch "https://example.com"
recall fetch "https://example.com" --output markdown
recall research "best local mcp web search tools" --domain-diversity true
recall research "playwright search providers" --fallback-provider bing --max-concurrent-fetches 4 --output dump
recall config init
recall config show --output dump
recall providers list --output json
recall providers test ddg
recall profile show default --output markdown
recall profile init default --channel msedge --provider duckduckgo --headless false
recall profile auth interactive --provider duckduckgo-browser --no-wait true
recall mcp

Providers

Available providers:

  • duckduckgo
  • duckduckgo-browser
  • bing

Provider names are resolved through the registry, so aliases such as ddg work anywhere a provider name is accepted.

List provider capabilities and current health state:

recall providers list
recall providers list --output json
recall providers list --output dump
recall providers test ddg

The browser-backed providers use Playwright and support interactive setup flows.

For contributors: provider registration is assembly-driven. New ISearchProvider implementations in the Playwright assembly are discovered automatically, and aliases plus setup URLs come from the provider itself.

Playwright Setup

Search providers that use Playwright and the fetch flow require the Playwright runtime and browser install.

If you are running from build output:

pwsh "$env:LOCALAPPDATA\Temp\Zakira.Recall\bin\Debug\net10.0\playwright.ps1" install chromium

If you installed the global tool, run the packaged playwright.ps1 next to the installed tool files.

If you want to prepare a persistent interactive browser profile for consent pages or sign-in:

recall profile auth interactive --provider duckduckgo-browser
recall profile auth interactive --provider bing
recall profile auth interactive --provider bing --no-wait true

This opens a non-headless browser using the selected profile, navigates to the provider's setup URL, and prints guidance in the terminal. By default it waits for Enter before closing. Use --no-wait true if you want the command to return immediately after opening the page.

Config

Default config file locations:

  • If XDG_CONFIG_HOME is set: $(XDG_CONFIG_HOME)/Zakira.Recall/profiles.json
  • Otherwise on Windows: %APPDATA%\Zakira.Recall\profiles.json

Default profile storage locations:

  • If XDG_DATA_HOME is set: $(XDG_DATA_HOME)/Zakira.Recall/profiles
  • Otherwise on Windows: %LOCALAPPDATA%\Zakira.Recall\profiles

Example config file for $XDG_CONFIG_HOME/Zakira.Recall/profiles.json:

  • examples/profiles.json

Generate it with the CLI:

recall config init

By default this writes to:

  • $XDG_CONFIG_HOME/Zakira.Recall/profiles.json when XDG_CONFIG_HOME is set
  • otherwise %APPDATA%\Zakira.Recall\profiles.json

Override the output path if needed:

recall config init --path "C:/temp/recall-profiles.json"

Inspect the resolved configuration:

recall config show
recall config show --path "C:/temp/recall-profiles.json" --output dump

Generate a config with fallback providers and logging defaults:

recall config init --provider duckduckgo --fallback-provider duckduckgo-browser bing --enable-fallback true --config-log-level Information

Useful config fields:

  • defaultProvider
  • defaultProfile
  • profilesRoot
  • fallbackProviders
  • enableProviderFallback
  • providerHealthCooldownSeconds
  • maxConcurrentFetches
  • logLevel

Inspect a resolved profile:

recall profile show
recall profile show default --provider bing --output markdown

Per-profile fields:

  • name
  • channel
  • defaultProvider
  • headless
  • userDataDir
  • locale
  • timeoutSeconds
  • fallbackProviders
  • enableProviderFallback
  • providerHealthCooldownSeconds
  • maxConcurrentFetches
  • logLevel
  • metadata

Notes:

  • If profilesRoot is omitted, the tool falls back to the default data directory.
  • If defaultProfile is omitted, the tool uses default.
  • If a profile omits channel, the tool uses msedge.
  • If a profile omits headless, the resolver defaults it to true.
  • If a profile omits timeoutSeconds, the resolver defaults it to 30.
  • If enableProviderFallback is enabled, search can fail over to configured fallback providers.
  • Provider health is tracked in-memory during the current process and used to avoid retrying recently failing providers.
  • logLevel can be set globally in config, per profile, or overridden at runtime with --log-level.

CLI Options

User-facing commands default to text output. Use --output json when you want machine-oriented structured output.

Common search options:

recall search <query> \
  [--provider <name>] \
  [--profile <name>] \
  [--limit <n>] \
  [--page <n>] \
  [--time-range <day|week|month|year>] \
  [--safe-search <true|false>] \
  [--fallback <true|false>] \
  [--fallback-provider <name> ...] \
  [--output <json|text|markdown|dump>]

Fetch options:

recall fetch <url> \
  [--profile <name>] \
  [--timeout <seconds>] \
  [--output <json|text|markdown|dump>]

Research options:

recall research <query> \
  [--provider <name>] \
  [--profile <name>] \
  [--limit <n>] \
  [--top-pages <n>] \
  [--page <n>] \
  [--time-range <day|week|month|year>] \
  [--safe-search <true|false>] \
  [--fallback <true|false>] \
  [--fallback-provider <name> ...] \
  [--max-concurrent-fetches <n>] \
  [--domain-diversity <true|false>] \
  [--output <json|text|markdown|dump>]

Profile inspection options:

recall profile show [name] \
  [--provider <name>] \
  [--output <json|text|markdown|dump>]

Provider inspection options:

recall providers list \
  [--profile <name>] \
  [--output <json|text|markdown|dump>]

recall providers test <name> \
  [--profile <name>] \
  [--output <json|text|markdown|dump>]

Config inspection options:

recall config show \
  [--path <path>] \
  [--output <json|text|markdown|dump>]

Global options:

--config <path>
--default-provider <name>
--default-profile <name>
--profiles-root <path>
--log-level <Trace|Debug|Information|Warning|Error|Critical|None>

Output

CLI commands support multiple output modes:

  • json: full structured response
  • text: concise terminal-friendly output
  • markdown: readable output for notes or LLM workflows
  • dump: structured object inspection via Dumpify

Examples:

recall search "mcp server"
recall fetch "https://example.com" --output markdown
recall research "playwright search" --output json
recall providers list --output dump
recall providers test ddg

Research Output

research returns:

  • normalized search results
  • fetched page content for selected sources
  • structured citations
  • partial errors when some pages fail but others succeed

By default, research also:

  • deduplicates equivalent result URLs before fetch
  • prefers domain diversity when selecting top pages to read

This makes the tool safer for agent workflows because one failed fetch does not have to fail the whole research run.

MCP

Run the MCP server over stdio:

recall mcp

The exposed tools are:

  • WebSearch
  • WebFetch
  • WebResearch
  • WebListProviders
  • WebBatchFetch
  • WebSearchThenFetch
  • WebShowConfig
  • WebShowProfile
  • WebGetProviderHealth

MCP tools return structured typed results that are easier for agents to consume directly.

WebSearch and WebResearch support provider selection, paging, time range, safe search, and fallback controls.

Pack

Pack the NuGet tool locally:

pwsh .\pack.ps1

Pack and push to NuGet.org:

pwsh .\pack.ps1 -Push
pwsh .\pack.ps1 -ApiKey "<key>" -Push

If -ApiKey is omitted, pack.ps1 uses NUGET_API_KEY.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Zakira.Recall

How do I install Zakira.Recall?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Zakira.Recall safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Zakira.Recall still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.