Simple MCP Tool Server
Provides a website fetching tool using the MCP Python SDK, allowing AI agents to retrieve and process web content using a simple 'fetch' tool with a URL parameter.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Simple MCP Tool Serverfetch the content from https://example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Simple MCP Tool Server
A simple MCP server that exposes a website fetching tool using SSE transport.
Requirements
Python 3.10 or higher (tested on Python 3.13)
Related MCP server: Fetcher MCP
Installation
# Create a virtual environment
python3 -m venv venv
# Activate the virtual environment
source venv/bin/activate
# Install the package and dependencies
pip install -r requirements.txtMCP Python SDK Documentation
The MCP Python SDK documentation has been split into smaller files and organized in the docs/ directory. This structure makes it easier for AI agents to navigate and understand the SDK. The documentation covers:
Core concepts (servers, resources, tools, etc.)
Running MCP servers in different modes
Examples and advanced usage
And more!
Usage
The package provides a command-line interface (CLI) with several commands to manage the MCP server:
Starting the server
Start the server on the default port (7000) or specify a custom port:
# Using default port (7000)
python -m mcp_simple_tool start
# Using custom port
python -m mcp_simple_tool start --port 8000Managing the server
# Check if server is running
python -m mcp_simple_tool check [--port PORT]
# Stop the server
python -m mcp_simple_tool stop [--port PORT]
# Restart the server (stop and start)
python -m mcp_simple_tool restart [--port PORT]The restart command will:
Stop any existing server on the specified port
Start a new server in the background
Wait until the server is responsive
Log output to server.log
CLI quick reference
Command | Purpose |
| Start the server |
| Stop the server |
| Health-check |
| Stop & start |
Server Tools
The server exposes the following tools:
fetch: Remote HTTP fetcher – give an absolute URL; returns page text.
url: The URL of the website to fetch (required)
search_docs: Semantic search across SDK documentation; returns top-k excerpts.
query: Search phrase or question (required)k: Number of top matches to return (optional, default = 3)
get_content: Get the full local file for any match returned by
search_docs.file: Path relative to docs (required)
Development Setup
For development, install additional tools:
pip install -e .
pip install -r requirements.txtUse the Makefile for common tasks:
# Format code
make fmt
# Run linters
make lint
# Run tests
make testThe test suite has a built-in 20-second timeout for all tests to prevent hanging, especially with SSE endpoints. For individual tests, a more strict timeout can be specified using the @pytest.mark.timeout(seconds) decorator.
Semantic Search Index
For the search_docs tool, you can manually build or rebuild the vector index:
# Build or rebuild the semantic search index
python scripts/build_doc_index.pyThe index is built automatically on first tool use if it doesn't exist.
Project Architecture
mcp_simple_tool/
__init__.py # Package initialization
__main__.py # Entry point when run as module
cli.py # Command-line interface
server/ # Server implementation
__init__.py # Server package initialization
app.py # ASGI application setup
config.py # Configuration settings
handlers.py # Tool implementations
http.py # HTTP utilities
semantic_search/ # Semantic search functionality
__init__.py # Package initialization
indexing.py # Build and persist vector store
search.py # Load index and query helpersUsing with Cursor
This MCP server can be used with Cursor as a client. For setup:
Run the server in a terminal:
source venv/bin/activate
python -m mcp_simple_tool start
# or use the restart command
python -m mcp_simple_tool restartConfigure Cursor by creating a
.cursor/mcp.jsonfile:
{
"mcpServers": {
"website-fetcher-sse": {
"url": "http://localhost:7000/sse"
}
}
}Mention the server in your prompts when using Cursor
This server cannot be deployed
Maintenance
Related MCP Connectors
A simple tool that performs a fetch request to a webpage.
MCP server (stdio): fetch web pages as clean readable markdown via the AgentForge API
Fetch any public web page through managed proxies, with optional JS rendering and extraction rules.
Free remote MCP server for fetching public web pages through a rotating proxy pool.
Related MCP Servers
- AlicenseCqualityBmaintenanceA simple MCP server that facilitates website fetching through a configurable server platform using stdio or SSE transport, allowing integration with tools like Cursor for streamlined access.238MIT
- -licenseCqualityNot gradedmaintenanceA server that allows fetching web page content using Playwright headless browser with AI-powered capabilities for efficient information extraction.23,693 npm7-
- FlicenseNot gradedqualityDmaintenanceA server for Model Context Protocol (MCP) that uses Server-Sent Events (SSE) for streaming communication, enabling tools like the HackerNews API to be accessed through a secure HTTP+SSE transport.29-
- FlicenseNot gradedqualityFmaintenanceA lightweight MCP server implementation that provides a simple tool for fetching website content, demonstrating how tools can be exposed and interacted with using the MCP protocol.-