avr-docs-mcp
ทางการThis MCP (Model Context Protocol) server provides integration with Wiki.JS for searching and listing pages from Agent Voice Response Wiki.JS instance.
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
- A running Wiki.JS instance
- 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)
- Copy the example environment file:
cp .env.example .env
- Edit the
.envfile 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
- Install dependencies:
npm install
- Build the project:
npm run build
- Test the connection (optional):
npm test
- 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 using JSON-RPC 2.0
Testing HTTP Mode
You can test the HTTP mode using curl or Postman:
# Health check
curl http://localhost:3000/health
# Initialize MCP session
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {
"name": "curl-client",
"version": "1.0.0"
}
}
}'
# List available tools (use session ID from initialize response)
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "mcp-session-id: <session-id-from-initialize>" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}'
# Call a tool (use session ID from initialize response)
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "mcp-session-id: <session-id-from-initialize>" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_wiki_pages",
"arguments": {
"query": "deepgram",
"page": 1,
"limit": 10
}
}
}'
Or use the built-in test client:
npm run test:http
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 querypage(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 contentpage:list- To list pagessearch: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_pagefor 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 informationinfo- General information (default)warn- Warning messages onlyerror- 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
- GitHub: https://github.com/agentvoiceresponse - Report issues, contribute code.
- Discord: https://discord.gg/DFTU69Hg74 - Join the community discussion.
- Docker Hub: https://hub.docker.com/u/agentvoiceresponse - Find Docker images.
- Wiki: https://wiki.agentvoiceresponse.com/en/home - Project documentation and guides.
Support AVR
AVR is free and open-source. Any support is entirely voluntary and intended as a personal gesture of appreciation. Donations do not provide access to features, services, or special benefits, and the project remains fully available regardless of donations.
License
MIT License - see the LICENSE file for details.
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Crawleo MCP Server
Crawleo MCP - Web Search & Crawl for AI Enable AI assistants to access real-time web data through native tool integration. Two Powerful Tools: web.search - Real-time web search with flexible formatting Search from any country/language Device-specific results (desktop, mobile, tablet) Multiple output formats: Enhanced HTML (AI-optimized, clean) Raw HTML (original source) Markdown (formatted text) Plain Text (pure content) Auto-crawl option for full content extraction Multi-page search support web.crawl - Deep content extraction Extract clean content from any URL JavaScript rendering support Markdown conversion Screenshot capture Multi-URL support Features: ✅ Zero data retention (complete privacy) ✅ Real-time, not cached results ✅ AI-optimized with Enhanced HTML mode ✅ Global coverage (any country/language) ✅ Device-specific search (mobile/desktop/tablet) ✅ Flexible output formats (4 options) ✅ Cost-effective (5-10x cheaper than competitors) ✅ Simple Claude Desktop integration Perfect for: Research, content analysis, data extraction, AI agents, RAG pipelines, multi-device testing
PipeCD Docs
Search and retrieve official PipeCD documentation.
LLM Jukebox
Enables LLMs to search, download, and extract information from YouTube music videos.
The Movie Database (TMDB)
Integrates with The Movie Database (TMDB) API, allowing AI assistants to search for movies, retrieve details, and generate related content.
Whois MCP
Performs WHOIS lookups to retrieve domain registration details, including owner, registrar, and expiration dates.
FlightRadar MCP Server
Provides real-time flight tracking and status information using the AviationStack API.
Hatch MCP Server
Find emails, phone numbers, company data, and LinkedIn URLs using the Hatch API.
Bocha
A search engine for AI applications, providing world knowledge from web pages and various content sources like weather, news, and images.
world airfares flight mcp
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
SerpApi MCP
SerpApi MCP Server for Google and other search engine results