@modelcontextprotocol/server-everything
Version:
MCP server that exercises all the features of the MCP protocol
46 lines (29 loc) • 2.03 kB
Markdown
# Everything Server – Architecture
**Architecture
| [Project Structure](structure.md)
| [Startup Process](startup.md)
| [Server Features](features.md)
| [Extension Points](extension.md)
| [How It Works](how-it-works.md)**
This documentation summarizes the current layout and runtime architecture of the `src/everything` package.
It explains how the server starts, how transports are wired, where tools, prompts, and resources are registered, and how to extend the system.
## High‑level Overview
### Purpose
A minimal, modular MCP server showcasing core Model Context Protocol features. It exposes simple tools, prompts, and resources, and can be run over multiple transports (STDIO, Streamable HTTP, and the deprecated HTTP+SSE). It serves both protocol eras: 2026-07-28 clients (`server/discover`, per-request `_meta`, no sessions) and 2025-era clients (`initialize`), from one server factory.
### Design
A small “server factory” constructs the MCP server for a protocol era and registers features.
Transports are separate entry points that serve the factory and handle network concerns: the SDK's `serveStdio` and `createMcpHandler` entries pick each client's era.
Tools, prompts, and resources are organized in their own submodules.
### Multi‑client
The server supports multiple concurrent clients. Per-connection state (resource subscriptions,
simulated logging) lives on the server instance serving the connection, and state that must outlive
a 2026-07-28 request (tasks, minted resources) is stored under handles the server mints.
## Build and Distribution
- TypeScript sources are compiled into `dist/` via `npm run build`.
- The `build` script copies `docs/` into `dist/` so instruction files ship alongside the compiled server.
- The CLI bin is configured in `package.json` as `mcp-server-everything` → `dist/index.js`.
## [Project Structure](structure.md)
## [Startup Process](startup.md)
## [Server Features](features.md)
## [Extension Points](extension.md)
## [How It Works](how-it-works.md)