SimpleMCP

SimpleMCP

A lightweight MCP server that auto-discovers tool kits, enabling tools like SQLite queries and web searches via Tavily API.

Category
Visit Server

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. The kits/__init__.py auto-discovers and imports every kit at startup.
  • Registry (utils/registry.py): The @tool decorator registers functions into a global dict. extract_parameters scrapes type hints to build JSON Schema for the tool's I/O.
  • Config (config.py): MCP_MODE flag (default False). Set MCP_MODE=true via 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

  1. Create a file in kits/, e.g. kits/my_kit.py
  2. Import the decorator: from utils import tool
  3. 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"}
  1. 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 client Accept header
  • GET /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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

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.

Official
Featured