Skip to main content
Glama
rakeshpvconnect-ops

MCP Tool Server

MCP Tool Server — Custom Model Context Protocol Server

A production-ready MCP server exposing 5 tools that any MCP-compatible LLM client (Claude Desktop, etc.) can call as part of agentic workflows.

Built with Python MCP SDK + httpx + SQLite.


What This Project Demonstrates

  • MCP (Model Context Protocol) — the open standard for LLM tool integration

  • Agentic AI architecture — LLMs calling real tools autonomously

  • Tool design patterns — input schemas, error handling, security guardrails

  • Async Python — all tools are async-ready for performance


Tools Exposed

Tool

What it does

get_weather

Live weather for any city (Open-Meteo, no API key needed)

query_database

Safe SELECT queries on a local SQLite employee database

read_file

Read any local text file

summarize_webpage

Fetch and extract text from any URL

calculator

Evaluate math expressions safely (sqrt, sin, log, etc.)


Architecture

Claude Desktop (or any MCP client)
         │
         │  MCP Protocol (JSON-RPC over stdio)
         ▼
┌─────────────────────────────────┐
│        MCP Tool Server          │
│                                 │
│  list_tools()  → returns schema │
│  call_tool()   → executes tool  │
│                                 │
│  ┌──────────┐  ┌─────────────┐  │
│  │ Weather  │  │  Database   │  │
│  │  (HTTP)  │  │  (SQLite)   │  │
│  └──────────┘  └─────────────┘  │
│  ┌──────────┐  ┌─────────────┐  │
│  │  Files   │  │  Webpage    │  │
│  │  (disk)  │  │   (HTTP)    │  │
│  └──────────┘  └─────────────┘  │
│        ┌──────────────┐         │
│        │  Calculator  │         │
│        │  (safe eval) │         │
│        └──────────────┘         │
└─────────────────────────────────┘

Project Structure

mcp-server/
├── server.py                  # Main MCP server — all 5 tools defined here
├── test_tools.py              # Test script — verify tools without Claude
├── claude_desktop_config.json # Config snippet for Claude Desktop
├── requirements.txt
└── README.md

Step-by-Step Setup

Step 1 — Clone and enter project

git clone https://github.com/YOUR_USERNAME/mcp-tool-server.git
cd mcp-tool-server

Step 2 — Create virtual environment

python -m venv venv
source venv/bin/activate        # Mac/Linux
venv\Scripts\activate           # Windows

Step 3 — Install dependencies

pip install -r requirements.txt

Step 4 — Run the tests (no Claude needed)

python test_tools.py

You should see:

✅ Calculator PASS
✅ Database Query PASS
✅ Read File PASS
✅ Weather API PASS

Step 5 — Connect to Claude Desktop

  1. Open Claude Desktop settings → Developer → Edit Config

  2. Add the following to claude_desktop_config.json:

{
  "mcpServers": {
    "rakesh-tool-server": {
      "command": "python",
      "args": ["/full/path/to/mcp-server/server.py"]
    }
  }
}
  1. Replace /full/path/to/ with your actual path

  2. Restart Claude Desktop

  3. You'll see a 🔧 tool icon — Claude can now call your tools!

Step 6 — Test with Claude

Ask Claude:

  • "What's the weather in Bengaluru?" → calls get_weather

  • "Show me all engineers in the database" → calls query_database

  • "What is sqrt(2025) + 100?" → calls calculator


How MCP Works (Simple Explanation)

  1. Server starts and waits on stdin/stdout

  2. Claude Desktop discovers tools by calling list_tools() — gets names, descriptions, input schemas

  3. When you ask Claude something, it decides which tool to call based on the schemas

  4. Claude sends a call_tool(name, args) request to the server

  5. Server executes the tool and returns the result as text

  6. Claude uses the result to formulate its final answer

The key innovation: tools are described with JSON Schema so the LLM understands exactly what inputs to provide.


Security Notes

  • query_database only allows SELECT — blocks any destructive SQL

  • calculator uses safe eval with an allowlisted namespace — no import, os, etc.

  • read_file is path-restricted to readable files only


Tech Stack

Layer

Technology

Protocol

MCP (Model Context Protocol) v1.0

Language

Python 3.11+ async

HTTP Client

httpx (async)

Database

SQLite (built-in)

Weather API

Open-Meteo (free, no key)


Resume Line

Built a custom MCP server exposing 5 production-ready tools (weather, database, file I/O, web fetch, calculator) — demonstrating hands-on agentic AI architecture using the Model Context Protocol for LLM tool integration.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/rakeshpvconnect-ops/per-MCP-SERVER'

If you have feedback or need assistance with the MCP directory API, please join our Discord server