Skip to main content
Glama
Vecesta-co

Enterprise MCP Server

by Vecesta-co
README.md
# enterprise-mcp-server

> **Production-grade Model Context Protocol (MCP) server supporting Stdio and HTTP transports, 8 sandboxed tools, and strict AST-guided SQL safety.**

[![CI](https://github.com/Vecesta-co/enterprise-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/Vecesta-co/enterprise-mcp-server/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://python.org)

```
$ python -m src.cli list
Available Enterprise MCP Tools:
  • read_file: Read the text contents of a file at the specified path.
  • write_file: Write text content to a file at the specified path safely.
  • list_directory: List entries inside a directory with metadata.
  • search_files: Search directory for files matching a glob pattern.
  • sqlite_query: Execute a read-only SELECT query on an SQLite database.
  • sqlite_schema: Inspect SQLite database schema (tables, columns, types).
  • get_env_info: Retrieve sanitized execution environment and system diagnostics.
  • hash_data: Compute cryptographic checksum (SHA256, MD5) for input data.

$ python -m src.cli call hash_data --args '{"data": "Vecesta.co", "algorithm": "sha256"}'
Result from hash_data:
5adad565faec52c54f5cfa2c55bdf47c16c52a51368c741e403d19e91fb6e2b6
```

## Architecture

```
┌────────────────────────────────────────────────────────┐
│     Host / AI Client (Claude Desktop / Cursor / IDE)   │
└──────────────────────────┬─────────────────────────────┘
                           │ JSON-RPC 2.0 (Stdio or HTTP)
                           ▼
┌────────────────────────────────────────────────────────┐
│               Enterprise MCP Server Gateway            │
│  - Handshake: initialize, notifications/initialized    │
│  - Capabilities Discovery: tools/list                  │
│  - Tool Invocation: tools/call                         │
└──────────────────────────┬─────────────────────────────┘
                           │
       ┌───────────────────┼───────────────────┐
       ▼                   ▼                   ▼
┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│ File System  │    │ SQLite Guard │    │ Diagnostics  │
│  - read/write│    │  - schema    │    │  - env_info  │
│  - list/glob │    │  - SELECT    │    │  - sha256    │
└──────────────┘    └──────────────┘    └──────────────┘
```

## Claude Desktop Configuration

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "enterprise-tools": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/enterprise-mcp-server"
    }
  }
}
```

## Comparison

| Capability | enterprise-mcp-server | Generic Community MCP Servers |
|---|---|---|
| Transports | Dual (Stdio + HTTP REST) | Stdio only |
| SQL Safety Guardrails | Read-only enforcement + AST keyword rejection | Often exposes arbitrary SQL |
| Standard Library Dependencies | Zero heavy dependencies (Pure Python + Pydantic) | Complex dependency trees |
| Spec Compliance | Protocol Version `2024-11-05` compatible | Outdated drafts |
| Test Coverage | 24 automated unit tests | Minimal / manual only |

## Difficulties & Solutions

- **Stdio Buffering on Windows**: Stdio streams in Python can suffer from carriage return / newline translation issues. Solved via explicit UTF-8 reconfiguration and deterministic flushing on every response frame.
- **Arbitrary SQL Injection Protection**: Implemented rigorous multi-layer statement checks ensuring only idempotent, read-only SELECT or EXPLAIN statements execute against databases.

---

**Built by Vecesta.co**
- Email: vecesta.co@gmail.com
- LinkedIn: https://www.linkedin.com/in/vansh-dhawan-2625v
- GitHub: https://github.com/Vecesta-co
- X: https://x.com/Vansh_Dhawann
- Hugging Face: https://huggingface.co/Vecesta