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 "Install 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: MCP Server Fetch TypeScript
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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.