Skip to main content
Glama
flyanima

Open Search MCP

by flyanima
README.mdβ€’15.5 kB
# Open Search MCP πŸ” [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![MCP](https://img.shields.io/badge/MCP-Compatible-blue.svg)](https://modelcontextprotocol.io/) [![Security](https://img.shields.io/badge/Security-Hardened-green.svg)](./SECURITY.md) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](./docs/DOCKER_SECURITY.md) A **comprehensive Model Context Protocol (MCP) server** providing **33 specialized research and search tools** for Claude Desktop. Designed for researchers, developers, and knowledge workers who need powerful search capabilities across academic, technical, and general domains. ## ✨ What's New πŸŽ‰ **Production Ready**: All 33 tools are fully functional with 100% success rate πŸ”§ **Bug-Free**: Eliminated all "function undefined" errors and API issues πŸ“Š **Standardized Output**: Unified response format across all search tools πŸš€ **Optimized Performance**: Enhanced error handling and response times πŸ”’ **Security Hardened**: Comprehensive security improvements with 9/10 security score πŸ›‘οΈ **Enterprise Ready**: Full security documentation and deployment guides πŸ”„ **CI/CD Integrated**: Automated security scanning and maintenance πŸ“‹ **Compliance Ready**: OWASP security standards and best practices ## πŸ› οΈ 33 Specialized Tools ### πŸŽ“ Academic Research (7 tools) - **search_arxiv**: Search arXiv preprints with detailed paper information - **search_pubmed**: Medical literature search using NCBI E-utilities API - **search_ieee**: IEEE Xplore engineering and technology papers - **search_semantic_scholar**: AI-enhanced academic search with citation analysis - **search_iacr**: Cryptography and information security research - **search_biorxiv**: Biology preprints and latest research - **search_medrxiv**: Medical preprints and clinical research ### πŸ’» Developer Tools (4 tools) - **search_github**: GitHub repositories, code, and issues search - **search_stackoverflow**: Programming Q&A and technical solutions - **search_gitlab**: GitLab projects and repository search - **search_bitbucket**: Bitbucket repository and code search ### πŸ” Privacy-Focused Search (4 tools) - **search_searx**: Meta-search engine with privacy protection - **search_startpage**: Privacy-focused web search - **search_brave**: Independent search engine results - **search_ecosia**: Eco-friendly search supporting reforestation ### πŸ§ͺ Testing & Development (2 tools) - **test_jsonplaceholder**: JSON API testing and validation - **test_httpbin**: HTTP request/response testing ### πŸ•·οΈ Web Crawling (2 tools) - **crawl_url_content**: Single page content extraction - **batch_crawl_urls**: Bulk website content analysis ### πŸ“„ Document Processing (1 tool) - **analyze_pdf**: PDF document analysis and content extraction ### 🧠 Intelligent Research (5 tools) - **intelligent_research**: Multi-source comprehensive research - **deep_research**: Iterative deep research with multiple data sources - **visualize_thinking**: Research process visualization (mind maps, flowcharts) - **decompose_thinking**: Complex problem breakdown and analysis - **check_research_saturation**: Research completeness evaluation ### πŸ’° Financial Tools (8 tools) * **Alpha Vantage Integration:** - **alpha_vantage_symbol_search**: Search for stock symbols and company information - **alpha_vantage_stock_quote**: Get real-time stock quotes and price information - **alpha_vantage_intraday_data**: Get intraday stock price data with specified intervals - **alpha_vantage_daily_data**: Get daily stock price data and historical trends - **alpha_vantage_company_overview**: Get comprehensive company overview and fundamentals - **alpha_vantage_forex_rate**: Get real-time and historical forex exchange rates - **alpha_vantage_crypto_price**: Get cryptocurrency prices and market data - **alpha_vantage_market_news**: Get financial market news and sentiment analysis *Note: Financial tools require API keys and may have usage limits* ## πŸ”’ Security Features Open Search MCP implements enterprise-grade security measures: ### πŸ›‘οΈ Security Highlights - **πŸ” Secure API Key Management**: Environment variable-based key storage with validation - **πŸ” Input Validation**: Comprehensive input sanitization and validation using Zod schemas - **🐳 Container Security**: Hardened Docker containers with non-root users and read-only filesystems - **πŸ“Š Security Monitoring**: Automated security scanning and vulnerability detection - **πŸ”„ CI/CD Security**: Integrated security checks in development workflow - **πŸ“‹ Compliance**: OWASP security standards and best practices implementation ### 🚨 Security Score: 9/10 - βœ… **No hardcoded secrets** - All API keys stored securely - βœ… **Input validation** - Protection against injection attacks - βœ… **Container hardening** - Secure Docker deployment - βœ… **Dependency scanning** - Automated vulnerability detection - βœ… **Security documentation** - Comprehensive security guides ### πŸ“š Security Documentation - [Security Policy](./SECURITY.md) - Vulnerability reporting and security guidelines - [Docker Security](./docs/DOCKER_SECURITY.md) - Container security configuration - [Secure Deployment](./docs/SECURE_DEPLOYMENT.md) - Production deployment guide ## πŸš€ Quick Start ### Prerequisites - Node.js 18+ - Claude Desktop application - TypeScript (for development) ### Installation 1. **Clone the repository** ```bash git clone https://github.com/flyanima/open-search-mcp.git cd open-search-mcp ``` 2. **Install dependencies** ```bash npm install ``` 3. **Run security checks** (recommended) ```bash npm run security:check ``` 4. **Build the project** ```bash npm run build ``` 5. **Configure environment variables** (secure method) ```bash # Copy the template and configure your API keys cp .env.template .env # Edit .env with your actual API keys (never commit this file) nano .env ``` 6. **Configure Claude Desktop** Copy `claude_desktop_config.template.json` and update with your paths: ```json { "mcpServers": { "open-search-mcp": { "command": "node", "args": ["path/to/open-search-mcp/dist/index.js"], "env": { "NODE_ENV": "production", "FILTER_TO_README_33": "true", "GITHUB_TOKEN": "your_github_token_optional", "ALPHA_VANTAGE_API_KEY": "your_alpha_vantage_key_optional" } } } } ``` 5. **Restart Claude Desktop** The 33 tools will be available in your Claude Desktop interface. ### Configuration Locations - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Linux**: `~/.config/Claude/claude_desktop_config.json` ## πŸ’‘ Usage Examples ### Academic Research ``` "Search for recent machine learning papers on arXiv" "Find PubMed articles about COVID-19 treatments" "Look up cryptography research in IACR" ``` ### Developer Workflow ``` "Find React components on GitHub" "Search Stack Overflow for Python debugging tips" "Look for GitLab projects using Docker" ``` ### Comprehensive Research ``` "Perform intelligent research on quantum computing" "Analyze the current state of renewable energy technology" "Visualize my thinking process for this complex problem" ``` ### Content Analysis ``` "Crawl and analyze this website's content" "Extract information from this PDF document" "Batch analyze these URLs for common themes" ``` ## πŸ”§ API Keys & Security Configuration ### πŸ”’ Secure API Key Management **IMPORTANT**: Never hardcode API keys in your configuration. Use environment variables for security. ### Required for Financial Tools - **Alpha Vantage**: Free tier available at [alphavantage.co](https://www.alphavantage.co/) ### Optional for Enhanced Features - **GitHub Token**: For higher rate limits - **Google Custom Search**: For backup search functionality ### πŸ›‘οΈ Secure Configuration Methods **Method 1: Environment Variables (Recommended)** ```bash # Set environment variables export ALPHA_VANTAGE_API_KEY="your_key_here" export GITHUB_TOKEN="your_token_here" # Then use in Claude Desktop config without exposing keys { "mcpServers": { "open-search-mcp": { "command": "node", "args": ["path/to/dist/expanded-server.js"] } } } ``` **Method 2: .env File (Local Development)** ```bash # Create .env file (automatically ignored by git) echo "ALPHA_VANTAGE_API_KEY=your_key_here" >> .env echo "GITHUB_TOKEN=your_token_here" >> .env ``` **Method 3: Claude Desktop Environment (Less Secure)** ```json { "mcpServers": { "open-search-mcp": { "command": "node", "args": ["path/to/dist/expanded-server.js"], "env": { "ALPHA_VANTAGE_API_KEY": "your_key_here", "GITHUB_TOKEN": "your_token_here" } } } } ``` ### πŸ” API Key Validation ```bash # Validate your API key configuration npm run security:scan ``` ## πŸ—οΈ Development ### Prerequisites - Node.js β‰₯ 18.0.0 - npm β‰₯ 9.0.0 - TypeScript - Git (with pre-commit hooks) ### Setup ```bash # Clone the repository git clone https://github.com/flyanima/open-search-mcp.git cd open-search-mcp # Install dependencies (includes security tools) npm install # Set up pre-commit hooks for security npm run prepare # Run security checks npm run security:check # Build the project npm run build # Run tests npm test ``` ### πŸ”’ Security Development Workflow ```bash # Before committing - automatic security checks git add . git commit -m "Your changes" # Pre-commit hooks run automatically # Manual security checks npm run security:lint # Security-focused linting npm run security:scan # Comprehensive security scan npm run security:maintenance # Dependency updates and maintenance ``` ### Project Structure ``` src/ β”œβ”€β”€ index.ts # Main MCP server entry point β”œβ”€β”€ tools/ # Individual tool implementations β”œβ”€β”€ utils/ # Utility functions and helpers β”œβ”€β”€ config/ # Configuration management β”œβ”€β”€ engines/ # Search engine adapters β”œβ”€β”€ research/ # Research and analysis tools └── types/ # TypeScript type definitions dist/ β”œβ”€β”€ expanded-server.js # Compiled 33-tool server └── index.js # Main compiled server ``` ## πŸ§ͺ Testing & Security Validation ### Comprehensive Testing ```bash # Run all tests including security npm test # Test individual tools npm run test:tools # Test specific tool category npm run test:academic npm run test:developer npm run test:research ``` ### πŸ”’ Security Testing ```bash # Comprehensive security scan npm run security:scan # Security-focused linting npm run security:lint # Dependency vulnerability check npm run security:audit # Complete security validation npm run security:check ``` ### Manual Testing ```bash # Start the server in debug mode node dist/expanded-server.js # Test with MCP client npx @modelcontextprotocol/inspector dist/expanded-server.js # Security validation in development NODE_ENV=development npm run security:scan ``` ## 🀝 Contributing We welcome contributions! Here's how you can help: ### Development Workflow 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Make your changes 4. Add tests for new functionality 5. **Run security checks** (`npm run security:check`) 6. Ensure all tests pass (`npm test`) 7. **Verify no security issues** (pre-commit hooks will run automatically) 8. Commit your changes (`git commit -m 'Add amazing feature'`) 9. Push to the branch (`git push origin feature/amazing-feature`) 10. Open a Pull Request ### πŸ”’ Security Requirements for Contributors - βœ… All security checks must pass - βœ… No hardcoded API keys or secrets - βœ… Input validation for new features - βœ… Security documentation for new tools - βœ… Follow secure coding practices ### Areas for Contribution - πŸ” **New Search Tools**: Add support for additional academic databases or search engines - 🧠 **Research Features**: Enhance the intelligent research capabilities - πŸ› **Bug Fixes**: Help identify and fix issues - πŸ“š **Documentation**: Improve documentation and examples - πŸ§ͺ **Testing**: Add more comprehensive tests - πŸ”’ **Security**: Enhance security features and documentation ## πŸ“Š Tool Status & Security All 33 tools are production-ready with 100% success rate and enterprise-grade security: ### πŸ› οΈ Tool Functionality - βœ… **Academic Search**: 7/7 tools working - βœ… **Developer Tools**: 4/4 tools working - βœ… **Search Engines**: 4/4 tools working - βœ… **Testing Tools**: 2/2 tools working - βœ… **Web Crawling**: 2/2 tools working - βœ… **Document Processing**: 1/1 tools working - βœ… **Research Analysis**: 5/5 tools working - ⚠️ **Financial Tools**: 8/8 tools (require API keys) ### πŸ”’ Security Status - βœ… **Input Validation**: All tools use strict input validation - βœ… **API Key Security**: Secure environment variable management - βœ… **Container Security**: Hardened Docker deployment - βœ… **Dependency Security**: Regular vulnerability scanning - βœ… **Code Security**: Security-focused linting and analysis - βœ… **Documentation**: Comprehensive security guides - βœ… **CI/CD Security**: Automated security checks ### πŸ“ˆ Security Metrics - **Overall Security Score**: 9/10 - **Vulnerability Count**: 0 critical, 0 high - **Security Coverage**: 100% of tools validated - **Compliance**: OWASP standards implemented ## πŸ“„ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## πŸ™ Acknowledgments - **Free APIs**: Thanks to arXiv, PubMed, GitHub, and other services providing free access - **MCP Protocol**: Built on Anthropic's Model Context Protocol - **Open Source Community**: Inspired by the collaborative spirit of open source ## πŸ“ž Support ### General Support - πŸ› **Issues**: [GitHub Issues](https://github.com/flyanima/open-search-mcp/issues) - πŸ’¬ **Discussions**: [GitHub Discussions](https://github.com/flyanima/open-search-mcp/discussions) - πŸ“– **Documentation**: See `docs/` directory for detailed guides ### πŸ”’ Security Support - 🚨 **Security Issues**: Use [GitHub Security Advisory](https://github.com/flyanima/open-search-mcp/security/advisories) for vulnerabilities - πŸ“‹ **Security Policy**: See [SECURITY.md](./SECURITY.md) for reporting guidelines - πŸ›‘οΈ **Security Documentation**: - [Security Policy](./SECURITY.md) - [Docker Security](./docs/DOCKER_SECURITY.md) - [Secure Deployment](./docs/SECURE_DEPLOYMENT.md) ### πŸ“š Additional Resources - πŸ”§ **Security Tools**: Run `npm run security:scan` for health check - πŸ“Š **Security Reports**: Automated security scanning in CI/CD - πŸ”„ **Maintenance**: Use `npm run security:maintenance` for updates ## πŸ”— Related Projects - [Model Context Protocol](https://modelcontextprotocol.io/) - The protocol this server implements - [Claude Desktop](https://claude.ai/desktop) - Primary client for this MCP server - [MCP SDK](https://github.com/modelcontextprotocol/sdk) - Official MCP development tools --- **πŸ” Open Search MCP - Empowering research through comprehensive search capabilities** *Made with ❀️ for the research and developer community*

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flyanima/open-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server