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

avr-docs-mcp

v1.1.1

Published

MCP server for AVR documentation

Readme

AVR Docs MCP Server with Wiki.JS Integration

This MCP (Model Context Protocol) server provides integration with Wiki.JS for searching and listing pages from your Wiki.JS instance.

Features

  • Search Wiki.JS Pages: Search for pages using keywords or topics
  • List Wiki.JS Pages: Get a paginated list of all available pages
  • Get Specific Page: Retrieve a specific page by its ID
  • Connection Testing: Test the connection to your Wiki.JS instance
  • Multiple Transport Modes: Support for both stdio and HTTP stream modes
  • Docker Support: Ready-to-use Docker image with health checks

Setup

Prerequisites

  1. A running Wiki.JS instance
  2. An API key with appropriate permissions for reading pages

Environment Variables

You can set environment variables in two ways:

Option 1: Using a .env file (Recommended)

  1. Copy the example environment file:
cp .env.example .env
  1. Edit the .env file with your actual values:
# Wiki.JS Configuration
WIKI_JS_BASE_URL=https://your-wiki-instance.com
WIKI_JS_API_KEY=your-api-key-here
LOG_LEVEL=info

# MCP Server Configuration
MCP_MODE=stdio
PORT=3000

Option 2: Using system environment variables

export WIKI_JS_BASE_URL="https://your-wiki-instance.com"
export WIKI_JS_API_KEY="your-api-key-here"
export LOG_LEVEL="info"
export MCP_MODE="stdio"
export PORT="3000"

Installation

  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Test the connection (optional):
npm test
  1. Run the server:
npm start

For development:

npm run dev

Running Modes

The server supports two modes of operation:

Stdio Mode (Default)

The server runs in stdio mode by default, communicating through standard input/output. This is the traditional MCP mode.

npm start
# or
npm run start:http  # for HTTP mode
# or
MCP_MODE=stdio npm start

HTTP Stream Mode

The server can also run in HTTP mode, providing a REST API with Server-Sent Events (SSE) for MCP communication.

npm run start:http
# or
MCP_MODE=http npm start

When running in HTTP mode, the server provides:

  • Health Check: GET /health - Returns server status
  • MCP Endpoint: POST /mcp - MCP communication endpoint

Docker Usage

Using the Docker Image

# Run in stdio mode (default)
docker run -d \
  --name avr-docs-mcp \
  -e WIKI_JS_BASE_URL="https://your-wiki-instance.com" \
  -e WIKI_JS_API_KEY="your-api-key-here" \
  agentvoiceresponse/avr-docs-mcp:latest

# Run in HTTP mode
docker run -d \
  --name avr-docs-mcp \
  -p 3000:3000 \
  -e WIKI_JS_BASE_URL="https://your-wiki-instance.com" \
  -e WIKI_JS_API_KEY="your-api-key-here" \
  -e MCP_MODE="http" \
  -e PORT="3000" \
  agentvoiceresponse/avr-docs-mcp:latest

Docker Compose

version: '3.8'

services:
  avr-docs-mcp:
    image: agentvoiceresponse/avr-docs-mcp:latest
    container_name: avr-docs-mcp
    ports:
      - "3000:3000"  # Only needed for HTTP mode
    environment:
      - WIKI_JS_BASE_URL=https://your-wiki-instance.com
      - WIKI_JS_API_KEY=your-api-key-here
      - MCP_MODE=http
      - PORT=3000
      - LOG_LEVEL=info
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

Available Tools

1. search_wiki_pages

Search for pages in Wiki.JS using keywords.

Parameters:

  • query (required): The search query
  • page (optional): Page number for pagination (default: 1)
  • limit (optional): Number of results per page (default: 10, max: 50)

2. list_wiki_pages

List all available pages in Wiki.JS.

Parameters:

  • page (optional): Page number for pagination (default: 1)
  • limit (optional): Number of results per page (default: 20, max: 50)

3. get_wiki_page

Get a specific page by its ID or path.

Parameters:

  • pageId (required): The ID (numeric) or path (string) of the page to retrieve. Examples: '3' for ID, 'deepgram' for path

Wiki.JS API Configuration

This MCP server uses Wiki.JS GraphQL API (/graphql endpoint). Make sure your Wiki.JS instance has API access enabled and that your API key has the following permissions:

  • page:read - To read page content
  • page:list - To list pages
  • search:read - To search pages

The server automatically handles GraphQL queries and responses for all operations. Note that Wiki.JS GraphQL API has some limitations:

  • Search and list operations don't support native pagination, so pagination is simulated client-side
  • Search results don't include full page content
  • List results don't include full page content (use get_wiki_page for full content)
  • Tags are returned as arrays of strings, not comma-separated strings

Logging

The server includes comprehensive logging with configurable log levels:

  • debug - Detailed debug information
  • info - General information (default)
  • warn - Warning messages only
  • error - Error messages only

Set the LOG_LEVEL environment variable to control logging verbosity.

Error Handling

The server includes comprehensive error handling for:

  • Missing environment variables
  • Network connectivity issues
  • API authentication failures
  • Invalid page IDs
  • Rate limiting

Development

To run in development mode with hot reloading:

npm run watch

Building

To build for production:

npm run build

The compiled JavaScript will be in the dist/ directory.

Support & Community

Support AVR

AVR is free and open-source. If you find it valuable, consider supporting its development:

License

MIT License - see the LICENSE file for details.