# io.github.fieldcure/essentials (nuget · FieldCure.Mcp.Essentials)

Essential MCP server: HTTP, web search, downloads, Wolfram|Alpha, shell, JS, file I/O, memory.

- Trust score: 39/100 (low)
- Change this week: −8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- nuget · `FieldCure.Mcp.Essentials`: 39/100 (this document), [markdown](https://verifymcp.io/servers/fieldcure-essentials/fieldcure-mcp-essentials.md), [page](https://verifymcp.io/servers/fieldcure-essentials/fieldcure-mcp-essentials)

## Channel facts

- Registry: `nuget`
- Package: `FieldCure.Mcp.Essentials`
- Version: `2.6.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 69 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- **Capabilities**: 0/100
  - Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake.

**Unverified: 4 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### Claude

```bash
claude mcp add fieldcure-essentials -- dnx FieldCure.Mcp.Essentials@2.6.1 --yes
```

### Codex

```bash
codex mcp add fieldcure-essentials -- dnx FieldCure.Mcp.Essentials@2.6.1 --yes
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fieldcure-essentials": {
      "type": "local",
      "command": [
        "dnx",
        "FieldCure.Mcp.Essentials@2.6.1",
        "--yes"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  fieldcure-essentials:
    command: "dnx"
    args: ["FieldCure.Mcp.Essentials@2.6.1", "--yes"]
```

### Other

```json
{
  "mcpServers": {
    "fieldcure-essentials": {
      "command": "dnx",
      "args": [
        "FieldCure.Mcp.Essentials@2.6.1",
        "--yes"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 39, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-08-01 (score 24, −5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 29, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 47, 0)

- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.

### 2026-07-26 (score 47)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (20)

### `http_request` (~199 tokens)

Make HTTP requests (GET, POST, PUT, DELETE, PATCH, HEAD). Supports custom headers and request body. Returns status code, headers, and response body.

Input parameters:

- `body` (string|null): Request body text
- `headers` (string|null): Request headers as JSON object, e.g. {"Authorization": "Bearer ..."}
- `max_response_chars` (integer|null): Maximum characters of response body to return. RECOMMENDED for HTML/text responses when you only need a portion (e.g., 3000-5000). AVOID for JSON API responses — truncated JSON cannot be parsed. Defa…
- `method` (string|null): HTTP method: GET, POST, PUT, DELETE, PATCH, HEAD (default: GET)
- `timeout_seconds` (integer): Timeout in seconds (default: 30, max: 120)
- `url` (string, required): Request URL (http or https)

### `search_files` (~125 tokens)

Search for files by name pattern (glob) and optionally by content. Returns file paths, sizes, and modification dates. Content matches include a preview line.

Input parameters:

- `content_pattern` (string|null): Search file content (case-insensitive grep). Only text files are searched.
- `directory` (string, required): Directory to search in
- `max_results` (integer): Maximum results (default: 100)
- `pattern` (string|null): Glob pattern, e.g. "*.json", "*.cs" (default: *)
- `recursive` (boolean): Search subdirectories (default: true)

### `download_file` (~222 tokens)

Download file

Downloads a file from a URL and saves it to a local path.

RECOMMENDED for:
\- Saving PDFs, images, datasets, archives, or any binary file from the web
\- Keeping the original file bytes for later use

AVOID for:
\- Reading web page content or extracting text -- use web_fetch instead
\- Making API calls or sending POST requests -- use http_request instead
\- Fetching HTML to convert to markdown -- use web_fetch instead

Parameters:
\- url (required): The URL to download from
\- save_path (optional): File path to save to. Relative paths resolve under the configured download_directory.
\- overwrite (optional, default false): Whether to overwrite if file already exists

Input parameters:

- `overwrite` (boolean): Whether to overwrite if the destination file already exists (default: false)
- `save_path` (string|null): File path to save to. Relative paths resolve under the configured download_directory. If omitted, a filename is inferred from the response or URL.
- `url` (string, required): URL to download from (http or https)

### `web_search` (~111 tokens)

Search the web and return a list of results with title, URL, and snippet. Use region for localized results (e.g. 'ko-kr' for Korean).

Input parameters:

- `max_results` (integer): Maximum number of results to return (default: 5, max: 10)
- `query` (string, required): Search query
- `region` (string|null): Region code for localized results (e.g. 'ko-kr', 'en-us', 'ja-jp'). Omit for global results.

### `get_search_engine` (~56 tokens)

Return the currently active search engine and its category capabilities. Read-only, no side effects. Use this before calling a category search tool to confirm the active engine supports the category, or to reflect the live engine state in a host UI.

### `forget` (~48 tokens)

Delete a memory by key, or by query to forget multiple matches.

Input parameters:

- `key` (string|null): Exact key to delete
- `query` (string|null): Keyword query — deletes all matching memories

### `search_news` (~153 tokens)

Search recent news articles with title, URL, snippet, source, and publication date. Requires a category-capable engine (SerpApi, Serper, or Tavily). Returns an error if the active engine does not support news search — use set_search_engine to switch.

Input parameters:

- `max_results` (integer): Maximum number of results to return (default: 10)
- `query` (string, required): News search query
- `region` (string|null): Region code for localized results (e.g. 'ko-kr', 'en-us')
- `time_range` (string|null): Time range filter: '1d' (past day), '1w' (past week), '1m' (past month)

### `wolfram_alpha` (~452 tokens)

Query Wolfram|Alpha computational knowledge engine. Returns structured results with MathML formulas (rendered directly in chat) and chart/plot images.

RECOMMENDED for: symbolic math, integrals, differential equations, equation solving, matrix operations, eigenvalues, Nyquist/Bode plots, impedance calculations, scientific constants, unit conversions, plotting, nutrition data, financial data, statistics, date/time calculations.
AVOID for: simple arithmetic (use run_javascript), general web search (use web_search), subjective questions, current news.

Query guidelines:
\- Queries MUST be in English. Translate before sending, respond in user's language.
\- Use simplified keyword form: 'France population' not 'how many people live in France'.
\- Exponent notation: 6*10^14, NEVER 6e14.
\- Single-letter variable names: x, y, n (not 'variable1').
\- Named physical constants: 'speed of light', not 299792458.
\- Space between compound units: 'Ω m' not 'Ωm'.
\- For equations with units, solve without units first.
\- If response contains assumptions, re-query with the relevant assumption value.
\- The API auto-reinterprets failed queries. If reinterpretation still fails, try rephrasing.
\- Include MathML from results directly in your response — it renders natively in chat.

Input parameters:

- `assumption` (string|null): Disambiguation assumption from a previous result. Pass the 'input' value as-is (e.g., '*C.pi-_*MathematicalConstant-').
- `countrycode` (string|null): ISO country code (e.g., 'KR', 'US').
- `currency` (string|null): ISO currency code (e.g., 'KRW', 'USD').
- `includepodid` (string|null): Comma-separated pod IDs to include (e.g., 'Result,Plot'). Omit for all pods.
- `input` (string, required): Query in English. Use simplified keyword form.
- `location` (string|null): Location context (e.g., 'Seoul, Korea').
- `units` (string|null): Unit system: 'metric' (default) or 'nonmetric'.

### `set_search_engine` (~117 tokens)

Switch the active search engine for web_search and category search tools. Available engines: bing, duckduckgo, serper, tavily, serpapi. Paid engines (serper, tavily, serpapi) resolve their API key lazily from environment variables or via MCP Elicitation on the next search invocation — set_search_engine itself does not require a key.

Input parameters:

- `engine` (string, required): Engine name to activate: 'bing', 'duckduckgo', 'serper', 'tavily', or 'serpapi'.

### `search_images` (~156 tokens)

Search images and return URLs, thumbnails, dimensions, and source info. Requires a category-capable engine (SerpApi or Serper). Returns an error if the active engine does not support image search — use set_search_engine to switch.

Input parameters:

- `image_size` (string|null): Filter by image size: 'large', 'medium', 'icon'
- `image_type` (string|null): Filter by image type: 'photo', 'clipart', 'lineart'
- `max_results` (integer): Maximum number of results to return (default: 10)
- `query` (string, required): Image search query
- `region` (string|null): Region code for localized results (e.g. 'ko-kr', 'en-us')

### `write_file` (~109 tokens)

Write or append text to a file. Auto-creates parent directories. Returns absolute path and byte count.

Input parameters:

- `content` (string, required): Content to write
- `create_directory` (boolean): Auto-create parent directories (default: true)
- `encoding` (string|null): File encoding (default: utf-8)
- `mode` (string|null): Write mode: "overwrite" or "append" (default: overwrite)
- `path` (string, required): File path (absolute or relative to working directory)

### `run_javascript` (~129 tokens)

Execute JavaScript in a sandboxed engine (no file/network access). Use for math calculations, data transformation, JSON processing, regex, encoding/decoding, and date calculations. Variables can be injected into the script scope.

Input parameters:

- `code` (string|null): JavaScript code (expression or script). The last expression's value is returned.
- `timeout_seconds` (integer): Timeout in seconds (default: 5, max: 30)
- `variables` (string|null): Variables to inject into JS scope as JSON object, e.g. {"data": [...], "x": 42}

### `search_patents` (~167 tokens)

Search patent documents for prior art, filings, and IP information. Requires a category-capable engine (SerpApi or Serper). Returns an error if the active engine does not support patent search — use set_search_engine to switch.

Input parameters:

- `assignee` (string|null): Filter by assignee/company name
- `date_range` (string|null): Priority date range (e.g., '2020-01-01:2024-12-31')
- `inventor` (string|null): Filter by inventor name
- `max_results` (integer): Maximum number of results to return (default: 10)
- `query` (string, required): Patent search query
- `region` (string|null): Region code for localized results (e.g. 'ko-kr', 'en-us')

### `read_file` (~146 tokens)

Read a file. Text files support offset/max_lines pagination. Documents (PDF, DOCX, HWPX, PPTX, XLSX) are parsed into Markdown.

Input parameters:

- `encoding` (string|null): File encoding for text files (default: utf-8)
- `max_length` (integer): Maximum character length for document output (default: 5000, max: 20000)
- `max_lines` (integer): Maximum lines to read for text files (default: 1000)
- `offset` (integer): Start line number for text files, 0-based (default: 0)
- `path` (string, required): File path (absolute or relative to working directory)

### `web_fetch` (~82 tokens)

Fetch a URL and extract content as Markdown. Supports web pages (HTML) and documents (PDF, DOCX, HWPX, PPTX, XLSX).

Input parameters:

- `max_length` (integer): Maximum length of returned text in characters (default: 5000, max: 20000)
- `url` (string, required): URL to fetch (http or https)

### `run_command` (~281 tokens)

Execute shell commands. Returns stdout, stderr, exit code, shell_used, and truncation flags. Use shell='pwsh' for PowerShell Core commands, shell='powershell' on Windows when pwsh is unavailable, or shell='cmd'/'bash'/'sh' when that syntax is required. For verbose commands, redirect to a file and read selectively, or pass max_output_chars to cap the response. Output is truncated by default; stdout_truncated and stderr_truncated report incomplete streams.

Input parameters:

- `command` (string, required): Shell command to execute
- `environment` (string|null): Additional environment variables as JSON object, e.g. {"KEY": "value"}
- `max_output_chars` (integer|null): Maximum characters to return per output stream (stdout and stderr independently). Default: 100000. Truncated streams include a marker and set stdout_truncated/stderr_truncated.
- `shell` (string|null): Shell to execute the command in. Options: auto (default: cmd.exe on Windows, /bin/sh on Unix), pwsh (PowerShell Core), powershell (Windows PowerShell), cmd, bash, sh. Explicit shells fail if unavaila…
- `timeout_seconds` (integer): Timeout in seconds (default: 30, max: 300)
- `working_directory` (string|null): Working directory (default: user home)

### `remember` (~54 tokens)

Store a memory. If the key already exists, the value is updated.

Input parameters:

- `key` (string|null): Short identifier for this memory (e.g., 'preferred_language')
- `value` (string|null): The content to remember

### `search_scholar` (~141 tokens)

Search academic papers and return titles, authors, citation counts, and publication details. Requires a category-capable engine (SerpApi or Serper). Returns an error if the active engine does not support scholar search — use set_search_engine to switch.

Input parameters:

- `author` (string|null): Filter by author name
- `cited_by` (string|null): Find papers citing this paper ID
- `max_results` (integer): Maximum number of results to return (default: 10)
- `query` (string, required): Academic search query
- `region` (string|null): Region code for localized results (e.g. 'ko-kr', 'en-us')

### `list_memories` (~91 tokens)

Search and list stored memories. Without a query, returns recent memories. With a query, performs keyword search across all memories.

Input parameters:

- `limit` (integer|null): Max results to return (default: 20, max: 100)
- `offset` (integer|null): Offset for pagination (default: 0)
- `query` (string|null): Keyword search (FTS5). Null returns recent memories.

### `get_environment` (~36 tokens)

Get current system environment info — local time, timezone, OS, hostname, username, working directory, .NET version. No parameters needed.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/fieldcure-essentials/fieldcure-mcp-essentials#diagnostics

## Score history

- 2026-08-03: 39
- 2026-08-02: 39
- 2026-08-01: 24
- 2026-07-31: 29
- 2026-07-29: 47
- 2026-07-28: 47
- 2026-07-27: 47
- 2026-07-26: 47

## Links

- NuGet package: https://www.nuget.org/packages/FieldCure.Mcp.Essentials
- Socket report: https://socket.dev/nuget/package/FieldCure.Mcp.Essentials
- Repository: https://github.com/fieldcure/fieldcure-mcp-essentials
- Changelog RSS feed: https://verifymcp.io/servers/fieldcure-essentials/fieldcure-mcp-essentials/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/fieldcure-essentials/fieldcure-mcp-essentials/changelog.json
- HTML version of this page: https://verifymcp.io/servers/fieldcure-essentials/fieldcure-mcp-essentials
