MCP Web Tools Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Converts scraped web content into markdown format for easier processing by Claude

  • Explicitly mentioned as an example website whose content can be fetched and summarized using the web_scrape tool

  • Provides a UI for connecting to and testing MCP servers, including viewing available tools and executing them

MCP Web Tools Server

A Model Context Protocol (MCP) server that provides tools for web-related operations. This server allows LLMs to interact with web content through standardized tools.

Current Tools

  • web_scrape: Converts a URL to use r.jina.ai as a prefix and returns the markdown content

Installation

  1. Clone this repository:
    git clone <repository-url> cd MCP
  2. Install the required dependencies:
    pip install -r requirements.txt
    Alternatively, you can use uv for faster installation:
    uv pip install -r requirements.txt

Running the Server and UI

This repository includes convenient scripts to run either the MCP server or the Streamlit UI.

Using the Run Scripts

On macOS/Linux:

# Run the server with stdio transport (default) ./run.sh server # Run the server with SSE transport ./run.sh server --transport sse --host localhost --port 5000 # Run the Streamlit UI ./run.sh ui

On Windows:

# Run the server with stdio transport (default) run.bat server # Run the server with SSE transport run.bat server --transport sse --host localhost --port 5000 # Run the Streamlit UI run.bat ui

Running Manually

Alternatively, you can run the server directly:

Using stdio (default)

python server.py

Using SSE

python server.py --transport sse --host localhost --port 5000

This will start an HTTP server on localhost:5000 that accepts MCP connections.

And to run the Streamlit UI manually:

streamlit run streamlit_app.py

Testing with MCP Inspector

The MCP Inspector is a tool for testing and debugging MCP servers. You can use it to interact with your server:

  1. Install the MCP Inspector:
    npm install -g @modelcontextprotocol/inspector
  2. Run the Inspector with your server:
    npx @modelcontextprotocol/inspector python server.py
  3. Use the Inspector interface to test the web_scrape tool by providing a URL like example.com and viewing the returned markdown content.

Integrating with Claude for Desktop

To use this server with Claude for Desktop:

  1. Make sure you have Claude for Desktop installed.
  2. Open the Claude for Desktop configuration file:
    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Add the following configuration (adjust the path as needed):
{ "mcpServers": { "web-tools": { "command": "python", "args": [ "/absolute/path/to/MCP/server.py" ] } } }
  1. Restart Claude for Desktop.
  2. You should now see the web_scrape tool available in Claude's interface. You can ask Claude to fetch content from a website, and it will use the tool.

Example Usage

Once integrated with Claude, you can ask questions like:

  • "What's on the homepage of example.com?"
  • "Can you fetch and summarize the content from mozilla.org?"
  • "Get the content from wikipedia.org/wiki/Model_Context_Protocol and explain it to me."

Claude will use the web_scrape tool to fetch the content and provide it in its response.

Adding More Tools

To add more tools to this server:

  1. Create a new Python file in the tools/ directory, e.g., tools/new_tool.py.
  2. Implement your tool function, following a similar pattern to the existing tools.
  3. Import your tool in server.py and register it with the MCP server:
# Import your new tool from tools.new_tool import new_tool_function # Register the tool with the MCP server @mcp.tool() async def new_tool(param1: str, param2: int) -> str: """ Description of what your tool does. Args: param1: Description of param1 param2: Description of param2 Returns: Description of return value """ return await new_tool_function(param1, param2)
  1. Restart the server to apply the changes.

Streamlit UI

This repository includes a Streamlit application that allows you to connect to and test all your MCP servers configured in Claude for Desktop.

Running the Streamlit UI

streamlit run streamlit_app.py

This will start the Streamlit server and open a web browser with the UI.

Features

  • Load and parse your Claude for Desktop configuration file
  • View all configured MCP servers
  • Connect to any server and view its available tools
  • Test tools by providing input parameters and viewing results
  • See available resources and prompts

Usage

  1. Start the Streamlit app
  2. Enter the path to your Claude for Desktop configuration file (default path is pre-filled)
  3. Click "Load Servers" to see all available MCP servers
  4. Select a server tab and click "Connect" to load its tools
  5. Select a tool and provide the required parameters
  6. Click "Execute" to run the tool and see the results

Troubleshooting

  • Missing dependencies: Make sure all dependencies in requirements.txt are installed.
  • Connection issues: Check that the server is running and the configuration in Claude for Desktop points to the correct path.
  • Tool execution errors: Look for error messages in the server output.
  • Streamlit UI issues: Make sure Streamlit is properly installed and the configuration file path is correct.

License

This project is available under the MIT License. See the LICENSE file for more details.

-
security - not tested
A
license - permissive license
-
quality - not tested

A Model Context Protocol server that allows LLMs to interact with web content through standardized tools, currently supporting web scraping functionality.

  1. Current Tools
    1. Installation
      1. Running the Server and UI
        1. Using the Run Scripts
          1. Running Manually
            1. Using stdio (default)
              1. Using SSE
            2. Testing with MCP Inspector
              1. Integrating with Claude for Desktop
                1. Example Usage
                  1. Adding More Tools
                    1. Streamlit UI
                      1. Running the Streamlit UI
                        1. Features
                          1. Usage
                          2. Troubleshooting
                            1. License