Simple MCP Tool Server

Integrations

  • 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.

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)

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.txt

MCP 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 8000

Managing 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:

  1. Stop any existing server on the specified port
  2. Start a new server in the background
  3. Wait until the server is responsive
  4. Log output to server.log

CLI quick reference

CommandPurpose
startStart the server
stopStop the server
checkHealth-check
restartStop & 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.txt

Use the Makefile for common tasks:

# Format code make fmt # Run linters make lint # Run tests make test

The 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.py

The 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 helpers

Using with Cursor

This MCP server can be used with Cursor as a client. For setup:

  1. 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 restart
  1. Configure Cursor by creating a .cursor/mcp.json file:
{ "mcpServers": { "website-fetcher-sse": { "url": "http://localhost:7000/sse" } } }
  1. Mention the server in your prompts when using Cursor
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A server that provides a website fetching tool via SSE transport, allowing users to retrieve content from specified URLs.

  1. Requirements
    1. Installation
      1. MCP Python SDK Documentation
        1. Usage
          1. Starting the server
          2. Managing the server
          3. CLI quick reference
        2. Server Tools
          1. Development Setup
            1. Semantic Search Index
          2. Project Architecture
            1. Using with Cursor

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                An advanced web browsing server enabling headless browser interactions via a secure API, providing features like navigation, content extraction, element interaction, and screenshot capture.
                Last updated -
                6
                9
                Python
                MIT License
              • A
                security
                A
                license
                A
                quality
                This server facilitates interaction with cosense/Scrapbox projects, enabling users to retrieve, list, search, and create pages while supporting various query operations and secure access to private projects.
                Last updated -
                4
                12
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                This server enables users to download entire websites and their assets for offline access, supporting configurable depth and concurrency settings.
                Last updated -
                1
                4
                Python
                MIT License
              • A
                security
                A
                license
                A
                quality
                A 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.
                Last updated -
                2
                23
                Python
                MIT License

              View all related MCP servers

              ID: o8qqorghaa