Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Essential MCP server: HTTP, web search, downloads, Wolfram|Alpha, shell, JS, file I/O, memory.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
ESSENTIALS_SEARCH_ENGINE, ESSENTIALS_SEARCH_API_KEY, SERPER_API_KEY, SERPAPI_API_KEY, TAVILY_API_KEY, WOLFRAM_APPID, ESSENTIALS_MEMORY_PATH, ESSENTIALS_DOWNLOAD_DIRECTORY, ESSENTIALS_SETTINGS_PATH你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"essentials": {
"command": "dnx",
"args": [
"FieldCure.Mcp.Essentials",
"--yes"
],
"env": {
"ESSENTIALS_SEARCH_ENGINE": "your-value",
"ESSENTIALS_SEARCH_API_KEY": "your-value",
"SERPER_API_KEY": "your-value",
"SERPAPI_API_KEY": "your-value",
"TAVILY_API_KEY": "your-value",
"WOLFRAM_APPID": "your-value",
"ESSENTIALS_MEMORY_PATH": "your-value",
"ESSENTIALS_DOWNLOAD_DIRECTORY": "your-value",
"ESSENTIALS_SETTINGS_PATH": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add essentials --env ESSENTIALS_SEARCH_ENGINE=your-value --env ESSENTIALS_SEARCH_API_KEY=your-value --env SERPER_API_KEY=your-value --env SERPAPI_API_KEY=your-value --env TAVILY_API_KEY=your-value --env WOLFRAM_APPID=your-value --env ESSENTIALS_MEMORY_PATH=your-value --env ESSENTIALS_DOWNLOAD_DIRECTORY=your-value --env ESSENTIALS_SETTINGS_PATH=your-value -- dnx FieldCure.Mcp.Essentials --yes运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"essentials": {
"command": "dnx",
"args": [
"FieldCure.Mcp.Essentials",
"--yes"
],
"env": {
"ESSENTIALS_SEARCH_ENGINE": "your-value",
"ESSENTIALS_SEARCH_API_KEY": "your-value",
"SERPER_API_KEY": "your-value",
"SERPAPI_API_KEY": "your-value",
"TAVILY_API_KEY": "your-value",
"WOLFRAM_APPID": "your-value",
"ESSENTIALS_MEMORY_PATH": "your-value",
"ESSENTIALS_DOWNLOAD_DIRECTORY": "your-value",
"ESSENTIALS_SETTINGS_PATH": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"essentials": {
"type": "stdio",
"command": "dnx",
"args": [
"FieldCure.Mcp.Essentials",
"--yes"
],
"env": {
"ESSENTIALS_SEARCH_ENGINE": "your-value",
"ESSENTIALS_SEARCH_API_KEY": "your-value",
"SERPER_API_KEY": "your-value",
"SERPAPI_API_KEY": "your-value",
"TAVILY_API_KEY": "your-value",
"WOLFRAM_APPID": "your-value",
"ESSENTIALS_MEMORY_PATH": "your-value",
"ESSENTIALS_DOWNLOAD_DIRECTORY": "your-value",
"ESSENTIALS_SETTINGS_PATH": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
ESSENTIALS_SEARCH_ENGINE envESSENTIALS_SEARCH_API_KEY envSERPER_API_KEY envSERPAPI_API_KEY envTAVILY_API_KEY envWOLFRAM_APPID envESSENTIALS_MEMORY_PATH envESSENTIALS_DOWNLOAD_DIRECTORY envESSENTIALS_SETTINGS_PATH env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 fieldcure 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.6.1)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 .NET。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
web_fetch and read_file extract 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 use fieldcure-mcp-rag.dotnet tool install -g FieldCure.Mcp.Essentials
After installation, the fieldcure-mcp-essentials command is available globally.
git clone https://github.com/fieldcure/fieldcure-mcp-essentials.git
cd fieldcure-mcp-essentials dotnet build
| Tool | Description | Destructive |
|---|---|---|
http_request | Full HTTP client (GET/POST/PUT/DELETE/PATCH/HEAD) with custom headers and body | — |
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 | Yes |
run_command | Execute shell commands with working directory, environment variables, shell selection, and output truncation flags | Yes |
run_javascript | Sandboxed JavaScript execution (Jint) for math, data processing, JSON, regex | — |
wolfram_alpha | Wolfram|Alpha Full Results API — symbolic math, plots, unit conversions, constants; MathML passes through for native rendering | — |
get_environment | System info — local time, timezone, OS, hostname, username, .NET version | — |
read_file | Read files — text with offset/limit, documents (PDF, DOCX, HWPX, PPTX, XLSX) parsed to Markdown | — |
write_file | Write or append text to files with auto directory creation | Yes |
search_files | Search files by glob pattern and content (grep-like) | — |
remember | Store a key-value memory (persisted in SQLite) | — |
forget | Delete memories by key or keyword search | Yes |
list_memories | Search and list stored memories with FTS5 and pagination | — |
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 | — |
| Tool | Description |
|---|---|
set_search_engine | Switch the active engine (bing, duckduckgo, serper, tavily, serpapi) at runtime. Paid-engine API keys resolve lazily via env var or MCP Elicitation on the next search; the switch itself takes only the engine name. Emits notifications/tools/list_changed on success. |
get_search_engine | Return the currently active engine and its category capabilities. Read-only; use this to reflect live engine state in host UIs or to check category support before calling a category search tool. |
web_search vs web_fetch vs download_file vs http_requesthttp_request | web_search | web_fetch | download_file | |
|---|---|---|---|---|
| Purpose | API calls, raw HTTP | Web search | Read web pages | Save original files |
| Response | Raw (JSON, HTML, etc.) | {title, url, snippet}[] | Markdown (body only) | JSON metadata with saved path |
| Conversion | None | None | SmartReader HTML → Markdown | None |
| Length limit | max_response_chars (default: unlimited, up to 1MB) | max_results (max 10) | max_length (max 20000) | 100 MB |
web_fetch and read_file can parse binary documents into Markdown:
| Format | Extension | Detection |
|---|---|---|
.pdf | Content-Type / URL extension (text layer only; no 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.
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.
{
"url": "https://example.com/report.pdf" }
{
"url": "https://example.com/report.pdf", "save_path": "reports/report.pdf", "overwrite": false }
Default engine is Bing (free, no API key needed). For more reliable results, use an API-based engine:
| Engine | Free Tier | Category Search | API Key |
|---|---|---|---|
| Bing (default) | Unlimited (scraping) | — | Not needed |
| Serper | 2,500 one-time | news, images, scholar, patents | serper.dev |
| SerpApi | 100/month | news, images, scholar, patents | serpapi.com |
| Tavily | 1,000/month | news | tavily.com |
# Use Serper
fieldcure-mcp-essentials --search-engine serper --search-api-key YOUR_KEY
fieldcure-mcp-essentials --search-engine tavily --search-api-key YOUR_KEY
ESSENTIALS_SEARCH_ENGINE=serper ESSENTIALS_SEARCH_API_KEY=xxx fieldcure-mcp-essentials
When --search-engine is omitted, the server scans environment variables and automatically selects the best available engine:
| Engine | Environment Variable |
|---|---|
| Serper | SERPER_API_KEY |
| SerpApi | SERPAPI_API_KEY |
| Tavily | TAVILY_API_KEY |
Detection priority: Serper → SerpApi → Tavily → Bing/DuckDuckGo fallback.
| Engine | Auth Method | Key Exposure |
|---|---|---|
| Serper | HTTP header (X-API-KEY) | Not in URL |
| Tavily | Authorization header (Bearer token) | Not in URL |
| SerpApi | URL query parameter (api_key=xxx) | Visible in server logs |
Use the region parameter for localized results:
// Korean results
{ "query": "서울 맛집", "region": "ko-kr" }
// US English results { "query": "best restaurants NYC", "region": "en-us" }
// Global (default) { "query": "Python tutorial" }
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.
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 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.
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.
'France population', not 'how many people live in France')6*10^14, never 6e14x, y, n)'speed of light', not 299792458)RECOMMENDED / AVOID hints steer the model — simple arithmetic to run_javascript, general web queries to web_search, subjective/news questions away from Wolfram只显示了开头部分;其余内容请在仓库中阅读