
Essentials
io.github.fieldcure由 GitHub 帳號 fieldcure 發布v2.6.1更新於 Oct 24, 2026
Essential MCP server: HTTP, web search, downloads, Wolfram|Alpha, shell, JS, file I/O, memory.
概覽
在本機執行的 .NET MCP 伺服器,內含 20 個通用工具:HTTP 請求、網頁搜尋與擷取、下載、Shell、JavaScript、檔案讀寫、Wolfram|Alpha 與持久記憶。
- 可以做什麼
- 發出 HTTP 請求並擷取網頁,把 HTML 與文件(PDF、DOCX、HWPX、PPTX、XLSX)轉成 Markdown
- 進行網頁搜尋,並透過 API 引擎搜尋新聞、圖片、學術論文與專利,可在執行時切換引擎
- 把 URL 內容下載到磁碟,並讀取、寫入或依內容搜尋本機檔案
- 執行 Shell 指令與沙箱內的 JavaScript,用於計算與資料處理
- 呼叫 Wolfram|Alpha 處理數學、單位換算與繪圖,並讀取系統環境資訊
- 在本機 SQLite 資料庫中儲存、搜尋與刪除持久化的鍵值記憶
- 適用情境
- 適合想用一個本機伺服器涵蓋助理日常需求(網頁查詢、檔案存取、Shell 與腳本執行、簡單記憶),而不必安裝多個專用伺服器的情況。適用於桌面端的資料查找、文件閱讀與小型資料處理。
- 執行需求
- 以本機 stdio 程序執行,需要 .NET 8.0 或更新版本的執行環境(可安裝為 dotnet 工具或從原始碼建置),僅限桌面端。預設使用免費的 Bing/DuckDuckGo 擷取,無需金鑰;可選金鑰透過 SERPER_API_KEY、SERPAPI_API_KEY、TAVILY_API_KEY 或 ESSENTIALS_SEARCH_API_KEY 提供,Wolfram|Alpha 需要 WOLFRAM_APPID。路徑可用 ESSENTIALS_DOWNLOAD_DIRECTORY、ESSENTIALS_MEMORY_PATH、ESSENTIALS_SETTINGS_PATH 與 ESSENTIALS_SEARCH_ENGINE 設定。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Essentials,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
FieldCure MCP Essentials
Install once, get the basics. A Model Context Protocol (MCP) server that provides 20 essential tools — HTTP requests, web search & fetch, URL file downloads, Wolfram|Alpha computational knowledge, shell commands, JavaScript execution, file I/O, environment info, and persistent memory — for any MCP client. Category search (news, images, scholar, patents) and runtime engine switching (get/set) are always available; capabilities are guarded at invocation time against the active engine. Built with C# and the official MCP C# SDK.
Features
- 20 essential tools — HTTP, web search & fetch, URL file downloads, runtime search-engine switching (get/set), Wolfram|Alpha, shell, JavaScript sandbox, environment info, file read/write/search, persistent memory + category search (news, images, scholar, patents)
- Zero configuration — no API keys needed for default Bing search; optional API keys unlock Serper, Tavily, SerpApi (+ category search tools), and Wolfram|Alpha
- Document parsing —
web_fetchandread_fileextract text from PDF, DOCX, HWPX, PPTX, XLSX into Markdown. PDF text extraction is text-layer only; scanned PDFs without a text layer yield empty text. For OCR-backed indexing usefieldcure-mcp-rag. - Sandboxed JavaScript — Jint engine with strict limits (timeout, statement count, recursion depth)
- SSRF protection — HTTP requests, web fetch, and file downloads block private IP ranges and loopback addresses
- Cross-client — works with Claude Desktop, VS Code, AssistStudio, and any MCP-compatible client
- Stdio transport — standard MCP subprocess model via JSON-RPC over stdin/stdout
Installation
After installation, the fieldcure-mcp-essentials command is available globally.
From source
Requirements
- .NET 8.0 Runtime or later
Tools
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.
Runtime engine switching
web_search vs web_fetch vs download_file vs http_request
Document Parsing
web_fetch and read_file can parse binary documents into Markdown:
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.
Web Search
Default engine is Bing (free, no API key needed). For more reliable results, use an API-based engine:
Environment Variable Auto-Detection
When --search-engine is omitted, the server scans environment variables and automatically selects the best available engine:
Detection priority: Serper → SerpApi → Tavily → Bing/DuckDuckGo fallback.
API Key Security
Region
Use the region parameter for localized results:
Without --search-engine, a fallback engine (Bing → DuckDuckGo) auto-switches on CAPTCHA. Free engines rely on scraping and may be intermittent — an API-based engine is strongly recommended for any non-trivial use.
Explicit paid engine without a key — MCP Elicitation
When --search-engine serper|tavily|serpapi is selected explicitly but no API key is configured (CLI arg, ESSENTIALS_SEARCH_API_KEY, or engine-specific env var), the server waits until the first web_search call and then asks the MCP client for the key via MCP Elicitation. If the user declines, a follow-up prompt asks whether to run the search with free Bing/DuckDuckGo instead. Declining both lets the tool soft-fail with a clear message so the LLM can recover.
Clients without Elicitation support (including older CLI hosts) fall back to the free engine immediately, matching the pre-2.1 behaviour. Cached keys live for the process lifetime; the host can re-elicit after an upstream 401/403 if the tool invalidates the cache.
Wolfram|Alpha
wolfram_alpha calls the Full Results API v2 and returns mixed content — plaintext, MathML (passed through verbatim for clients that render MathML natively, e.g. ChatPanel/WebView2), and plot images embedded as ImageContent. The API's reinterpret=true flag is always on so most typo-level failures auto-correct server-side; only real parse failures surface isError: true with assumptions > tips > didyoumeans guidance.
AppID
Set WOLFRAM_APPID to the AppID obtained at developer.wolframalpha.com (select "Full Results API"; free tier: 2,000 calls/month, non-commercial). On MCP clients that support Elicitation the key can also be supplied interactively on first use. A rejected AppID (401/403) triggers a single invalidate-and-retry so a mistyped key can be re-elicited; the existing ApiKeyResolverRegistry re-elicit cap (2 per env-var slot) prevents loops.
⚠️ Use
developer.wolframalpha.com, notdeveloper.wolfram.com— the latter is a separate paid portal and will show "no permission to access any API keys" for free accounts.
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 instead of silently skipping.
Query tips (surfaced in the tool description)
- English only, simplified keyword form (
'France population', not'how many people live in France') - Exponent notation
6*10^14, never6e14 - Single-letter variables (
x,y,n) - Named physical constants (
'speed of light', not299792458) - For equations with units, solve without units first
RECOMMENDED / AVOIDhints steer the model — simple arithmetic torun_javascript, general web queries toweb_search, subjective/news questions away from Wolfram
JavaScript Sandbox
run_javascript uses the Jint engine with strict limits:
Allowed: Math.*, JSON, Date, RegExp, console.log, string/array methods, parseInt, encodeURIComponent, atob/btoa
Blocked: setTimeout, setInterval, require, import, .NET interop, eval()
Variables can be injected into the script scope for data pipeline use:
Run Command
run_command defaults to the backward-compatible shell for the host: cmd.exe on Windows and /bin/sh on Unix. Use shell when a command requires specific syntax:
Verbose output is capped per stream with max_output_chars (default 100,000). Responses include shell_used, stdout_truncated, and stderr_truncated; truncated streams include an inline marker with the omitted character count.
Memory
Memories are stored in SQLite (%LOCALAPPDATA%/FieldCure/Mcp.Essentials/memory.db) and shared across all MCP clients on the same machine.
Configuration
Essentials settings
The default settings file is:
- Windows:
%LOCALAPPDATA%/FieldCure/Mcp.Essentials/settings.json - macOS/Linux: the platform local app-data folder plus
FieldCure/Mcp.Essentials/settings.json
Download directory precedence is:
- CLI:
--download-directory <path> - Environment:
ESSENTIALS_DOWNLOAD_DIRECTORY - Settings file:
download_directory - Default:
~/Downloads/mcp
Use --settings-path <path> or ESSENTIALS_SETTINGS_PATH to point at a different settings file.
Claude Desktop
Add to claude_desktop_config.json:
With a search engine:
VS Code (Copilot)
Add to .vscode/mcp.json:
From source (without dotnet tool)
Data Storage
Project Structure
Development
See Also
Part of the AssistStudio ecosystem.
License
來源:README.md,提交 fdf4487
工具
0版本歷史
1- v2.6.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分