Basic MCP Tools
Provides private web search through a bundled SearXNG instance, returning titles, URLs, and snippets.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Basic MCP Tools
A small, self-hosted MCP (Model Context Protocol) server that gives your LLM a few essential tools: private web search, web page fetching, current weather, the current date/time, and a simple wait/sleep. It ships with its own SearXNG instance via Docker Compose, so search stays local and doesn't require any API keys.
Tools
Tool | Description |
| Search the web through the bundled SearXNG instance. Returns titles, URLs, and snippets. |
| Fetch a URL and return its cleaned, readable text (scripts, nav, footers, etc. stripped out). |
| Get the current date ( |
| Get the current local time with timezone. |
| Get the current weather for a town or city via Open-Meteo (no API key needed). |
| Pause for a given number of seconds (max 60) before returning, sending progress updates each second. Useful when the model needs to wait before retrying or rechecking something; for longer waits it can call the tool again. |
Related MCP server: searxng-mcp
Quick start (Docker Compose)
Requires Docker with the Compose plugin.
git clone https://github.com/Tyguy047/Basic-MCP-Tools.git
cd Basic-MCP-Tools
docker compose up -d --buildThis starts two containers:
searxng — the search backend. It is only reachable from inside the Compose network (not published to your host).
basic-mcp-tools — the MCP server, listening on port 8080 using the streamable HTTP transport.
The MCP endpoint is:
http://localhost:8080/mcpConnect a client
Any MCP client that supports streamable HTTP will work. For example, with Claude Code:
claude mcp add --transport http basic-tools http://localhost:8080/mcpOr in a JSON-based client config:
{
"mcpServers": {
"basic-tools": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}Configuration
Timezone —
get_date/get_timeuse the container's timezone. SetTZindocker-compose.yml(defaults toAmerica/New_York).SearXNG — settings live in
searxng/settings.yml. The one requirement for thesearchtool is that thejsonoutput format stays enabled. The container generates a randomSEARXNG_SECRETon each start.Search backend location — the MCP server finds SearXNG through the
SEARXNG_IPandSEARXNG_PORTenvironment variables (set indocker-compose.yml).Wait limit —
waitis capped at 60 seconds so it finishes before most MCP clients' tool-call timeouts. To change it, editMAX_WAITinfunctions/wait.pyand the number in its docstring (that's what the model sees).Weather units —
get_weatherreports imperial units (°F, mph, in) by default. SetWEATHER_UNITStometricindocker-compose.ymlfor °C, km/h, and mm.
Running without Docker
You can run the server directly if you point it at an existing SearXNG instance (one with the json format enabled):
pip install -r requirements.txt
export SEARXNG_IP=<searxng-host>
export SEARXNG_PORT=<searxng-port>
python main.pyThe server listens on 0.0.0.0:8080. Python 3.14 is used in the Docker image; other recent versions should work too.
Project layout
main.py # FastMCP server; registers the tools
functions/
searxng.py # search — queries SearXNG's JSON API
fetch.py # fetch_page — httpx + BeautifulSoup text extraction
date.py # get_date
time.py # get_time
weather.py # get_weather — Open-Meteo geocoding + forecast
wait.py # wait — sleeps for the requested number of seconds
searxng/settings.yml # SearXNG config (enables JSON output)
docker-compose.yml # searxng + mcp-tools services
Dockerfile # Python 3.14 slim image for the MCP serverNotes
The server is unauthenticated and intended for local or trusted-network use. Don't expose port 8080 to the public internet as-is.
Adding a new tool is two steps: write a function in
functions/(its docstring becomes the tool description) and register it inmain.pywithmcp.tool()(your_function).
This server cannot be deployed
Maintenance
Related MCP Connectors
Web search API and MCP server for developers building AI agents.
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that integrates with the SearXNG API to provide comprehensive web search capabilities with features like time filtering, language selection, and safe search. It also enables users to fetch and convert web content from specific URLs into markdown format.262 npm4MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps a local SearXNG instance to provide private, customizable web search capabilities. It enables AI assistants to perform queries with support for specific parameters like results limits, language, and time ranges.156 npmMIT
- AlicenseAqualityBmaintenanceA self-hosted MCP server providing web search and URL fetching tools, running locally without external API keys or accounts.2610 npmMIT
- FlicenseAqualityDmaintenanceMCP server that provides a search_web tool to query a self-hosted SearXNG instance and return structured web search results.1-