MCP servers

A connector is executable access to something you own, so every record here states what it exposes as plainly as what it enables. All six are Anthropic's reference implementations, which their own README says are for demonstrating MCP rather than production deployment.

These records describe what providers officially document. benchr has not run these capabilities itself, so nothing here is a test result. Each record shows the vendor page it was read from and the date.

Ledger updated: September 3, 2026

Filesystem

Node.js

AnthropicMITDocs checked September 3, 2026

Read, write, move and search files under directories you explicitly allow.

Why this comes up: It is the difference between pasting a file into a chat and letting an agent work through a project. Everything else in an agent workflow tends to start here.

npx -y @modelcontextprotocol/server-filesystem /path/to/dir1 /path/to/dir2
docker run -i --rm --mount type=bind,src=/path/to/dir,dst=/projects/dir mcp/filesystem /projects

What it unlocks

  • An agent reads and edits real files instead of a pasted excerpt.
  • Directory trees come back as JSON, so an agent can reason about structure before touching anything.
  • Pattern-based edits through edit_file rather than rewriting whole files.

Requirements

  • Node.js, and at least one allowed directory - the server refuses to start without one.
  • Access is scoped by command-line arguments, or dynamically through the MCP Roots protocol, which the README recommends because it updates without a restart.

What it puts at risk

  • This is write access to your filesystem. Scope it to a project directory, never a home directory.
  • write_file overwrites existing files, and edit_file is documented as not idempotent - run it twice and you may not get the same result.
  • All tools set openWorldHint: false, meaning they touch the local filesystem only.
  • A reference implementation by the maintainer's own description, not a hardened production server.
Tasks
Work through an entire repository, not a pasted file · Read a 600-page PDF including its charts · Understand a codebase nobody has explained to you · Get clean data out of a stack of PDFs

Git

Python

AnthropicMITDocs checked September 3, 2026

Read, search and manipulate a Git repository: status, staging, commits, branches, diffs and logs.

Why this comes up: History is context. An agent that can read a diff and a log understands why code looks the way it does, not just what it says now.

uvx mcp-server-git --repository path/to/git/repo
pip install mcp-server-git && python -m mcp_server_git

What it unlocks

  • An agent stages and commits its own work instead of handing back a patch to apply.
  • Diffs and logs as first-class inputs, so a review can cite the commit that introduced a problem.
  • Branch handling, which is what makes unattended work reviewable rather than destructive.

Requirements

  • Python with uvx or pip, and a repository path.
  • MCP Python SDK 1.x - the README states SDK 2.0 renamed APIs and the migration is ongoing.

What it puts at risk

  • Commit and branch access to a real repository. Point it at a working copy, not a shared checkout.
  • The README describes the server as in early development, with tools subject to change.
  • A reference implementation, not a hardened production server.
Tasks
Work through an entire repository, not a pasted file · Hand off a task and walk away from the machine · Understand a codebase nobody has explained to you · Hand off work and get a result, not a chat

Fetch

Python

AnthropicMITDocs checked September 3, 2026

Retrieve a web page and convert it to markdown, with length and offset controls for paging through long documents.

Why this comes up: The cheapest way to give a model a specific page you already trust, without a browser or a search bill.

uvx mcp-server-fetch
python -m mcp_server_fetch

What it unlocks

  • A named URL becomes readable context, converted to markdown rather than raw HTML.
  • max_length and start_index let a long page be read in pieces instead of blowing the context window.
  • A raw mode when the markdown conversion loses something that matters.

Requirements

  • Python with uvx or pip.
  • Nothing else - this is the smallest useful server in the set.

What it puts at risk

  • The README states plainly that this server can access local and internal IP addresses and may represent a security risk. On a machine with internal services, that is the whole warning.
  • robots.txt is respected for model-initiated requests and ignored for user-initiated ones, and --ignore-robots-txt disables the check entirely. Know which mode you are in before pointing it at someone else's site.
  • A reference implementation, not a hardened production server.
Tasks
Answer from the live web with citations attached · Drive a real browser, not a scraper · Get current answers you can actually check · Automate something on a site that has no API

Memory (knowledge graph)

Node.js

AnthropicMITDocs checked September 3, 2026

A local knowledge graph of entities, relations and observations that survives between conversations.

Why this comes up: Every session otherwise starts from zero. This is the difference between a tool you re-explain each morning and one that already knows the project.

npx -y @modelcontextprotocol/server-memory
cmd /c npx -y @modelcontextprotocol/server-memory   (Windows)

What it unlocks

  • Facts about a person, project or system persist across sessions instead of being re-pasted.
  • Relations, not just notes - the graph can answer who owns what, and what depends on what.
  • Search and targeted reads, so recall does not mean loading everything.

Requirements

  • Node.js. Data lands in a JSONL file, memory.jsonl by default, relocatable with MEMORY_FILE_PATH.
  • Nothing hosted: the graph is a file on your machine.

What it puts at risk

  • Whatever you tell it persists in plain JSONL on disk. Treat that file the way you would treat notes about the same people.
  • Documented behaviour: duplicate relations are skipped, and operations fail if a referenced entity does not exist.
  • A reference implementation, not a hardened production server.
Tasks
Teach the model a procedure once and reuse it · Hand off a task and walk away from the machine · Make a team procedure run the same way every time · Hand off work and get a result, not a chat

Sequential Thinking

Node.js

AnthropicMITDocs checked September 3, 2026

A structured thinking tool: numbered thoughts that can be revised or branched rather than written once and defended.

Why this comes up: Long problems fail when an early wrong turn never gets revisited. This makes revision an explicit move instead of something a model has to be talked into.

npx -y @modelcontextprotocol/server-sequential-thinking

What it unlocks

  • Numbered reasoning steps with an explicit totalThoughts, so a plan has a shape before it has an answer.
  • isRevision and revisesThought let a later step correct an earlier one on the record.
  • branchFromThought and branchId allow two approaches to be carried in parallel.

Requirements

  • Node.js.
  • Nothing else - it stores no data and touches nothing outside the conversation.

What it puts at risk

  • The lowest-risk server in this set: no filesystem, no network, no persistence.
  • The README does not state when the tool is counterproductive; on simple lookups the structure is overhead rather than help, and benchr has not tested where that line sits.
  • A reference implementation, not a hardened production server.
Tasks
Work through an entire repository, not a pasted file · Fit a whole codebase in one prompt, and find its limit · Understand a codebase nobody has explained to you

Time

Python

AnthropicMITDocs checked September 3, 2026

Current time in a named IANA timezone, and conversion between two of them.

Why this comes up: Models do not know what time it is. Anything scheduled, dated or deadline-shaped needs this before it needs anything clever.

uvx mcp-server-time
uvx mcp-server-time --local-timezone Asia/Riyadh

What it unlocks

  • get_current_time in a specific timezone rather than an assumed one.
  • convert_time between two zones, which is where scheduling across regions usually breaks.
  • A correct 'today' for any agent writing dated records.

Requirements

  • Python with uvx. The system timezone is detected automatically and can be overridden with --local-timezone.
  • MCP Python SDK 1.x (mcp>=1.29.0,<2) - the README notes a 2.0 port is in progress.

What it puts at risk

  • No filesystem, no network beyond the local clock, nothing persisted.
  • The only real risk is an unnoticed wrong --local-timezone silently dating everything incorrectly.
  • A reference implementation, not a hardened production server.
Tasks
Give a model your own tools and data through MCP · Hand off a task and walk away from the machine · Let a model use your systems, not just your prompts · Hand off work and get a result, not a chat