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

@qune-tech/vergabe-mcp

v0.5.0

Published

Local MCP server for German public procurement search (Vergabe Dashboard). Semantic search, tender matching, and company profiles — queries and profiles are embedded locally; only vectors leave the machine.

Readme

@qune-tech/vergabe-mcp

Local MCP server for German public procurement search. Connects your AI assistant to the Vergabe Dashboard API for semantic search, tender matching, and company-profile management.

Your queries and company profiles never leave your machine — they are embedded locally and only the resulting vectors are sent. Data minimisation by design.

Quick Start

npx @qune-tech/vergabe-mcp --api-key sk_live_YOUR_KEY_HERE

Get an API key

Sign up at vergabe-dashboard.qune.de and create an API key. API keys require an active Enterprise plan.

Configure your AI client

Claude Desktop

Edit claude_desktop_config.json:

{
  "mcpServers": {
    "vergabe": {
      "command": "npx",
      "args": ["-y", "@qune-tech/vergabe-mcp", "--api-key", "sk_live_YOUR_KEY_HERE"]
    }
  }
}

Claude Code

Add .mcp.json to your project root:

{
  "mcpServers": {
    "vergabe": {
      "command": "npx",
      "args": ["-y", "@qune-tech/vergabe-mcp", "--api-key", "sk_live_YOUR_KEY_HERE"]
    }
  }
}

Cursor

Settings > MCP Servers > Add:

  • Command: npx
  • Args: -y @qune-tech/vergabe-mcp --api-key sk_live_YOUR_KEY_HERE

LM Studio

Settings > MCP > Add Server (STDIO):

  • Name: vergabe
  • Command: npx
  • Arguments: -y @qune-tech/vergabe-mcp --api-key sk_live_YOUR_KEY_HERE

Available Tools (11)

| Tool | Description | |------|-------------| | search_text | Semantic search across all tenders (query embedded locally) | | list_releases | Filter and browse tenders by phase, CPV prefix, country, value range, deadline, buyer, procurement method | | get_release | Raw eForms XML envelope for one OCID (optional notice_id selects a sibling) | | linked_notices | A procurement's notice lineage (PIN→CN→CAN) as {ocid, notice_id} refs | | get_index_info | API health/version, embedder status, and embedding-contract check | | create_company_profile | Create a matching profile for your company (stored locally) | | update_company_profile | Update an existing profile | | get_company_profile | View profile details | | list_company_profiles | List all your profiles | | delete_company_profile | Delete a profile | | match_tenders | Match a profile against all tenders by semantic similarity (vector embedded locally) |

How It Works

The npm package downloads the correct platform-native binary on install. No Node.js runtime dependency for the actual MCP server.

LLM <--stdio--> vergabe-mcp (local binary)
                   |  Local: company profiles (SQLite) + sentence embedder (ONNX)
                   |  HTTPS: vectors, OCIDs, filter values, API key
                   +--HTTPS--> Vergabe Dashboard API (/api/v1)
  • Company profiles are stored locally (never leave your machine).
  • Text embeddings are computed locally (multilingual-e5-small ONNX model, ~118 MB, downloaded from huggingface.co on first run, cached afterwards).
  • Only embedding vectors, the OCIDs you fetch, filter values, and your API key are sent to the API.

Supported Platforms

| Platform | Architecture | |----------|-------------| | Linux | x86_64 | | macOS | Apple Silicon (ARM64) | | Windows | x86_64 |

Requirements

  • An API key from vergabe-dashboard.qune.de on an Enterprise plan
  • ~120 MB disk space for the ONNX model (auto-downloaded on first run)
  • Internet connection to reach the API

License

MIT