data-commons-search
by EOSC-Data-Commons
Overview
Provides a natural language search interface over open-access scientific datasets and tools, assisted by a Large Language Model (LLM) through the Model Context Protocol (MCP).
Installation
docker compose upEnvironment Variables
- OPENSEARCH_URL
- EINFRACZ_API_KEY
- OPENROUTER_API_KEY
- CHAT_API_KEY
- FILEMETRIX_API
- TOOL_REGISTRY_API
Security Notes
The server's CORS configuration sets `allow_origins=['*']`, which is a significant security risk for production deployments as it permits requests from any domain. The `/chat` endpoint's `CHAT_API_KEY` is optional, making LLM calls potentially unauthenticated and vulnerable to abuse if not set. The `search_data` tool uses `query_string` within OpenSearch, which, while generally more robust than SQL, could theoretically be susceptible to resource exhaustion attacks if highly complex or long queries are injected without proper validation. External API calls to `FileMetrix` and `Tool Registry` are made without explicit authentication in the provided code, which could be a risk if these endpoints are not publicly accessible or require authorization.
Similar Servers
mcp-server-elasticsearch
Connects Model Context Protocol (MCP) clients to Elasticsearch instances, enabling natural language queries and interactions with Elasticsearch indices and data.
mcp-omnisearch
Provides a unified interface for various search, AI response, content processing, and enhancement tools via Model Context Protocol (MCP).
opensearch-mcp-server-py
Enables AI assistants and LLMs to interact with OpenSearch clusters by providing a standardized Model Context Protocol (MCP) interface through built-in and dynamic tools.
academia_mcp
An MCP server providing tools for searching, fetching, analyzing, and reporting on scientific papers and datasets, often powered by LLMs.