
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 分