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

aidigital-labs-mcp

v2.0.0

Published

MCP server for AI Digital Labs tools — website audits, neuromarketing, prompt engineering, AIO optimization, and synthetic focus groups

Readme

aidigital-labs-mcp

AI Digital Labs MCP server — website audits, neuromarketing, prompt engineering, AI search optimization, and synthetic focus groups inside any MCP-compatible AI assistant.

Quick Start — Remote Server (Recommended)

No installation needed. Add to Claude Code .mcp.json:

{
  "mcpServers": {
    "aidigital-labs": {
      "type": "url",
      "url": "https://mcp.apps.aidigitallabs.com/mcp",
      "headers": { "Authorization": "Bearer aidl_your_key_here" }
    }
  }
}

Or for Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "aidigital-labs": {
      "command": "npx",
      "args": ["-y", "aidigital-labs-mcp@latest"],
      "env": { "AIDIGITAL_API_KEY": "aidl_your_key_here" }
    }
  }
}

Get your API key from the Admin Console.

Local npm Package (Alternative)

If you prefer running locally:

npx aidigital-labs-mcp

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | AIDIGITAL_API_KEY | Yes | Your AI Digital Labs API key (format: aidl_xxx) |

Cursor / Windsurf

Add the same configuration to your editor's MCP settings. Refer to your editor's documentation for the exact config file location.

Available Tools

| Tool | Description | Required Parameters | |------|-------------|-------------------| | website_audit | Comprehensive website audit (SEO, conversion, accessibility) | website_url | | neuromarketing_audit | Score creative assets against 41 neuromarketing criteria | asset_url, brand_name | | prompt_engineering | Design, test, and optimize AI prompts with consistency testing | prompt_text or prompt_idea | | aio_scan | Audit AI search engine visibility across ChatGPT, Gemini, Perplexity, etc. | concept_name, concept_type, concept_category | | synthetic_focus_group | Simulate AI-powered focus groups with generated buyer personas | brand_name, product_description | | check_status | Check the status of any running job | job_id, app | | get_result | Retrieve a completed report in markdown, visual JSON, or both | job_id, app |

Tool Parameters

website_audit

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | website_url | string | Yes | Full URL to audit (e.g., https://example.com) | | brand_name | string | No | Company name (inferred from URL if omitted) | | industry | string | No | Industry sector | | business_model | string | No | B2B, B2C, B2B2C, or Marketplace | | conversion_goal | string | No | Lead Generation, E-commerce, Sign-up, or Information | | instructions | string | No | Custom audit focus areas |

neuromarketing_audit

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | asset_url | string | Yes | URL of the creative asset to analyze | | brand_name | string | Yes | Brand name | | asset_type | string | No | static_banner, landing_page, social_post, email, or full_website | | offer | string | No | CTA/offer description | | target_audience | string | No | Target audience description | | instructions | string | No | Additional audit instructions |

prompt_engineering

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | prompt_text | string | Conditional | Full prompt to optimize (provide this OR prompt_idea) | | prompt_idea | string | Conditional | Idea to design into a prompt | | model_target | string | No | claude, gpt-4, gemini, llama, or general | | use_case | string | No | creative_writing, code_generation, data_analysis, chat, instruction, reasoning, summarization, or extraction | | instructions | string | No | Additional engineering instructions |

aio_scan

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | concept_name | string | Yes | Brand/product/concept name to scan | | concept_type | string | Yes | product, offering, or concept | | concept_category | string | Yes | Broader category (e.g., "SUV", "CRM Software") | | concept_context | string | No | Market, geography, competitors | | query_count | number | No | Number of queries per engine (default 10) | | instructions | string | No | Additional scan instructions |

synthetic_focus_group

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | brand_name | string | Yes | Brand or product name | | product_description | string | Yes | Brief product/service description | | product_category | string | No | Product category | | campaign_objective | string | No | Campaign objective | | creative_urls | string[] | No | URLs of creative assets to evaluate | | instructions | string | No | Additional evaluation instructions |

check_status

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | job_id | string | Yes | Job ID from a submit call | | app | string | Yes | website-audit, neuromarketing, prompt-engineering, aio-optimization, or synthetic-focus-group |

get_result

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | job_id | string | Yes | Job ID | | app | string | Yes | Which app | | format | string | No | both (default), markdown, or visual |

Usage Examples

Once the MCP server is configured, you can ask your AI assistant to use the tools naturally:

Website Audit

"Run a website audit on https://example.com focusing on mobile UX and conversion optimization."

The assistant will call website_audit with website_url: "https://example.com" and instructions: "Focus on mobile UX and conversion optimization", wait for the job to complete (typically 60-120 seconds), and return the full report with scores, recommendations, and an action roadmap.

Neuromarketing Analysis

"Analyze this banner creative for neuromarketing effectiveness: https://example.com/summer-sale-banner.png -- it's for Nike targeting Gen Z athletes."

Calls neuromarketing_audit with the asset URL, brand name, and target audience. Returns scores across 41 criteria covering visual hierarchy, color psychology, emotional triggers, and cognitive load.

Prompt Engineering

"Optimize this prompt for Claude: 'You are a helpful assistant that writes product descriptions. Given a product name and features, write a compelling 200-word description.' Focus on consistency across runs."

Calls prompt_engineering which runs the prompt through a 3-stage pipeline: design/revision, consistency testing (3 runs), and engineering optimization. Returns the original prompt, test results, and an improved version.

AI Search Optimization

"How visible is Tesla Model 3 across AI search engines? Scan ChatGPT, Gemini, and Perplexity."

Calls aio_scan with concept_name: "Tesla Model 3", concept_type: "product", concept_category: "Electric Vehicle". Generates diverse queries, runs them across selected engines, and synthesizes findings into visibility scores, sentiment analysis, and competitive positioning.

Synthetic Focus Group

"Run a focus group for a new organic dog food brand called 'PurePaws'. The product is premium organic kibble for health-conscious pet owners, priced at $65/bag."

Calls synthetic_focus_group which generates realistic buyer personas, runs them through a simulated focus group discussion, and returns persona reactions, purchase intent scores, messaging recommendations, and creative feedback.

Chaining Tools

You can ask the assistant to chain multiple tools:

"Run a website audit on https://acme.com, then analyze their hero image at https://acme.com/hero.png for neuromarketing. Summarize both reports together."

The assistant will run both tools (potentially in parallel if the MCP client supports it) and synthesize the findings.

How It Works

User prompt  -->  AI Assistant  -->  MCP Server  -->  AI Digital Labs API
                                                      |
                                        1. POST /.netlify/functions/api-submit
                                        2. Poll GET  /.netlify/functions/api-status?job_id=
                                        3. GET  /.netlify/functions/api-result?job_id=
                                                      |
                                                      v
                                              Return full report
                                        (markdown + structured JSON + URL)
  1. The AI assistant receives a user request and determines which MCP tool to call.
  2. The MCP server receives the tool call and submits a job to the corresponding AI Digital Labs app API.
  3. The server polls the status endpoint every 5 seconds until the job completes (up to a 10-minute timeout).
  4. Once complete, it fetches the full report and returns it to the AI assistant.
  5. The assistant presents the report to the user, often summarizing key findings and including the hosted report URL.

Timeouts and Polling

  • Default timeout: 10 minutes (600,000 ms)
  • Poll interval: 5 seconds
  • Typical completion times:
    • Website Audit: 60-120 seconds
    • Neuromarketing: 45-90 seconds
    • Prompt Engineering: 60-120 seconds
    • AIO Optimization: 3-10 minutes
    • Synthetic Focus Group: 60-120 seconds

If a job times out, the MCP server returns an error. You can use check_status and get_result to manually retrieve the report later if the job eventually completes.

Troubleshooting

"AIDIGITAL_API_KEY environment variable is required"

The MCP server cannot start without an API key. Ensure the AIDIGITAL_API_KEY env var is set in your MCP configuration file. Check for typos in the variable name and ensure the key starts with aidl_.

"Unknown app: ..."

This error occurs when calling check_status or get_result with an invalid app name. Valid app names are: website-audit, neuromarketing, prompt-engineering, aio-optimization, synthetic-focus-group.

"API error 401: ..."

Your API key is invalid or has been revoked. Generate a new key at admin.apps.aidigitallabs.com.

"API error 403: ..."

Either your API key does not have the correct scope for this app, or you have hit a rate limit. Check the error message for details. If rate-limited, wait for the retry_after period before retrying.

"Job timed out after 600s"

The job did not complete within the 10-minute timeout. This is most common with AIO scans that have many engines or high query counts. You can:

  1. Use check_status to see if the job is still running
  2. Use get_result once the status shows complete
  3. Reduce query_count or engines for faster scans

"Job failed: ..."

The background AI agent encountered an error. Common causes:

  • Invalid or inaccessible URLs (for website audit or neuromarketing)
  • Temporary API provider outages
  • Server-side rate limits

Retry the job. If the error persists, check that the input URLs are publicly accessible.

MCP server not appearing in Claude Desktop

  1. Verify the config file path is correct for your OS
  2. Ensure valid JSON syntax (no trailing commas)
  3. Restart Claude Desktop after editing the config
  4. Check that npx is in your system PATH

MCP server not appearing in Claude Code

  1. Ensure .mcp.json is in your project root or ~/.mcp.json
  2. Run /mcp in Claude Code to check server status
  3. Try running npx @aidigital/labs-mcp manually to verify it starts

API Reference

For the full REST API documentation (useful if building custom integrations outside of MCP), see the API Reference.

License

Proprietary. Requires an AI Digital Labs API key.