MCP Tool Server MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/YOUR_USERNAME/mcp-tool-server.git
cd mcp-tool-server
pip install -r requirements.txt
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add mcp-tool-server-ff99 -- python "<FULL_PATH_TO_PER_MCP_SERVER>/dist/index.js"

Replace <FULL_PATH_TO_PER_MCP_SERVER>/dist/index.js with the actual folder you prepared in step 1.

README.md

A production-ready MCP server exposing 5 tools for agentic workflows.

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.

Tools (5)

get_weatherFetches live weather data for any city using Open-Meteo.
query_databasePerforms safe SELECT queries on a local SQLite employee database.
read_fileReads the content of a local text file.
summarize_webpageFetches and extracts text content from a provided URL.
calculatorPerforms safe mathematical calculations including sqrt, sin, and log.

Configuration

claude_desktop_config.json
{"mcpServers": {"rakesh-tool-server": {"command": "python", "args": ["/full/path/to/mcp-server/server.py"]}}}

Try it

What's the weather in Bengaluru?
Show me all engineers in the database
What is sqrt(2025) + 100?
Read the contents of my notes.txt file
Summarize the content of this webpage: https://example.com

Frequently Asked Questions

What are the key features of MCP Tool Server?

Provides 5 production-ready tools for LLM agentic workflows. Supports live weather fetching via Open-Meteo. Enables safe read-only SQL queries on local SQLite databases. Includes a secure calculator with an allowlisted namespace. Built with async Python for high performance.

What can I use MCP Tool Server for?

Automating data retrieval from local SQLite databases for reporting. Integrating real-time weather information into AI-driven planning assistants. Summarizing external web content directly within the Claude interface. Performing complex mathematical operations during technical analysis tasks. Reading and processing local project documentation files.

How do I install MCP Tool Server?

Install MCP Tool Server by running: git clone https://github.com/YOUR_USERNAME/mcp-tool-server.git && cd mcp-tool-server && pip install -r requirements.txt

What MCP clients work with MCP Tool Server?

MCP Tool Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep MCP Tool Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare