npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

lexomni-mcp

v0.1.3

Published

MCP server for local knowledge management with MD and PDF indexing

Readme

Lexomni MCP

MCP (Model Context Protocol) server for local knowledge management with Markdown and PDF indexing using SQLite FTS5.

Author: PagansDev (Paulo Gabriel Neves Santos) | Repository: github.com/PagansDev/lexomni-mcp


English

Usage

As a local MCP server

Lexomni MCP automatically discovers the _lexomni workspace in your project by walking up the directory tree from cwd. If not found, it creates the structure automatically.

  1. Configure your MCP client (e.g., Cursor):
"lexomni": {
      "command": "npx",
      "args": ["-y", "lexomni-mcp"],
      "cwd": "/path/to/your/project", # (optional) only if needed
      "env": {}
    },

Note: Usually you don't need to define cwd; the MCP client typically uses the current workspace directory. Add "cwd": "/path/to/your/project" if needed.

Note: npx downloads and execute the package automatically, you don't need to install anything, but in those earlier releases is recomended to clone the repository and run in locally until I adress the issues. In that case, after you clone the repository, the configuration would be:

wsl:

"lexomni-local": {
      "command": "wsl.exe",
      "args": [
        "-d", "distro-your.version", # e.g. : Ubuntu-24.04 
        "--",
        "bash", "-lc",
        "npx -y /path/to/cloned/repository"
      ]
    }

Windows:

"lexomni-local": {
  "command": "cmd.exe",
  "args": [
    "/c",
    "npx",
    "-y",
    "C:\\Users\\User\\Your\\Folders\\lexomni-mcp"
  ]
}
  1. Add your documents:
    • _lexomni/user/ - User markdown (guidelines, architecture, etc.)
    • _lexomni/agent/ - Agent notes (auto-generated)
    • _lexomni/books/ - PDFs (books, documentation, etc.)

The folder structure (_lexomni/user, _lexomni/agent, _lexomni/books, _lexomni/index) is created automatically on first run.

Available Tools

Agent handles parameters on its own

lexomni_listSources

Lists all documents (MD and PDF) in the workspace.

Parameters: none

Example:

{
  "workspace": "/path/to/project/_lexomni",
  "count": 5,
  "docs": [...]
}

lexomni_buildIndex

Indexes documents into SQLite FTS5 for fast search.

Parameters:

  • sources (optional): array of ["user", "agent", "books"]

lexomni_searchDocs

Keyword search across indexed documents.

Parameters:

  • query (required): string, min 2 characters
  • sources (optional): filter by source
  • limit (optional): max results (1-50, default 10)

Example:

{
  "query": "clean architecture",
  "hits": [
    {
      "docId": "user:user/guidelines.md",
      "chunkIndex": 0,
      "snippet": "...about [clean] [architecture]...",
      "source": "user",
      "relPath": "user/guidelines.md"
    }
  ]
}

lexomni_readDoc

  • docId (required)
  • Type: string Purpose: unique identifier of the document in the index.

Constraint: at least 3 characters. Typical source: taken from a hit returned by lexomni_searchDocs.

  • chunkIndex (optional) Type: integer Minimum: 0 Purpose: which chunk (piece) of the document to read. If omitted: usually defaults to the first chunk (0), depending on implementation.
  • maxChars (optional) Type: integer Range: 200–20000 Purpose: maximum number of characters of text to return for that chunk, useful to limit response size.

lexomni_writeNote

  • filename (required) Type: string Purpose: name of the markdown file to create or update in the agent’s notes area.

Constraint: at least 1 character.

  • content (required) Type: string Purpose: markdown content to write into the file.

Constraint: at least 1 character.

  • mode (optional) Type: string Allowed values: "overwrite" – replaces the existing file content entirely. "append" – appends content to the end of the existing file. Default: "overwrite" if not specified.

Security

  • Path traversal blocked (no ../ allowed)
  • Access restricted to workspace _lexomni
  • Write access limited to _lexomni/agent/

Architecture

_lexomni/               # In user's project
  user/                 # Guidelines, architecture (read-only)
  agent/                # Agent notes (writable)
  books/                # PDFs (read-only)
  index/                # SQLite FTS5 (generated)
    lexomni.sqlite

Multilingual Strategy

Lexomni does not translate text internally. To find docs in PT and EN for e.g. :

  1. Agent expands queries before searching:

    • "arquitetura em camadas" → also searches "layered architecture"
    • "fila" → also searches "message queue", "job queue"
  2. Living glossary at _lexomni/agent/glossary.md:

    • Agent learns new terms via web search
    • Improves search quality over time

Development

npm run build    # Build production
npm run dev      # Watch mode
npm start        # Run built server

License

MIT © Paulo Gabriel Neves Santos