MCP Everything Server: Test MCP Features Before Connecting Work
The MCP Everything server is a reference implementation that exercises every protocol capability in one place — a useful testing ground before you build or connect a real server.
Updated 5 min read
The MCP Everything server is a reference implementation that exposes every capability the Model Context Protocol (MCP) supports in a single server: tools, resources, prompts, and logging. Its purpose is testing and exploration, not production use. It lets you confirm that your MCP client works correctly before connecting a real server to real data. Tools like fenbs give you a place to record what you learned, what decisions you made based on the tests, and what to do differently when you build the actual server.
You will typically encounter the Everything server when first setting up an AI client, evaluating a new MCP feature, or debugging a client behavior you cannot reproduce with a real server. It is available in the official MCP servers repository and is straightforward to run locally.
What the Everything server includes
The server bundles a set of demonstration tools, resources, and prompts that cover the full protocol surface. The tools include simple operations like echoing input, generating test content, and simulating delays. The resources demonstrate how content is served with different MIME types and pagination. The prompts show how a server can suggest pre-configured queries to a client. Together they let you test that your client handles each capability correctly.
- Tools: echo, list, content generation, and simulated error responses.
- Resources: text, binary, and paginated content with metadata.
- Prompts: pre-configured queries the client can offer to the user.
- Logging: server-side log messages at different levels to verify the client displays them correctly.
How to run it locally
The Everything server is part of the official MCP servers repository on GitHub. Clone the repository, navigate to the everything server directory, install dependencies with your package manager, and start it with node dist/index.js or the equivalent command in the README. It runs on stdio by default, which means you connect a client — the MCP Inspector is the easiest — and begin sending requests.
You can also run it through npx without cloning the repository. Check the package name in the repository README, as it may change between versions. The Inspector connects to it the same way as any other stdio server: pass the start command and the server appears in the tool list.
Useful tests to run against it
Use the Everything server to verify the behavior you expect from your client before relying on it with real data. A few tests are worth running once regardless of the client:
- List all tools and confirm the client displays names and descriptions without truncation.
- Call a tool that returns an error and confirm the client presents the error clearly rather than crashing.
- List resources and confirm pagination works if the client supports it.
- Call a tool that simulates a slow response and confirm the client handles a delayed answer gracefully.
- Try a prompt and confirm the client uses it as intended.
What the test results tell you about the client
The Everything server is intentionally unrealistic: its tools do not connect to real data, and its responses are predictable. That predictability is the point. When a test call to the Everything server fails or returns an unexpected shape, the issue is in the client, not in a downstream service. This makes it the right place to rule out client problems before connecting a server that calls a real database or API. A client that handles the Everything server correctly is not guaranteed to handle every real server, but one that fails on Everything will almost certainly fail on a production server.
From test findings to real server decisions
The most useful thing to take from an Everything server test session is a set of decisions for your real server. If a tool error was unclear to the client, decide how your server's errors will be formatted. If a resource type your client did not handle well is irrelevant to your use case, note that and skip it. If a client limitation affects your planned tool design, adjust the design before you write code.
fenbs keeps those test decisions as Decisions and rules alongside the project tasks. When you or a teammate comes back to build the real server, the choices from the test phase are already there. You do not have to remember them or discover them again by reading old chat logs.
How to use MCP Everything findings with fenbs
Treat the test phase as the first step of the project, not a throwaway exercise. Record what you found before you close the session.
- Create a free account and start a project for the MCP server you plan to build. Add the test findings as context notes.
- Write the first Decisions and rules based on what the tests revealed: tool error format, which protocol features you will use, which you will skip.
- Add a Lesson learned for any client behavior that surprised you. Name what happened and what it means for the real server design.
- Create tasks for each tool or resource you plan to build, informed by the test results.
- Connect your AI assistant via Integrations so it reads the test decisions before helping you build the real server.
Turn test findings into decisions the real server starts from
fenbs keeps your Everything server test findings as Lessons learned and Decisions and rules. A connected assistant reads them at the start of the build session, so it knows which protocol features to use, how errors should be formatted, and what the tests revealed about the client. Create a free account and record the first finding before you close the Inspector.
Create a free accountFree for one person · No credit card · Works with Claude, ChatGPT, Cursor and more