Getting started
MCP Server Pack
You can read this before you buy. After checkout, unzip mcp-server-pack. The first session installs dependencies, runs the smoke test, and connects one server. Each server has its own notes in docs/.
What you need installed
- Node.js 18.17 or newer. That is the engines field in package.json.
- npm, which is installed with Node.
- An MCP client that can start a local stdio server. The zip has configs for Claude Desktop and Cursor, and the docs have a Claude Code snippet for each server.
- No API keys and no network for the smoke test. The README says it launches every server with the official MCP client against a local mock.
- Ollama on this machine, only if you turn on ollama-bridge. A GitHub token, only for private repositories or for creating issues and comments.
The first 15 minutes
-
Install and test
The zip includes compiled files in dist/servers/. Dependencies are not in the zip. From the pack folder:
npm install npm test -
Read the test result
npm test runs the TypeScript build, then test/smoke.mjs. A clean run ends with "All smoke checks passed". The README describes that file as 22 checks, including the path-escape, gated-write and private-URL checks.
-
Point a client at one server
Open configs/claude_desktop_config.json or configs/cursor-mcp.json. Replace /ABSOLUTE/PATH/TO/mcp-server-pack with the folder you unzipped. On Windows, write paths with forward slashes, as the docs show: C:/path/to/mcp-server-pack/dist/servers/notes.js. For this first session, keep filesystem-notes and remove the other servers from the config. Set NOTES_DIR to a folder of .md or .txt notes.
-
Restart the client
Claude Desktop: Settings → Developer → Edit Config, paste the server block, then restart Claude Desktop. Cursor: save the block as .cursor/mcp.json in the project (or the user mcp.json) and enable it under Settings → MCP. Claude Code: the docs use claude mcp add with the same node path to the file in dist/servers/.
-
Ask for the notes
Ask the assistant to list notes. filesystem-notes only touches .md and .txt files inside NOTES_DIR. The other five servers are documented in docs/web-fetch.md, docs/github-issues.md, docs/sqlite-query.md, docs/rss-news.md and docs/ollama-bridge.md. Add one back when you want it.
Common problems
- Node says it cannot find a module
- Run npm install in the pack folder. The zip has package.json and the prebuilt dist/ files, and it does not include node_modules.
- The client cannot start the server
- The config still contains /ABSOLUTE/PATH/TO/mcp-server-pack, or the path points at a file that is not there. npm test rewrites dist/. Restart the client after you save the config. In JSON on Windows, use forward slashes.
- Notes will not save, or a path is rejected
- Writes stay inside NOTES_DIR and only .md and .txt files are allowed. NOTES_READONLY=1 turns write_note off. A path that escapes the folder is rejected. The smoke test covers that case.
- web-fetch will not open a local address
- Localhost and private LAN addresses are blocked unless WEBFETCH_ALLOW_PRIVATE=1. The server doc sets a 15 second timeout and a 2 MB cap.
- GitHub requests fail or writes do nothing
- The sample config includes a placeholder GITHUB_TOKEN. Delete that entry for public repositories. The GitHub server notes say public repositories work without a token, at 60 requests an hour. Private repos need a real token. create_issue and comment_issue also need GITHUB_ALLOW_WRITE=1.
- sqlite-query exits as soon as it starts
- The server prints "Set SQLITE_PATH to your .db file" and exits when SQLITE_PATH is unset. Queries are read-only until SQLITE_ALLOW_WRITE=1. DROP, ATTACH, DETACH and VACUUM stay blocked even then. The server uses sql.js, so Windows does not need a native SQLite build.
- ollama-bridge cannot list models
- Ollama has to be running. The default host is http://127.0.0.1:11434 and the default model name in the server is llama3.2. The smoke test does not start Ollama. It points ollama-bridge at a local mock, and a separate check expects an error when OLLAMA_HOST is a closed local port.
- The RSS tool has no feeds
- Set RSS_FEEDS to a comma-separated list of feed URLs, or pass feeds when the tool is called. The server reads RSS 2.0 and Atom and merges them newest-first.
Back to MCP Server Pack for what's included and checkout.