A Python MCP (Model Context Protocol) server for querying Elasticsearch via Kibana proxy.
Lambda MCP is a FastMCP-based server that provides tools for querying Elasticsearch clusters through Kibana's proxy API. It supports authentication and includes token counting to manage response sizes.
- Query Elasticsearch via Kibana proxy
- Support for Basic Authentication
- Token counting with configurable limits
- JSON query validation
- Error handling for network and authentication issues
- Clone the repository:
git clone https://github.com/yourusername/lambda-mcp.git
cd lambda-mcp
- Install the package:
pip install -e .
pip install lambda-mcp
python lambda_mcp.py
lambda-mcp
LAMBDA_MCP_MAX_TOKEN_NUM
: Maximum number of tokens allowed in response (default: 10000)
Query Elasticsearch via Kibana proxy.
Parameters:
base_url
(str): Kibana base URL (e.g., https://kibana.example.com)username
(str): Username for Kibana authentication (use empty string if no auth required)password
(str): Password for Kibana authentication (use empty string if no auth required)path
(str): Elasticsearch query path (e.g., index/_search)query
(str, optional): JSON query body as string (default: "{}")
Returns:
- str: The query result as a JSON string
Example:
result = query_elasticsearch_via_kibana(
base_url="http://kibana.example.com",
username="your_username",
password="your_password",
path="_cat/indices",
query="{}"
)
pip install -e ".[dev]"
black lambda_mcp.py
isort lambda_mcp.py
mypy lambda_mcp.py
pytest
requests>=2.25.0
: HTTP library for API callsfastmcp>=0.1.0
: FastMCP framework for MCP serverstokenizers>=0.13.0
: Token counting functionality
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.