← All reportsPublic report

modelcontextprotocol/servers

Model Context Protocol Servers

90k stars TypeScript View on GitHubprofiled 11d ago
Try GitZoid
21PRs this week
3Contributors
288Deps scanned
4Issues found
01 · Repo overview

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

TypeScriptPythonJavaScript

Frameworks

Model Context Protocol SDK (@modelcontextprotocol/sdk)Python MCP SDK (mcp)ExpressHonoZodPydanticVitest

Datastores

JSONL file (memory knowledge graph)Local filesystem

Infrastructure

DockerGitHub Actions CI (OIDC trusted publishing)Node.js >=18/20Python >=3.10

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.

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.

03 · Security check

Dependencies and code review

288 dependencies scanned

Dependency advisories

Security Watch

4 vulnerable packages (4 advisories) across 288 scanned dependencies.

warninghigh · npmfixed in 1.1.18

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
warninghigh · npmfixed in 2.4.4

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
warninghigh · npmfixed in 10.3.1

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
warninghigh · npmfixed in 3.3.18

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.

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