Labsco
MCP SERVER

MCP Personal

by dashed

Four small servers for finding things on your own machine: files, text inside files, PDFs, and SQLite.

Local Filesystem Access
Summary
Two search servers, and the difference matters.

The file-search server finds files by name; the fuzzy-search server looks inside them. Pointing an assistant at the wrong one produces confident empty results. The SQLite server ships read-only by default, which is the right way round — turn writes on per registration rather than globally, and keep a separate read-only entry for exploration.

What it is

A set of four independent MCP servers you register separately: a file-name searcher built on fd and fzf, a content searcher built on ripgrep and fzf, a SQLite client that is read-only unless you say otherwise, and a Python port of the sequential-thinking server.

What you get
  • File names, fast — `search_files` takes a regex or glob and a `limit`, `filter_files` applies a fuzzy filter to the result
  • Text inside files — `fuzzy_search_files` matches paths, `fuzzy_search_content` matches path and content together, with no regex to get wrong
  • Documents — `fuzzy_search_documents` reaches into PDFs, Office files and archives, and `extract_pdf_pages` pulls specific pages back out
  • PDF structure — `get_pdf_page_labels`, `get_pdf_page_count` and `get_pdf_outline` answer 'what is in this file' before you read it
  • SQLite — `query`, `execute`, `list_tables`, `describe_table` and `create_table`, with write operations disabled unless explicitly enabled and `:memory:` supported for scratch work
  • `sequentialthinking` for step-by-step reasoning with revisions (`isRevision`, `revisesThought`) and branches (`branchFromThought`, `branchId`)
  • Every server also runs as a standalone CLI, so you can check a query outside the assistant
Requirements

Python 3.10 or higher. Published as mcp-personal version 0.1.0; the documented path is to clone the repo and point your client at the individual scripts — `mcp_fd_server.py`, `mcp_fuzzy_search.py`, `mcp_sqlite_server.py`, `mcp_sequential_thinking.py`. The search servers need external binaries: `fd` and `fzf` for file search, `ripgrep` and `fzf` for content search; PDF and Office search additionally wants `ripgrep-all`, PyMuPDF and pandoc. On Debian and Ubuntu `fd` installs as `fdfind`. Register with `-s user` if you want the servers available across all projects rather than just the current directory. `DISABLE_THOUGHT_LOGGING=true` silences the thinking server's stderr output.