data-commons-mcp
Verified Safeby EOSC-Data-Commons
Overview
A server that facilitates natural language search for open-access scientific datasets and tools using a Large Language Model (LLM) and the Model Context Protocol (MCP).
Installation
uv run uvicorn src.data_commons_search.main:app --log-config logging.yml --reloadEnvironment Variables
- OPENSEARCH_URL
- EINFRACZ_API_KEY
- MISTRAL_API_KEY
- OPENROUTER_API_KEY
- CHAT_API_KEY
Security Notes
The project demonstrates good practices by using Pydantic models for input validation, which helps prevent data injection and ensures data integrity. API keys for LLM providers are externalized in a `keys.env` file and handled as `SecretStr` types by Pydantic, preventing hardcoded secrets in the codebase. The `/chat` endpoint offers an optional `CHAT_API_KEY` for authentication, which is crucial for preventing abuse in public deployments, though leaving it unset bypasses this protection. General LLM prompt injection risks apply, but the current agent design with predefined tools and prompts for specific tasks (like search and reranking) limits the scope for arbitrary code generation or unintended actions.
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).
mcp-openapi-server
A Model Context Protocol (MCP) server that exposes OpenAPI endpoints as MCP tools, along with optional support for MCP prompts and resources, enabling Large Language Models to interact with REST APIs.
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.