scraps
Scraps is a portable CLI knowledge hub for managing interconnected Markdown documentation with Wiki-link notation.
claude mcp add --transport stdio boykush-scraps cargo run --bin scraps-server \ --env RUST_LOG="info"
How to use
Scraps exposes an MCP server that provides AI-assisted access to your Scraps knowledge base. The server implements several MCP endpoints to interact with your Markdown-driven Wiki-style docs, including searching scraps, listing tags, and traversing link relationships. You can query for scrap content, resolve backlinks, and discover tag associations, enabling a conversational AI or editor integration to navigate and compose within your Scraps repository. Typical usage involves starting the server and then connecting an MCP client to the server name (scraps) to invoke the following capabilities: search_scraps to find scraps by keywords, list_tags to retrieve all tags used across scraps, lookup_scrap_links to view outgoing links from a scrap, lookup_scrap_backlinks to identify scraps that link to a target, and lookup_tag_backlinks to find scraps associated with a tag. This makes it suitable for AI-assisted documentation workflows, content discovery, and automated editing prompts.
Once the server is running, you can integrate it with your preferred MCP client or tooling to issue the standard MCP method calls (e.g., searchScraps, listTags, lookupScrapLinks, etc.) and receive structured results that you can present in a UI or feed into a chatbot or automation script.
How to install
Prerequisites:
- Rust and Cargo installed (stable toolchain)
- Access to a Rust project containing the scraps-server binary
Step-by-step:
- Ensure Rust is installed. If not, install from https://www.rust-lang.org/tools/install
- Clone the repository or navigate to the project directory containing the scraps server: git clone https://github.com/boykush/scraps.git cd scraps
- Build or run the server directly: cargo build --release cargo run --bin scraps-server
- Verify the server starts and listens on the default port (often 0.0.0.0:PORT as configured in the project). If you need to customize the port, set the appropriate environment variable or edit the configuration as per the project docs.
- Connect an MCP client to the running server using the server name (scraps) and the available MCP methods.
Additional notes
Tips and caveats:
- The server exposes several endpoints to work with scraps data: search_scraps, list_tags, lookup_scrap_links, lookup_scrap_backlinks, and lookup_tag_backlinks. Use the MCP client to invoke these methods and handle the returned structured data.
- If you run into port or binding issues, check any environment variables or flags the scraps-server binary accepts for configuring host/port.
- Enable verbose logging with RUST_LOG=info or a more detailed level during debugging.
- Ensure your local Scratch repository is accessible to the server (e.g., if the data is stored in a docs/ or content/ directory, verify paths are correct).
- For production deployments consider building a release binary and running under a process manager, and securing access to the MCP endpoints as appropriate.
Related MCP Servers
Wax
Sub-Millisecond RAG on Apple Silicon. No Server. No API. One File. Pure Swift
mq
jq-like command-line tool for markdown processing
mcp-discovery
A command-line tool written in Rust for discovering and documenting MCP Server capabilities.
silverbullet
A Model Context Protocol (MCP) server to interact with your SilverBullet notes and data.
gemini-cli
> Gemini Rust Suite 🦀: A powerful, modular Rust toolkit for interacting with Google Gemini. Features a feature-rich CLI, persistent semantic memory (LanceDB), and extensible tool integration via the Model Context Protocol (MCP).
flint-note
Agent-first note-taking system