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

love2d-mcp-server

v1.0.1

Published

MCP server for Love2D API documentation

Downloads

42

Readme

love2d-mcp

Model Context Protocol server for the LÖVE 2D game framework API

Gives AI assistants (Claude, Gemini, Copilot, Cursor, etc.) accurate, searchable access to the full LÖVE 12.0 API — directly inside the tools they already use.


What it offers

Tools

| Tool | Description | |------|-------------| | love2d_search_docs | Full-text fuzzy search across all API symbols. Returns ranked matches. | | love2d_lookup_symbol | Full documentation for a specific symbol — signatures, args, returns, examples. | | love2d_update_docs | Check for and download the latest docs from GitHub. |

Resources

URI template docs://love2d/{module}/{symbol} — browse documentation pages directly by URI.

Prompts

explain_api — template that asks the model to explain a specific LÖVE API with examples.


Installation

Requirements

  • Node.js ≥ 18

Clone and install

git clone --recurse-submodules https://github.com/vanrez-nez/love2d-mcp.git
cd love2d-mcp
npm install   # also runs postinstall: tries to fetch latest docs, falls back to bundle
npm run build

postinstall will attempt to download the latest docs DB from GitHub. If you are offline it exits cleanly and uses the bundled snapshot.


Configure your AI client

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "love2d": {
      "command": "node",
      "args": ["/absolute/path/to/love2d-mcp/dist/index.js"]
    }
  }
}

VS Code (GitHub Copilot / Continue / etc.)

Add to .vscode/mcp.json in your project, or to your user settings.json:

{
  "mcp": {
    "servers": {
      "love2d": {
        "type": "stdio",
        "command": "node",
        "args": ["/absolute/path/to/love2d-mcp/dist/index.js"]
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "love2d": {
      "command": "node",
      "args": ["/absolute/path/to/love2d-mcp/dist/index.js"]
    }
  }
}

Usage examples

Once configured, just ask naturally in chat:

"How do I play a looping audio track in LÖVE?" "Show me the signature for love.graphics.draw" "What physics body types exist?" "How do I handle keyboard input in LÖVE 12?"

The AI will automatically call love2d_search_docs or love2d_lookup_symbol as needed.

Keeping docs up to date

Ask the AI: "Update the Love2D docs" — or call the tool directly:

love2d_update_docs({ force: false })

The updated database is cached locally; the server reloads it on the next restart.


Development

npm run dev          # tsx watch — auto-reloads on src changes
npm run inspect      # opens MCP Inspector in browser for manual testing
npm run build        # sync data/ from submodule + compile TypeScript
npm run sync-data    # manually copy latest submodule dist → data/

Update flow

npm install
  └── postinstall → try GitHub fetch → cache to .love2d-mcp-cache/
                                     → if fails: use bundled data/

MCP server first tool call
  └── lazy-load from cache (if present) or data/ (bundle)
        └── fire-and-forget background check → update cache for next restart

love2d_update_docs tool
  └── explicit update + immediate in-memory reload

Data sources

The bundled database merges:

| Source | Records | |--------|---------| | love2d-community/love-api | Low-level API (arguments, signatures) | | LÖVE wiki snapshot | High-level docs, examples, notes |

Database maintained at vanrez-nez/love2d-docs-search.


License

MIT