Tested with: Debian 13 (trixie), Node.js 22.22.2, uv/uvx, all servers probed 2026-06-02 by running each one and listing its tools over JSON-RPC.
There are hundreds of MCP servers now, and most "best MCP servers" lists are feature-soup roundups written without running anything. So I did the boring version: installed the official reference servers on a clean box, started each one, and asked it what tools it actually exposes. Here is the honest read on which ones earn a slot in a real setup, which are situational, and which exist only for testing.
If you have not run a server before, the filesystem walkthrough shows the mechanics; everything below was tested the same way.
How I tested
For each server I sent the standard initialize handshake followed by tools/list, exactly what a real client does on startup, and recorded what came back. The Node servers run with npx -y <package>; the Python ones with uvx <package>. No mocking, no docs-copying. The tool names below are what each server reported on 2026-06-02.
The ones that earn a slot
Filesystem - the one everyone starts with
The server-filesystem package (it identifies itself as secure-filesystem-server) exposes 14 tools: read_text_file, write_file, edit_file, list_directory, directory_tree, search_files, move_file, and friends. The "secure" is earned: it refuses to touch anything outside the directory you pass it on launch. This is the default first server for a reason. Giving an agent scoped read and write to one project folder is immediately useful and the scoping keeps it sane.
Git - more capable than I expected
The Python mcp-server-git reported 12 tools, a near-complete git surface: git_status, git_diff_unstaged, git_diff_staged, git_diff, git_add, git_commit, git_log, git_show, git_branch, git_checkout, git_create_branch, git_reset. That is enough for an agent to inspect a repo, stage changes, and commit them with a message it wrote. If you already let an agent work in your repos, this is a cleaner interface than having it shell out to git and parse text. Earns a slot for any code work.
Fetch - small and genuinely handy
mcp-server-fetch exposes exactly one tool, fetch: give it a URL and it returns the page converted to markdown. That is the entire server, and that is the appeal. It is the right amount of capability for "go read this page and use it," without handing the agent a full browser. One of the few single-tool servers I would actually keep.
Memory - persistence as a knowledge graph
server-memory (memory-server 0.6.3) gives the agent a persistent knowledge graph across 9 tools: create_entities, create_relations, add_observations, read_graph, search_nodes, open_nodes, and the matching delete operations. It is more opinionated than a flat scratchpad: you store entities and the relationships between them, and the agent reads them back in later sessions. Worth running if you want an assistant that remembers facts about your projects between chats. Skip it if you just want a notepad, where it is overkill.
Time - boring, correct, occasionally essential
mcp-server-time has two tools, get_current_time and convert_time. Unglamorous, but models are famously bad at knowing the current time and at timezone math, and this fixes both deterministically. It costs nothing to run and removes a whole class of confidently-wrong answers. Keep it.
The situational one
Sequential Thinking - a reasoning scratchpad
server-sequential-thinking exposes a single tool, sequentialthinking, that gives the model a structured place to lay out a problem in steps and revise them. Whether it helps is genuinely model- and task-dependent: capable models often reason fine without it, and on simple tasks it adds ceremony. I would not install it by default, but for long, multi-step problems where you want the chain of reasoning made explicit, it is worth a try. Situational, not staple.
The one that is not for daily use
Everything - a test server, and that is the point
The server-everything package (it announces itself as the "Everything Reference Server", version 2.0.0) is not meant for your real setup. It is the reference server that exercises the protocol: an echo tool and a grab-bag of features that exist so client developers and the curious can see every MCP capability in one place. Run it when you are learning the protocol or testing a client. Do not wire it into a working agent expecting it to do something useful; that is not its job.
How to decide whether to install a new server
After running these, the filter I would apply to any new MCP server is three questions. Does it do one thing I actually need? Single-purpose servers like fetch and time age well; kitchen-sink servers tend to overlap with things you already have. Is its access appropriately scoped? The filesystem server constraining itself to one directory is the model to want; a server that quietly takes broad access is a liability, which is the whole reason the packaging choice matters. Can you read its source? An MCP server runs on your machine in your agent's auto-install path, so "I skimmed the code" should be a precondition, not an afterthought.
If a server fails any of the three, it does not go in. That filter alone removes most of the "best MCP servers" listicle entries.
Takeaways
- The official reference servers are the right place to start, and most of the value is in a handful of them.
- Staples worth running: filesystem (scoped file access, 14 tools), git (12 tools, real repo control), fetch (URL to markdown), memory (persistent knowledge graph), and time (deterministic clock and timezone math).
- Sequential-thinking is situational; helpful on long multi-step problems, ceremony on simple ones.
- Everything is a test server for learning the protocol, not a daily driver.
- Filter new servers on three questions: does it do one needed thing, is its access scoped, and can you read its source. If not, skip it.
- When none of the existing servers fit, the gap is a one-file server of your own.