In this article
- What “best” means in this guide
- For known web pages: Fetch
- Best fit
- Permission questions
- When Fetch is not enough
- For local files: Filesystem
- Best fit
- Design the root before the command
- Failure cases to test
- For persistent structured context: Memory
- Best fit
- Write a memory policy first
- When persistent memory is unnecessary
- What about web search?
- How to compare a provider-maintained server
- Match the server to the job
- Research a known documentation page
- Review files in one repository
- Preserve project facts between sessions
- Combine multiple capabilities
- Selection checklist
- Frequently asked questions
- Are the official reference servers production ready?
- Is Fetch a search engine?
- Is the Filesystem server safe if it runs locally?
- What should not go into persistent memory?
- Can I install Fetch, Filesystem and Memory together?
- Limits of this shortlist

Key takeaways
Documented- Answer: Compare official MCP reference servers for fetch, filesystem and memory, with permissions, limitations and a practical selection checklist.
- Evidence: Based on 5 dated primary or official sources, most recently checked .
- Scope: This article does not claim hands-on testing. Performance or safety verdicts require a linked test record.
For search, memory and files, start with the smallest capability that completes the task. The official Model Context Protocol repository currently documents Fetch for known web pages, Filesystem for bounded file access and Memory for persistent structured context. These are reference implementations, not production endorsements.
What “best” means in this guide
This shortlist is based on documented fit, not a performance ranking. Anavem did not benchmark these servers or audit their code for production use. The official reference-server repository says its servers demonstrate MCP features and SDK usage and are intended as educational examples. It tells developers to evaluate their own security requirements and safeguards.
The correct choice therefore depends on the resource needed:
| Need | Reference server | Important boundary |
|---|---|---|
| Retrieve a known web page | Fetch | Limit reachable hosts and treat page content as untrusted |
| Read or manage files in approved folders | Filesystem | Configure narrow allowed directories and avoid unnecessary write access |
| Keep structured facts across sessions | Memory | Define what may be stored, inspected and deleted |
| Discover pages through web search | None of these | Use a current provider-maintained search server and review its API terms |
Before installing anything, read what an MCP server is and are MCP servers safe?.
For known web pages: Fetch
The Fetch reference server retrieves web content and converts it into a form suitable for language-model use. It is useful when the workflow already has a URL. It is not a general search engine, so it does not solve discovery by itself.
Before use, decide which URLs and networks it may reach, how redirects are handled and whether untrusted page content can influence later tool calls. Content retrieved from the web can carry prompt-injection instructions.
Best fit
Use Fetch for a bounded research step such as reading a public documentation page named by the user, retrieving a changelog URL or converting a known article to readable text. It is a poor fit when the task requires search-result ranking, authenticated browsing or arbitrary access to internal networks.
Permission questions
- Can it reach only public internet hosts, or also local and private addresses?
- Are redirects revalidated before a second request?
- Is response size limited?
- Can retrieved content trigger another tool call without approval?
- Does the workflow need only read access?
The Claude Code MCP guide warns that servers fetching external content can expose a client to prompt injection. Treat retrieved instructions as page content, not as authority to change files, reveal secrets or call another service.
When Fetch is not enough
Fetch begins with a URL. If the user asks “find recent sources about this topic,” a search provider is needed first. If the page requires a browser session or complex interaction, a dedicated browser tool may be more appropriate. Do not widen a simple fetch server until it becomes a general browser by accident.
See the Fetch MCP server profile.
For local files: Filesystem
The Filesystem reference server provides file operations within configured directories. The official repository's example passes allowed paths as launch arguments. That boundary should be deliberately narrow: a project folder is safer than an entire home directory or disk.
Use read-only access when writing is unnecessary. Keep credentials, SSH keys and environment files outside the allowed roots. Review every client approval prompt before widening the scope.
Best fit
Use Filesystem when an assistant must inspect or organise files inside a named project, content folder or temporary working directory. It can support tasks such as reading documentation, locating references or preparing edits for review.
It is a poor fit when the only required file is already attached to the conversation. It is also the wrong default for secrets, personal archives or a broad user profile directory.
Design the root before the command
Start with a dedicated folder created for the task. Include only the files the workflow needs. A useful boundary has a clear name, a known owner and a removal plan. Avoid broad roots such as a home directory, system root or entire drive.
If the host or server supports both read and write operations, decide whether writes are necessary. A research or review task normally does not need write access. A content-editing task may need writes, but destructive operations should still require explicit confirmation and exact target resolution.
Failure cases to test
- a path that tries to escape the allowed root;
- a symbolic link that points outside the intended folder;
- an attempt to read an environment or credential file;
- a bulk edit that matches more files than expected;
- a delete or move request with an ambiguous target.
A successful installation does not prove these boundaries work. Test them with non-sensitive files before relying on the server.
See the Filesystem MCP server profile.
For persistent structured context: Memory
The Memory reference server implements a knowledge-graph style persistent memory. The official repository describes it as a persistent memory system built around entities, relations and observations. Persistent context can help with stable project facts, but it also creates a retention responsibility.
Decide what may be stored, who can inspect or delete it and whether personal or confidential data is prohibited. Do not assume that a local process is automatically harmless: the client can still pass stored information into model context.
Best fit
Use Memory for durable facts that are useful across sessions, such as an approved project vocabulary, stable user preferences or relationships between non-sensitive entities. Do not use it as a dumping ground for entire conversations or raw customer records.
Write a memory policy first
Define four rules before enabling persistent memory:
- Allowed content: name the classes of fact that may be stored.
- Prohibited content: exclude secrets, credentials and unnecessary personal data.
- Inspection: make stored entities and observations visible to the user or administrator.
- Deletion: document how one item and the complete store can be removed.
Memory quality also matters. Old or incorrect observations can influence later answers. Store provenance and dates where the implementation permits it, and prefer explicit correction over adding a second contradictory fact.
When persistent memory is unnecessary
A project file, versioned configuration or task-specific note may be easier to inspect and govern. Use Memory only when the workflow truly needs cross-session retrieval and when the stored structure is more useful than a normal document.
See the Memory MCP server profile.
What about web search?
The original Brave Search reference server is listed as archived in the official repository, which points readers to a provider-maintained replacement. For genuine web discovery, prefer a current provider-maintained server and verify its API scopes, billing, retention and maintainer identity. Anavem has not added a current search-server profile to this shortlist because this article covers only the reference servers it verified.
Search and Fetch solve different steps. Search discovers candidate URLs; Fetch retrieves a known URL. A workflow may use both, but each connection should have a clear purpose and permission boundary.
How to compare a provider-maintained server
For a server outside the reference repository, check:
- whether the vendor or project actually controls the repository and package;
- the most recent release and security reporting route;
- every environment variable and credential requested;
- the list of exposed tools and whether writes are possible;
- network destinations and redirect behaviour;
- data retention, logging and billing described by the provider;
- how to revoke credentials and remove the connection.
Popularity is not a substitute for this review. A star count or marketplace position does not describe the server's effective permissions.
Match the server to the job
Research a known documentation page
Choose Fetch with a restricted network policy. Keep the next action read-only until the retrieved page has been assessed as data. If the workflow needs discovery first, add a separate search provider rather than pretending Fetch is search.
Review files in one repository
Choose Filesystem with the repository or a smaller subfolder as the only allowed root. Start read-only. Add write access only when the task explicitly includes edits and the client shows the proposed target.
Preserve project facts between sessions
Choose Memory only after defining allowed facts, inspection and deletion. Keep volatile status in the project system of record rather than copying it into long-term memory.
Combine multiple capabilities
Do not install three servers merely because the workflow might use them. Begin with one narrow capability, validate the outcome and add another only when a concrete step requires it. Fewer connections make approvals, logs and incident response easier to understand.
Selection checklist
- Confirm the maintainer and current repository.
- Read the install command and every requested environment variable.
- List the exact files, hosts, accounts and actions the server can reach.
- Start read-only and with the narrowest possible scope.
- Test in a non-sensitive environment.
- Record how to disable the server and revoke credentials.
- Recheck releases and security notices before upgrading.
Add three operational checks:
- Record the reviewed version or package identifier.
- Test disablement and credential revocation.
- Document which actions still require human approval.
For a more detailed review, use are MCP servers safe?, then browse the verified MCP profiles.
Frequently asked questions
Are the official reference servers production ready?
The repository explicitly says they are educational reference implementations rather than production-ready solutions. They can be useful for learning and controlled experiments. Production use requires a separate threat model, safeguards, maintenance plan and testing record.
Is Fetch a search engine?
No. Fetch retrieves content from a URL supplied to it. Search discovers URLs that may answer a query. Use a current provider-maintained search integration when discovery is required, then keep retrieval and follow-on actions bounded.
Is the Filesystem server safe if it runs locally?
Local execution does not make broad file access safe. The important controls are the allowed roots, available operations, client approvals and protection against path escape. Configure a narrow task folder and test the boundary.
What should not go into persistent memory?
Do not store credentials, secret keys or personal data that the workflow does not need. Avoid raw conversation dumps and volatile status that belongs in a system of record. Keep the store inspectable and deletable.
Can I install Fetch, Filesystem and Memory together?
Yes, but capability should follow need. Each server adds configuration, review and possible attack surface. Install one at a time, verify its tools and permissions, and keep consequential follow-on actions behind explicit approval.
Limits of this shortlist
This guide covers three reference implementations documented in the official repository. It does not audit their source code, compare runtime performance or endorse them for production. The repository and package details can change, so re-read the current documentation before installation.
There is no universal “best” server independent of permissions and use case. The most defensible choice is the smallest capability that completes the task with an auditable boundary.
Sources
- Official MCP reference servers repositoryaccessed
- Filesystem reference serveraccessed
- Fetch reference serveraccessed
- Memory reference serveraccessed
- Claude Code MCP security guidanceaccessed
Related guides and updates
- ExplainerClaude Skills vs MCP: Instructions or External Tools?Oct 4, 2026 · 9 min read
- ExplainerAre Claude Skills Safe? What a Skill Can Contain and RunOct 3, 2026 · 8 min read
- ExplainerAre MCP Servers Safe? Documented Risks and a ChecklistOct 3, 2026 · 8 min read
- ExplainerClaude Skills Explained: What They Are and Where They RunOct 3, 2026 · 7 min read
- ExplainerMCP, Skills, Apps and Plugins: A Terminology MapOct 3, 2026 · 7 min read