SimpleMCP
A lightweight MCP server that auto-discovers tool kits, enabling tools like SQLite queries and web searches via Tavily API.
README
SimpleMCP
A lightweight MCP-like alternative (Model Context Protocol) server that lets you bolt on tool "kits" without touching the core. Drop a new _kit.py file in kits/, slap a @tool decorator on your functions, and the server picks them up automatically. No manual imports, no config files, no fuss.
How it works
- Server (
server.py): Three operating modes (see below). Auto-discovers all kits at startup. - Kits (
kits/): Each kit is a Python file with@tool-decorated functions. Thekits/__init__.pyauto-discovers and imports every kit at startup. - Registry (
utils/registry.py): The@tooldecorator registers functions into a global dict.extract_parametersscrapes type hints to build JSON Schema for the tool's I/O. - Config (
config.py):MCP_MODEflag (defaultFalse). SetMCP_MODE=truevia env var or edit the file directly. - Client (
client.py): Streamlit frontend that talks to the server and routes tool calls through Groq.
Kits included
- sqlite_kit — List tables, list columns, preview rows from a SQLite database.
- web_kit — Web search, page extraction, crawling, and mapping via the Tavily API.
Adding a new kit
- Create a file in
kits/, e.g.kits/my_kit.py - Import the decorator:
from utils import tool - Write your functions with type hints and docstrings:
from utils import tool
@tool
def do_something(query: str, limit: int = 10):
"""Does something cool with a query."""
# your logic here
return {"result": "stuff"}
- That's it. Restart the server and it's live.
Setup
python -m venv .venv
source .venv/bin/activate
pip install fastapi uvicorn tavily streamlit requests groq
Set your API keys:
export TAVILY_API_KEY="your-tavily-key"
export GROQ_API_KEY="your-groq-key"
Run the server:
HTTP mode (for Streamlit client / browser debugging):
uvicorn server:app --host 0.0.0.0 --port 8000
MCP HTTP mode (standard MCP endpoints over HTTP — for any MCP-compatible HTTP client):
MCP_MODE=true uvicorn server:app --host 0.0.0.0 --port 8000
Exposes a single MCP endpoint at /mcp:
POST /mcp— JSON-RPC 2.0 dispatch (initialize,tools/list,tools/call); responds as SSE or JSON depending on clientAcceptheaderGET /mcp— SSE stream for server-initiated messages / keepalive
MCP stdio mode (for Claude Desktop and any MCP-compatible host):
python server.py
Run the client:
streamlit run client.py
Connecting to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"SimpleMCP": {
"command": "/absolute/path/to/SimpleMCP/venv/python.exe",
"args": ["/absolute/path/to/server.py"],
"env": {"TAVILY_API_KEY": "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"}
}
}
}
Claude Desktop will spawn server.py as a child process and communicate over stdin/stdout using MCP JSON-RPC 2.0.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.