Recommended Free Tools
For a local MCP server, use stdio: the MCP client starts the server process and exchanges JSON-RPC messages through its standard input and output. A simple example is npx -y @modelcontextprotocol/server-everything. For a server that clients must reach over a network, use Streamable HTTP instead. The right command depends on which transport the server and client support.
Choose the transport before choosing the command
MCP servers do not all start or communicate in the same way. For a local integration, a client typically spawns the server as a child process and speaks MCP over stdin and stdout. For remote access, the server listens over HTTP and a client connects to it. These are different operating arrangements, not interchangeable command-line flags.
| Transport | Who starts the server? | How the client connects | When to use it |
|---|---|---|---|
| stdio | The MCP client starts the process. | Newline-delimited JSON-RPC through stdin/stdout. | A local client and server on the same machine, with the client configured to launch the server. |
| Streamable HTTP | You or a service operator starts the server. | Over HTTP; optional server-to-client notifications can use SSE. | Clients need to connect to a server over a network. |
| HTTP+SSE | You or a service operator starts the server. | Using the older HTTP and SSE arrangement. | Compatibility with a client or server that requires the legacy transport. |
The MCP TypeScript SDK describes stdio as the choice for local integrations where the client spawns the server, and Streamable HTTP as the choice for remote servers. Its guide labels HTTP+SSE deprecated for new implementations. Confirm the transport supported by your particular client and server before exposing a service.
Run a local stdio server with npx
With Node.js and npm’s npx available, this command starts the example server in its default stdio mode:
#1 Best Overall
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
npx -y @modelcontextprotocol/server-everything
The repository also documents selecting stdio explicitly:
npx @modelcontextprotocol/server-everything stdio
The -y option in the first command tells npx to proceed without an interactive package-install confirmation. On first use, npx may need to download the package, so network access and permission to fetch npm packages are needed. The command starts a server process; it does not provide a general-purpose interactive shell for invoking MCP tools. The MCP client is responsible for launching it and exchanging protocol messages.
Configure the client to spawn the process
Use the client’s server configuration mechanism to provide the executable and arguments from the command above. The exact configuration file, field names, and restart procedure vary by client, so use that client’s documentation rather than copying a configuration format from another application. If the client supports environment variables or a working directory for the server, set only the values the server actually needs.
When launched correctly, the client should complete the MCP initialization exchange and make the server’s advertised capabilities available. A terminal that remains occupied while the server is running is normal: the client owns the child process for the duration of the connection. Do not type arbitrary text into its terminal streams; those streams carry protocol data.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
- Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
- Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
- CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
- CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
- CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)
Run the example server over Streamable HTTP
To start the example server in Streamable HTTP mode, run:
npx -y @modelcontextprotocol/server-everything streamableHttp
This is the option to consider when a client must connect over HTTP rather than spawn a local process. The server must be reachable at the address and port it binds to, and the client must be configured for the endpoint that the server exposes. Check the server’s own output and documentation for its actual bind address and endpoint; do not assume every MCP server uses the same port or path.
For deployments reachable beyond the same machine, also check the server’s authentication and TLS requirements, network access controls, and whether it is safe to expose its tools to those clients. These details depend on the selected server and deployment; the transport choice alone does not secure a service.
Run from a source checkout
If you have checked out the example repository and want to run its Streamable HTTP entry point from source, the documented commands are:
Rank #3
- Not including the Raspberry Pi 5 (8GB), the Crowpi advanced version comes with the Raspberry Pi 5
- ELECROW Black Case for the Raspberry Pi 5, CrowPi is equipped with a 9-inch HD touchscreen along with a camera; All the regular components used in DIY electronics are packed into the CrowPi development board, such as LCD, LED matrix, buzzer, light sensor, PIR sensor, ultrasonic sensor, IR sensor, etc
- Raspberry Pi Sensors: The Crowpi raspberry pi 5 programming kit is jam-packed with lots of buttons such as 19 different sensors in a tidy easy to use package; You don't have to wait and wire things
- Build Quality: Solid ABS shell and well made components in one place make it strong and convenient to travel
- Programming Lessons: This raspberry pi 5 learning kit ships with step by step instructions and provides 21 lessons to take you through identifying components reading code and running it in the terminal
cd src/everything
npm install
npm run start:streamableHttp
Run these from the repository location where src/everything exists. npm install installs the project dependencies; the final command starts the Streamable HTTP example. For the repository’s legacy SSE mode, it lists:
npm run start:sse
Choose that legacy entry point only when your client or server integration needs HTTP+SSE compatibility. For a new remote integration, the SDK’s current guidance is Streamable HTTP.
Bridge a stdio server to HTTP
Some MCP servers support only stdio, while a client or deployment needs an HTTP endpoint. Supergateway can run the local process and bridge its stdio transport to Streamable HTTP:
npx -y supergateway
--stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder"
--outputTransport streamableHttp
--port 8000
In this example, Supergateway launches the filesystem server with ./my-folder as its target and listens on port 8000. Its documented default endpoint for Streamable HTTP is /mcp. A client connecting to this bridge therefore needs the bridge’s reachable host, port, and endpoint, rather than a local stdio process configuration.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Rank #4
- Fully assembled for plug-and-play operation
- Includes Raspberry Pi 5 with 8GB RAM
- 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
- M.2 HAT+
- CanaKit Turbine Black Case for the Pi 5
Limit the filesystem server to the directory it needs. The command above grants it a relative folder, not the whole machine. Before making a bridge reachable to other machines, decide who may connect and verify the authentication and TLS behavior of the server and deployment. The example does not by itself establish those protections.
Supergateway also documents stdio-to-SSE using explicit paths:
npx -y supergateway
--stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder"
--outputTransport sse
--ssePath /sse
--messagePath /message
--port 8000
Use this form only if the client requires the older SSE arrangement. If instead you need a remote Streamable HTTP server to appear as a local stdio server, Supergateway documents the reverse direction with --streamableHttp URL; consult its documentation for the full command and required URL details.
Package the bridge in Docker
Docker is optional: it packages the bridge so you do not need a local Node.js setup for this documented image command. The example publishes port 8000 and runs a filesystem server:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteBest Value
- 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
- 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
- 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
- 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
- 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.
docker run -it --rm -p 8000:8000 supercorp/supergateway
--stdio "npx -y @modelcontextprotocol/server-filesystem /"
--port 8000
The example grants the filesystem server access to /, which is broader than most tasks require. Mount a narrower host directory and point the server at that mounted path when it only needs selected files. Review what the container can access before starting it, and make sure the MCP server’s tools are appropriate for the users who can reach the published port.
Keep stdio sessions valid
In stdio mode, stdout is not a place for ordinary status messages. The MCP transport specification says the server must not write anything to stdout that is not a valid MCP message. A debug line, banner, progress message, or incidental output from a wrapper can break the client’s JSON-RPC stream.
- Send human-readable logs and diagnostics to stderr.
- Keep protocol messages on stdout in the format expected by the transport.
- Do not try to use the same stdout stream for both shell output and MCP traffic.
- When a client starts the process, let that client manage the session instead of manually piping unrelated input into it.
Client shutdown is also managed at the process level. In the TypeScript SDK, StdioClientTransport.close() closes stdin and then attempts SIGTERM and, if necessary, SIGKILL. A server that does not exit immediately when a client disconnects may therefore be terminated by the client’s cleanup behavior.
Or skip the browser setup
If the task is to capture a webpage rather than build or operate a general-purpose MCP server, ScreenshotNeo offers a website screenshot API and an MCP server for AI agents. This is a different use case from the MCP server commands above; its MCP tools include take_screenshot, get_page_info, and capture_pdf.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →One command-line request returns an image:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for parameters and setup. ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits cost nothing, with response headers indicating the page verdict and billing status. Its MCP server lets AI agents take screenshots, and the free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Troubleshoot common startup and connection problems
The client cannot start the server
- Cause: The client cannot find
npx, the package download fails, or its launch configuration points to the wrong command or working directory. - Fix: Confirm Node.js/npm and
npxare installed in the environment the client uses, check network access for the initial package download, then test the exact command in a terminal. Make sure the client’s executable, arguments, and working directory match the working command.
The server starts, but the client reports a protocol or JSON error
- Cause: Non-protocol output has reached stdout, or the client is using a different transport from the server.
- Fix: Route logs to stderr, remove startup banners from stdout, and confirm both sides use stdio or both connect using the same HTTP transport and endpoint.
An HTTP client cannot connect
- Cause: The server is not running in HTTP mode, the client has the wrong host, port, or path, or the endpoint is not reachable from the client’s network.
- Fix: Verify the server’s startup output and its documented endpoint, check the published port and network route, and ensure the client is configured for Streamable HTTP. If using Supergateway’s documented Streamable HTTP default, check the
/mcppath.
An older client rejects Streamable HTTP
- Cause: Its implementation may require the legacy HTTP+SSE transport.
- Fix: Check the client’s supported transports. If it requires SSE, use the server’s documented SSE mode or a compatible bridge; do not switch a new integration to a deprecated transport without a compatibility reason.
The server does not stop cleanly
- Cause: The client may be closing the child process after the session ends, including escalating termination if needed.
- Fix: Check server cleanup behavior and logs on stderr. Avoid running unmanaged duplicate server processes; restart through the client or supervisor that owns the session.
The Docker bridge exposes too much or cannot be reached
- Cause: The filesystem command may target a broad path, the required directory may not be mounted, or the port mapping may not match the bridge listener.
- Fix: Mount and target only the necessary directory, verify the container’s listening port against
-p, and check the client’s host and endpoint. Restrict access to the published port according to your deployment’s security needs.
Performance, reliability, and cost considerations
There are no comparable performance or reliability figures established here for these commands, so choose based on how the server needs to be launched and reached rather than assuming one transport is faster. A local stdio process avoids setting up a network endpoint, but it depends on the client being able to launch and manage the executable. Streamable HTTP suits network access, but introduces endpoint reachability and deployment configuration to manage. A bridge adds another process between the client and server; Docker adds packaging and port/mount configuration.
For repeatable use, pin and manage package versions according to your project’s operational needs, rather than relying indefinitely on an unqualified package command. Test startup and shutdown through the actual MCP client, not only by observing that a process launches. The npm page for @modelcontextprotocol/server identifies v2 as the stable release line implementing the MCP specification dated 2026-07-28; that statement concerns that package and specification, not a guarantee that every example server or client supports the same versions.
Quick Recap
Checklist before connecting a client
- Choose stdio for a client-spawned local process, or Streamable HTTP for network access.
- Confirm that the specific client and server support the same transport.
- For stdio, keep stdout protocol-only and direct logs to stderr.
- For HTTP, verify the listener, endpoint, network reachability, and the deployment’s security controls.
- For a bridge or container, restrict filesystem access and expose only the required port and tools.
- Test initialization, tool availability, and clean shutdown using the intended client.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

