That matters because the powers differ sharply: filesystem is scoped to directories you name and shell runs against an allowlist, while puppeteer and github reach outside the machine entirely. Register the ones the job needs and leave the rest out of the config — the split is the safety feature.
A collection of eight separate MCP servers in one repository, each registered independently: filesystem, git, github, brave-search, sonar, puppeteer, shell and fetch. You wire in only the ones you want.
- Filesystem — read_file, read_multiple_files, write_file, edit_file, create_directory, list_directory, directory_tree, move_file, copy_file, append_file, delete_file
- Filesystem search and batch — search_files, search_content, batch_operations with transactional rollback, watch_file, compress_files, extract_archive
- Git — git_init, git_status, git_add, git_commit, git_diff, git_diff_staged, git_diff_unstaged, git_reset, git_log, git_create_branch, git_checkout, git_show
- Git tags — git_create_tag, git_create_annotated_tag, git_list_tags, git_delete_tag, git_show_tag
- Github — repositories, issues, pull requests and releases, with per-account tokens so work and personal identities stay separate
- Sonar — natural-language search with synthesised answers and citations, across the sonar, sonar-pro, sonar-reasoning and sonar-deep-research models
- Brave-search — keyword web search and local business search
- Puppeteer — navigation, clicking, forms, waits, keyboard input, viewport and device emulation, PDF generation, cookies and HTTP auth, page text and HTML extraction, and frame switching
- Shell — allowlisted command execution with directory restrictions, output size limits and a streaming mode that returns partial output from long-running processes
- Fetch — pull a URL and convert the HTML to clean Markdown, with a custom user agent and robots.txt handling
Node.js v18 or higher and the Bun runtime; clone the repository and run bun install. Each server is registered separately in the client config by pointing at its entry file. Keys are per server: GITHUB_PERSONAL_ACCESS_TOKEN with optional GITHUB_TOKEN_WORK and GITHUB_TOKEN_PERSONAL, BRAVE_API_KEY, PERPLEXITY_API_KEY. The filesystem server is restricted to the directories you pass it on the command line.
