modelcontextprotocol/servers
Model Context Protocol Servers
How servers is put together
This is the Model Context Protocol (MCP) reference servers monorepo, a collection of educational reference implementations demonstrating MCP features and official SDK usage. It is a polyglot workspace mixing TypeScript servers (everything, filesystem, memory, sequentialthinking) managed via npm workspaces and Python servers (fetch, git, time) managed via uv/hatchling. Each server implements MCP tools/resources/prompts atop the @modelcontextprotocol/sdk (TS) or mcp (Python) and communicates over transports like stdio, SSE, and streamable HTTP. Data flows from an LLM/MCP client through a transport into per-server tool handlers that access local resources such as the filesystem, git repos, web content, or a JSONL-backed knowledge graph.
Languages
Frameworks
Datastores
Infrastructure
Major components
everything server
Reference/test MCP server exercising all protocol features (prompts, resources, tools) across stdio/SSE/streamable HTTP transports.
filesystem server
Secure file operations (read/write/edit/search/move) constrained to configurable allowed directories with symlink-aware path validation.
memory server
Knowledge-graph persistent memory storing entities, relations, and observations in a JSONL file with search and subscription support.
fetch server
Python MCP server that fetches and converts web content to markdown for LLM consumption, respecting robots.txt via protego.
git server
Python MCP server providing tools to read, search, and manipulate Git repositories.
time server
Python MCP server offering time and timezone conversion capabilities.
sequentialthinking server
TypeScript MCP server enabling dynamic, reflective problem-solving through structured thought sequences.
workspace root / build tooling
npm workspace configuration, shared tsconfig, and release/publishing orchestration across all server packages.
Pinned the fetch, git, and time servers to the 1.x MCP library to prevent breakage from a newer, incompatible release.
The project's recent activity has been mostly maintenance and housekeeping rather than new user-facing features. Late July saw a large batch of routine dependency and build-tool updates across the codebase, followed in mid-August by a targeted fix pinning three Python-based servers to an older version of a core library to keep them working while a larger upgrade is prepared.
Week by week
2026-08-17Pinned the fetch, git, and time servers to the 1.x MCP library to prevent breakage from a newer, incompatible release.latest2 changes
Fix
Locked three servers to the older MCP library version
The fetch, git, and time servers now require the 1.x version of the MCP Python SDK because the newer 2.0 release renamed features these servers rely on.
Docs
Documented the version requirement for users
Each of the three servers' help pages now notes that the 1.x library is required and that an upgrade to the newer version is still in progress.
2026-07-27A large round of routine dependency and build-tool updates plus small documentation cleanups.5 changes
Chore
Updated automated build and testing tools
Several GitHub Actions used for building and testing were bumped to newer versions, including the Node, Python, and file upload/download helpers.
Chore
Refreshed software dependencies across the project
Batches of JavaScript and Python package updates were merged in to keep libraries current and secure.
Chore
Updated the web server component
The Hono Node server package was bumped to a newer version.
Docs
Fixed formatting in the 'everything' server docs
Corrected a stray character in a code snippet and tidied up reference formatting in the documentation.
Chore
Enabled automated dependency updates
Turned on Dependabot so future library updates are proposed automatically.
Dependencies and code review
Dependency advisories
Security Watch
4 vulnerable packages (4 advisories) across 288 scanned dependencies.
brace-expansion 5.0.8
1 advisory. Fixed in 1.1.18.
How it can be abusedThe brace-expansion package is used indirectly when servers like the filesystem reference expand file matching patterns. A malicious or misbehaving MCP client could send a crafted pattern that makes expansion allocate huge amounts of memory, crashing or freezing the server process for anyone running it.
- highGHSA-rgw5-rvv9-x895brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
fast-uri 3.1.4
1 advisory. Fixed in 2.4.4.
How it can be abusedAn attacker who can get one of these MCP servers to parse a crafted web address could trick it into thinking a malicious server is actually a trusted one, since backslashes can slip past the address parsing. Anyone running these reference servers and feeding them untrusted URLs would be exposed.
- highGHSA-7p8r-x3mc-p8w7fast-uri vulnerable to host confusion via backslash authority introducer
ip-address 10.2.0
1 advisory. Fixed in 10.3.1.
How it can be abusedAn attacker could trick a server into treating a blocked or internal IP address as a harmless public one, because leading zeros are read differently than real resolvers read them, letting requests reach internal systems that were supposed to be off limits. Only users of TypeScript servers here would matter, and these reference servers do not actually use this library to validate or filter addresses before making network calls.
- highGHSA-mwp4-54f8-5fhrip-address: Address4 decodes leading-zero octets as decimal while resolvers decode them as octal, allowing SSRF and trust-boundary bypass
nanoid 3.3.16
1 advisory. Fixed in 3.3.18.
How it can be abusedIf any server code called nanoid with a custom random generator and asked it to produce an empty string ID, that call would never finish and the server would hang forever, freezing the tools it exposes. In this repo nanoid is only used indirectly by the SDK to make standard fixed-length IDs, so no attacker can realistically trigger it.
- highGHSA-2v37-7h3g-55p8nanoid: custom generators can loop indefinitely when size is zero
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required