Agentic Log Search Platform
Provides integration with Elasticsearch for full-text search indexing, enabling fast search of ingested log records.
Provides integration with SQLite as a metadata store and fallback search backend, using SQL LIKE queries for search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agentic Log Search Platformsearch application logs for error messages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agentic Log Search Platform (MCP-Based)
A small Python project that ingests Windows application log files, indexes them for fast full-text search, and exposes the ingest and search operations as both HTTP endpoints (Flask) and MCP tools (FastMCP).
Project duration: Feb 14 – 20, 2026
Author: Bharath Kumar Kalavakunta
Features
Agent-based design via FastMCP — two tools (
ingest_logs,search_logs) callable from any MCP-compatible clientDual-backend indexing — Elasticsearch for fast full-text search; SQLite as the always-on metadata store and fallback
Pandas data pipeline — parses and cleans 300+ sample log records before indexing
Performance benchmark —
/benchmarkendpoint compares grep-style linear scan vs indexed search (~60 % faster)gRPC contract — a
.protofile documents the agent-to-backend communication contract (illustrative; HTTP endpoints are the active interface)Test suite — 5 pytest cases covering parsing, indexing, and search (including the empty-result case)
Related MCP server: Log Analyzer MCP Server
Project Structure
.
├── app.py # Flask app + FastMCP tool definitions
├── core/
│ ├── log_ingestor.py # LogIngestor: parse raw log files with Pandas
│ ├── log_indexer.py # LogIndexer: write to Elasticsearch + SQLite
│ └── log_search_agent.py # LogSearchAgent: query indexed records
├── proto/
│ └── log_search.proto # gRPC service contract (illustrative)
├── data/
│ ├── sample_app1.log # 184 sample entries — WindowsUpdateClient
│ └── sample_app2.log # 144 sample entries — SecurityCenterService
├── tests/
│ └── test_core.py # 5 pytest cases
├── DESIGN.md # Architecture and design decisions
├── requirements.txt
└── conftest.py # Adds project root to sys.path for pytestSetup
1. Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate2. Install dependencies
pip install -r requirements.txt3. Elasticsearch (optional)
The application works without Elasticsearch — it falls back to SQLite LIKE
search automatically. If you have access to an Elasticsearch cluster
(local or cloud trial), set the host in app.py:
indexer = LogIndexer(es_host="http://localhost:9200")
agent = LogSearchAgent(es_host="http://localhost:9200")If Elasticsearch is not reachable the application prints:
[LogIndexer] Elasticsearch unreachable — using SQLite only.No other changes are needed.
Running the Application
python app.pyThe Flask development server starts on http://localhost:5000.
Ingest sample logs
curl -X POST http://localhost:5000/ingestOr ingest specific files:
curl -X POST http://localhost:5000/ingest \
-H "Content-Type: application/json" \
-d '{"filenames": ["sample_app1.log"]}'Search indexed logs
curl -X POST http://localhost:5000/search \
-H "Content-Type: application/json" \
-d '{"query": "error", "max_results": 20}'Example response:
{
"count": 8,
"backend": "sqlite",
"elapsed_ms": 1.42,
"results": [
{
"id": 3,
"source_file": "sample_app1.log",
"module": "WindowsUpdateClient",
"level": "ERROR",
"message": "Failed to reach update server: timeout after 30s",
"timestamp": "2026-02-14 10:00:01",
"ingested_at": "2026-02-14 08:14:30"
}
]
}Run the performance benchmark
curl "http://localhost:5000/benchmark?q=error"Example response:
{
"query": "error",
"grep_ms": 0.18,
"indexed_ms": 0.07,
"reduction_pct": 61.1
}Health check
curl http://localhost:5000/healthRunning Tests
pytest tests/ -v --cov=core --cov-report=term-missingExpected output: 5 tests passing with ≥ 80 % coverage on the three core classes.
gRPC Contract
The file proto/log_search.proto defines the agent-to-backend communication
contract. It is illustrative — the active interface is the Flask HTTP API.
To compile Python stubs from the proto:
python -m grpc_tools.protoc -I proto \
--python_out=proto --grpc_python_out=proto \
proto/log_search.protoSee DESIGN.md §5 for details.
Architecture
See DESIGN.md for a full description of the agent architecture, the three core classes, the MCP tools, and the gRPC contract.
Notes
Elasticsearch integration is fully implemented but optional. If unavailable, the system uses SQLite without any code changes required.
The gRPC contract is not wired into the Flask app — the HTTP endpoints serve the same semantic purpose and are the active interface.
The benchmark endpoint measures real timing on the sample dataset; results vary by machine but consistently show a meaningful reduction.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceProvides programmatic access to ingest and query Windows event logs (especially Sysmon logs), enabling security monitoring, incident response, and log analysis automation.Last updated5MIT
- Alicense-qualityDmaintenanceAn MCP server for intelligent log analysis providing semantic search, error pattern clustering, and smart error detection. It enables users to process, vectorize, and query local logs to efficiently identify issues and generate AI-powered summaries.Last updatedMIT
- Alicense-qualityDmaintenanceA read-only MCP server that gives AI assistants natural language access to Elasticsearch/Kibana logs for querying and analysis.Last updatedMIT
- AlicenseAqualityDmaintenanceConfig-driven MCP server for cross-domain full-text search across agent session logs, meeting transcripts, and notification files.Last updated7MIT
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kalavakuntabharathkumar/Agentic-Log-Search-Platform-MCP-Based-'
If you have feedback or need assistance with the MCP directory API, please join our Discord server