MCP Observability Server
by Sushma243
README.md
# MCP Observability Server
This project demonstrates how to build a production-quality Model Context Protocol (MCP) server in Python for an observability platform. It exposes tools for log search, metrics inspection, SQL querying, incident summaries, and service discovery.
## What is MCP?
The Model Context Protocol (MCP) is an open protocol for connecting AI assistants and agents to tools, data sources, and workflows. With MCP, an AI client can call server-side tools in a structured way.
## Features
- Search sample JSON logs by service and keyword
- Retrieve mocked metrics for CPU, memory, request rate, and error rate
- Run SQL queries against a local SQLite database
- Generate incident summaries from logs and metrics
- List available services
- Logging, type hints, and structured error handling
## Installation
1. Create and activate a virtual environment:
```bash
python3 -m venv .venv
source .venv/bin/activate
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Copy the example environment file:
```bash
cp .env.example .env
```
## Running the server
```bash
python server.py
```
The server uses stdio transport by default and is ready for MCP-compatible clients such as Claude Desktop.
## Example Claude Desktop configuration
Add the following to your Claude Desktop configuration:
```json
{
"mcpServers": {
"observability": {
"command": "/path/to/python",
"args": ["/absolute/path/to/mcp-observability-server/server.py"]
}
}
}
```
## Example prompts
- Search logs for the API service around timeouts.
- Show CPU and memory metrics for the Auth service in the last hour.
- Run SQL to list services with high error rates.
- Summarize the latest incident for the Payment service.
- List all available services.
## Project structure
```text
/
├── server.py
├── tools.py
├── database.py
├── sample_data/
├── requirements.txt
├── README.md
└── .env.example
```
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues