AI Use Cases MCP Server
A Model Context Protocol (MCP) server for collecting, analyzing, and managing AI use case data from various information sources.
Features
🔍 Web Scraping Tools
- URL Scraping: Extract AI use case data from specified URLs with customizable selectors
- Information Source Management: Add, edit, and manage scraping configurations for different websites
- Automatic Data Extraction: Extract titles, summaries, categories, and publication dates
📊 Data Analysis Tools
- Keyword Extraction: Automatically extract relevant AI and technology keywords from content
- Use Case Categorization: Automatically categorize AI use cases by technology and industry
- Search & Filter: Search through collected use cases with various filters
📈 Resources
- AI Use Cases Data: Access structured AI use case data by category and limit
- Statistics: Get overview statistics of collected data including categories and industries
🤖 Prompts
- Summarize Use Cases: Create concise summaries of AI use cases
- Suggest Sources: Get recommendations for new information sources
- Analyze Trends: Analyze trends in AI use cases over time
Installation
# Clone the repository
git clone <repository-url>
cd ai-use-cases-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
Usage
As an MCP Server
The server can be used with any MCP-compatible client (Claude Desktop, Cursor, etc.) by adding it to your MCP configuration:
{
"mcpServers": {
"ai-use-cases": {
"command": "node",
"args": ["dist/index.js"]
}
}
}
Available Tools
1. Web Scraping Tool (scrape-url)
Scrape AI use case data from a specified URL.
Parameters:
url(string): The URL to scrapeselectors(object, optional): CSS selectors for data extractionextractKeywords(boolean, default: true): Whether to extract keywords
Example:
{
"url": "https://example.com/ai-use-case",
"selectors": {
"title": "h1.title",
"summary": ".content p",
"category": ".category"
}
}
2. Add Information Source (add-source)
Add a new information source for automated data collection.
Parameters:
name(string): Source nameurl(string): Source URLselectors(object): CSS selectors for data extraction
3. Search Use Cases (search-use-cases)
Search through collected AI use cases with filters.
Parameters:
query(string): Search querycategory(string, optional): Filter by categoryindustry(string, optional): Filter by industrytechnology(string, optional): Filter by technologylimit(number, default: 20): Maximum results
4. Extract Keywords (extract-keywords)
Extract relevant keywords from text content.
Parameters:
text(string): Text to analyzemaxKeywords(number, default: 10): Maximum keywords to extractcategory(string, optional): Category for context-specific extraction
5. Categorize Use Case (categorize-use-case)
Automatically categorize an AI use case based on its content.
Parameters:
title(string): Use case titlesummary(string): Use case summarycontent(string, optional): Additional content
Available Resources
1. AI Use Cases (ai-use-cases://{category}/{limit})
Access AI use case data by category and limit.
Parameters:
category(string): Category filter (optional)limit(number): Maximum number of results
2. Statistics (statistics://overview)
Get overview statistics of collected data.
Available Prompts
1. Summarize Use Case (summarize-use-case)
Create a concise summary of an AI use case.
Parameters:
title(string): Use case titlecontent(string): Use case contentmaxLength(number, default: 200): Maximum summary length
2. Suggest Sources (suggest-sources)
Get recommendations for new information sources.
Parameters:
industry(string, optional): Target industrytechnology(string, optional): Target technologycategory(string, optional): Target category
3. Analyze Trends (analyze-trends)
Analyze trends in AI use cases over time.
Parameters:
timeframe(string): Analysis timeframecategory(string, optional): Category filterindustry(string, optional): Industry filter
Data Structure
AI Use Case
interface AIUseCase {
id: string;
title: string;
summary: string;
sourceUrl: string;
category: string;
industry?: string;
technologyKeywords: string[];
publicationDate?: string;
company?: string;
implementationDetails?: string;
results?: string;
createdAt: string;
updatedAt: string;
}
Scraping Configuration
interface ScrapingConfig {
id: string;
name: string;
url: string;
selectors: {
title: string;
summary: string;
date?: string;
author?: string;
category?: string;
};
enabled: boolean;
lastScraped?: string;
createdAt: string;
updatedAt: string;
}
Supported Categories
The system automatically categorizes AI use cases into the following categories:
- Natural Language Processing: NLP, text analysis, chatbots, translation
- Computer Vision: Image recognition, video analysis, object detection
- Machine Learning: Algorithms, predictive analytics, classification
- Robotics & Automation: Industrial automation, autonomous systems
- Data Analytics: Business intelligence, reporting, visualization
- Healthcare & Medical: Medical diagnosis, drug discovery, telemedicine
- Finance & Banking: Fraud detection, risk assessment, trading
- E-commerce & Retail: Recommendation systems, personalization
- Transportation & Logistics: Route optimization, autonomous vehicles
- Education & Training: Personalized learning, adaptive systems
Development
Project Structure
src/
├── types/ # TypeScript type definitions
├── database/ # Database layer (SQLite)
├── scraping/ # Web scraping functionality
├── analysis/ # Text analysis and keyword extraction
├── mcp/ # MCP server implementation
└── index.ts # Main entry point
Building
# Development
npm run dev
# Build for production
npm run build
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format
Adding New Features
- New Tools: Add to
src/mcp/server.tsin thesetupTools()method - New Resources: Add to
src/mcp/server.tsin thesetupResources()method - New Prompts: Add to
src/mcp/server.tsin thesetupPrompts()method - New Types: Add to
src/types/index.ts
Configuration
Database
The server uses SQLite for data storage. The database file (ai_use_cases.db) is created automatically in the project root.
Scraping Settings
- Default timeout: 10 seconds
- Retry attempts: 3
- Delay between requests: 1 second
- User agent: Standard browser user agent
External Dependencies
- @modelcontextprotocol/sdk: MCP protocol implementation
- axios: HTTP client for web scraping
- cheerio: HTML parsing
- puppeteer: Headless browser for JavaScript-heavy pages
- sqlite3: Database storage
- natural: Natural language processing for keyword extraction
- zod: Schema validation
Security Considerations
- The server includes DNS rebinding protection for HTTP transport
- All user inputs are validated using Zod schemas
- Web scraping respects robots.txt and includes delays between requests
- No sensitive data is stored or transmitted
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues and questions:
- Check the documentation
- Search existing issues
- Create a new issue with detailed information
Note: This server is designed for educational and research purposes. Please respect website terms of service and robots.txt when scraping data.
