FieldCure.Mcp.Essentials 2.6.0

{
  "servers": {
    "FieldCure.Mcp.Essentials": {
      "type": "stdio",
      "command": "dnx",
      "args": ["FieldCure.Mcp.Essentials@2.6.0", "--yes"]
    }
  }
}
                    
This package contains an MCP Server. The server can be used in VS Code by copying the generated JSON to your VS Code workspace's .vscode/mcp.json settings file.
dotnet tool install --global FieldCure.Mcp.Essentials --version 2.6.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local FieldCure.Mcp.Essentials --version 2.6.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=FieldCure.Mcp.Essentials&version=2.6.0
                    
nuke :add-package FieldCure.Mcp.Essentials --version 2.6.0
                    

FieldCure.Mcp.Essentials

Install once, get the basics. An MCP server with 20 essential tools for any MCP client — web search with runtime engine switching (get/set), Wolfram|Alpha, web/document fetching, URL file downloads, shell, JavaScript sandbox, file I/O, and persistent memory. Category search (news, images, scholar, patents) is always available with per-tool runtime capability guards against the active engine.

Tools

Tool Description
http_request Full HTTP client (GET/POST/PUT/DELETE/PATCH/HEAD) with SSRF protection and max_response_chars for response size control
web_search Search the web and return snippets (title, URL, description)
web_fetch Fetch a URL and extract content as Markdown — HTML pages and documents (PDF, DOCX, HWPX, PPTX, XLSX)
download_file Download URL content to disk with a configurable download directory, 100 MB limit, and atomic save
run_command Shell command execution with timeout, working directory, env vars, explicit shell selection, and truncation flags
run_javascript Sandboxed JavaScript (Jint) — math, JSON, regex, data processing
wolfram_alpha Wolfram|Alpha computational knowledge — symbolic math, plots, unit conversions, constants. MathML passes through for native rendering
get_environment System info — time, timezone, OS, hostname, username
read_file Read files — text with offset/limit, documents (PDF, DOCX, HWPX, PPTX, XLSX) parsed to Markdown
write_file File writing (overwrite/append) with auto directory creation
search_files File search by glob pattern and content (grep-like)
remember Store a key-value memory (persisted in SQLite)
forget Delete memories by key or keyword search
list_memories Search and list stored memories with FTS5 and pagination
set_search_engine Switch the active search engine (bing, duckduckgo, serper, tavily, serpapi) at runtime. Paid-engine API keys resolve lazily via env var or MCP Elicitation on the next search. Emits notifications/tools/list_changed on success.
get_search_engine Return the currently active engine and its category capabilities. Read-only; useful for host UIs reflecting live engine state or for confirming category support before calling a category search tool.

Category Search (SerpApi / Serper / Tavily)

Always registered. Each tool runtime-guards on the active engine's capabilities and returns a descriptive error pointing at set_search_engine when the current engine does not support the category.

Tool Description SerpApi Serper Tavily
search_news Search recent news articles via Google News Yes Yes Yes
search_images Search images with size/type filtering Yes Yes
search_scholar Search academic papers with citation counts Yes Yes
search_patents Search patent documents with inventor/assignee filtering Yes Yes

Document Parsing

web_fetch and read_file can parse binary documents into Markdown:

Format Extension Detection
PDF .pdf Content-Type / URL extension (text-layer only; scanned pages yield empty text — use fieldcure-mcp-rag for OCR)
Word .docx Content-Type / URL extension
Hangul (HWPX) .hwpx URL extension (no standard Content-Type)
PowerPoint .pptx Content-Type / URL extension
Excel .xlsx Content-Type / URL extension

Output includes headings, tables, math expressions ([math: LaTeX]), and slide/page separators.

File Downloads

download_file saves the original bytes from an HTTP(S) URL. If save_path is omitted, the tool infers a filename from Content-Disposition, the URL path, or a generated fallback name. Relative save_path values resolve under the configured download_directory; absolute paths are used as-is except for protected system directories.

The default download directory is ~/Downloads/mcp and is created automatically on first use. Downloads are written to a temporary file in the destination directory and then committed with an atomic move/replace, so failed or cancelled downloads do not leave a partial final file.

Configure it in %LOCALAPPDATA%/FieldCure/Mcp.Essentials/settings.json:

{
  "download_directory": "~/Downloads/mcp"
}

Override with --download-directory <path> or ESSENTIALS_DOWNLOAD_DIRECTORY.

Default engine is Bing (free, no API key needed). For more reliable results, use an API-based engine:

Engine Free Tier API Key
Bing (default) Unlimited (scraping) Not needed
Serper 2,500 one-time serper.dev
Tavily 1,000/month tavily.com
SerpApi 100/month serpapi.com
# Use Serper
fieldcure-mcp-essentials --search-engine serper --search-api-key YOUR_KEY

# Or via environment variables
ESSENTIALS_SEARCH_ENGINE=tavily ESSENTIALS_SEARCH_API_KEY=xxx fieldcure-mcp-essentials

Engine-specific environment variables are also auto-detected when --search-engine is omitted:

Engine Environment Variable
Serper SERPER_API_KEY
SerpApi SERPAPI_API_KEY
Tavily TAVILY_API_KEY

Use the region parameter for localized results:

{ "query": "서울 맛집", "region": "ko-kr" }

Without --search-engine, a fallback engine (Bing → DuckDuckGo) auto-switches on CAPTCHA.

If a paid engine is selected explicitly but no API key is configured, the server no longer silently falls back. On the first web_search call it asks the MCP client for the key via MCP Elicitation; if the client does not support Elicitation, or the user declines and then also declines the follow-up "use free fallback?" prompt, the call soft-fails with a clear message. Cached keys live for the process lifetime.

Wolfram|Alpha

wolfram_alpha calls the Full Results API v2 and returns mixed text/image content. MathML is passed through verbatim — clients that render MathML (e.g. ChatPanel WebView2) display formulas natively, no client-side conversion needed. Plots and other visual pods are embedded as ImageContent. The API's reinterpret=true flag is always on, so the server auto-corrects most failed queries before returning.

Set WOLFRAM_APPID to the AppID obtained at developer.wolframalpha.com (select Full Results API, free tier: 2,000 calls/month, non-commercial). Clients that support MCP Elicitation are prompted for the key on first use if the env var is unset.

⚠️ Use developer.wolframalpha.com, not developer.wolfram.com — the latter is a separate paid portal.

The tool is always registered regardless of AppID status; without a key it returns a setup-guidance error so the model can inform the user.

Run Command

run_command defaults to cmd.exe on Windows and /bin/sh on Unix for backward compatibility. Pass shell to opt into pwsh, powershell, cmd, bash, or sh. Responses include shell_used, stdout_truncated, and stderr_truncated; max_output_chars caps stdout and stderr independently.

Memory

Memories are stored in SQLite (%LOCALAPPDATA%/FieldCure/Mcp.Essentials/memory.db) and shared across all MCP clients on the same machine.

# Custom memory path
fieldcure-mcp-essentials --memory-path /path/to/memory.db

# Or via environment variable
ESSENTIALS_MEMORY_PATH=/path/to/memory.db fieldcure-mcp-essentials

Quick Start

dotnet tool install -g FieldCure.Mcp.Essentials

Claude Desktop

{
  "mcpServers": {
    "essentials": {
      "command": "fieldcure-mcp-essentials"
    }
  }
}

VS Code

{
  "servers": {
    "essentials": {
      "command": "fieldcure-mcp-essentials"
    }
  }
}

Requirements

Optional

Works out of the box with no additional dependencies. If available on your system, run_command can leverage tools like Node.js, Python, Git, Docker, and any other CLI tools.

See Also

Part of the AssistStudio ecosystem.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
2.6.0 102 4/29/2026
2.5.0 100 4/25/2026
2.4.0 99 4/23/2026
2.3.0 96 4/23/2026
2.2.0 105 4/22/2026
2.1.1 105 4/21/2026
2.1.0 105 4/20/2026
2.0.0 105 4/17/2026
1.5.0 98 4/14/2026
1.4.2 109 4/10/2026
1.4.1 93 4/10/2026
1.4.0 96 4/10/2026
1.3.1 94 4/8/2026
1.3.0 102 4/8/2026
1.2.0 101 4/7/2026
1.1.0 96 4/7/2026
1.0.0 98 4/6/2026
0.7.1 103 4/6/2026
0.7.0 93 4/6/2026
0.6.0 108 4/4/2026
Loading failed

v2.6.0: Add run_command shell selection (auto, pwsh, powershell, cmd, bash, sh) with shell_used reporting and max_output_chars / stdout_truncated / stderr_truncated flags. Fix cmd.exe embedded-quote escaping, Unix /bin/sh quote corruption, and Windows PowerShell non-ASCII (Korean/CJK) output mojibake.