Skip to content
anavem.com

ExplainerPublished 9 min read

Best MCP Servers for Search, Memory and Files

Compare official MCP reference servers for fetch, filesystem and memory, with permissions, limitations and a practical selection checklist.

By Emanuel DE ALMEIDA · Editor

In this article
  1. What “best” means in this guide
  2. For known web pages: Fetch
  3. Best fit
  4. Permission questions
  5. When Fetch is not enough
  6. For local files: Filesystem
  7. Best fit
  8. Design the root before the command
  9. Failure cases to test
  10. For persistent structured context: Memory
  11. Best fit
  12. Write a memory policy first
  13. When persistent memory is unnecessary
  14. What about web search?
  15. How to compare a provider-maintained server
  16. Match the server to the job
  17. Research a known documentation page
  18. Review files in one repository
  19. Preserve project facts between sessions
  20. Combine multiple capabilities
  21. Selection checklist
  22. Frequently asked questions
  23. Are the official reference servers production ready?
  24. Is Fetch a search engine?
  25. Is the Filesystem server safe if it runs locally?
  26. What should not go into persistent memory?
  27. Can I install Fetch, Filesystem and Memory together?
  28. Limits of this shortlist
Editorial evidence card for Best MCP Servers for Search, Memory and Files

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:

  1. Allowed content: name the classes of fact that may be stored.
  2. Prohibited content: exclude secrets, credentials and unnecessary personal data.
  3. Inspection: make stored entities and observations visible to the user or administrator.
  4. 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.

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

  1. Confirm the maintainer and current repository.
  2. Read the install command and every requested environment variable.
  3. List the exact files, hosts, accounts and actions the server can reach.
  4. Start read-only and with the narrowest possible scope.
  5. Test in a non-sensitive environment.
  6. Record how to disable the server and revoke credentials.
  7. Recheck releases and security notices before upgrading.

Add three operational checks:

  1. Record the reviewed version or package identifier.
  2. Test disablement and credential revocation.
  3. 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

Get new guides by email

New verified tool profiles, tested workflows and pricing changes. Sponsored items are labelled.