webdna-mcp-server

jacgood/webdna-mcp-server

3.2

If you are the rightful owner of webdna-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The WebDNA MCP Server is a cutting-edge Model Context Protocol server designed to efficiently scrape, index, and provide access to WebDNA documentation through advanced search capabilities and dual protocol support.

Tools
5
Resources
0
Prompts
0

WebDNA MCP Server

A state-of-the-art Model Context Protocol (MCP) server for WebDNA documentation. This server scrapes and indexes WebDNA documentation from docs.webdna.us and provides API endpoints for searching and retrieving documentation.

Features

  • High-Performance Documentation Access: Efficient caching and retrieval of WebDNA documentation
  • Advanced Search Capabilities: Full-text search with relevance scoring for WebDNA instructions
  • Dual Protocol Support: Works with both stdin/stdout (for AI assistants) and HTTP interfaces
  • Comprehensive MCP Tools: Rich set of tools for exploring the WebDNA framework
  • Robust Error Handling: Graceful error recovery and detailed logging
  • Optimized Database Layer: Efficient Supabase PostgreSQL queries with caching
  • Containerized Deployment: Docker support with health checks and security best practices
  • Low Resource Utilization: Optimized for cloud deployment with minimal resource footprint

Getting Started

Prerequisites

  • Docker and Docker Compose
  • Supabase account and project

Installation with Docker (Recommended)

  1. Clone the repository
  2. Run the setup script:
chmod +x setup-docker.sh
./setup-docker.sh
  1. The MCP server will be available at http://localhost:3002

Manual Installation

If you prefer not to use Docker, you can install and run the server directly:

  1. Install dependencies:
npm install
  1. Apply the database migrations to your Supabase project:
# Use the Supabase SQL Editor to run the SQL in migrations/01_initial_setup.sql
  1. Run the documentation scraper to populate the database:
npm run scrape
  1. Start the server:
# For HTTP server
npm run start:mcp-http

# For stdin/stdout server (for AI assistants)
npm run start:mcp

Using with Continue.dev

To use this MCP server with Continue.dev, add the following to your .continue/config.yaml file:

mcpServers:
  - name: WebDNA Documentation
    command: curl
    args:
      - -X
      - POST
      - http://localhost:3002/mcp/invoke_tool
      - -H
      - 'Content-Type: application/json'
      - -d
      - |
        {"tool": "$0", "params": $1}
    env:
      SUPABASE_URL: "your-supabase-url"
      SUPABASE_KEY: "your-supabase-key"

MCP Tools

This server provides the following enhanced MCP tools:

search-webdna-docs

Searches WebDNA documentation with advanced filtering and relevance scoring. Parameters:

  • query (string, required): Search query for WebDNA documentation
  • category (string, optional): Filter results by category
  • limit (number, optional): Maximum results to return (default: 20)
  • offset (number, optional): Offset for pagination (default: 0)

get-webdna-doc

Retrieves detailed documentation for a specific WebDNA instruction or context.

Parameters:

  • id (string, required): ID, WebDNA ID, or instruction name

get-webdna-categories

Retrieves all WebDNA documentation categories with counts of instructions.

get-random-webdna-docs

Retrieves random WebDNA documentation entries for exploration.

Parameters:

  • limit (number, optional): Number of entries to return (default: 5)

get-webdna-stats

Retrieves statistics about the WebDNA documentation database.

API Endpoints

  • GET /health: Health check endpoint
  • GET /: API documentation and information
  • POST /mcp/init: Initialize the MCP server
  • POST /mcp/list_tools: Get available tools
  • POST /mcp/invoke_tool: Invoke a tool with parameters

Docker Commands

  • npm run docker:build: Build the Docker container
  • npm run docker:run: Run the container
  • npm run docker:up: Start with Docker Compose
  • npm run docker:down: Stop the container
  • npm run docker:logs: View container logs

License

ISC

Acknowledgments