Web Tools
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
-
Clone this repository:
git clone <repository-url> cd MCP
-
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:
-
Install the MCP Inspector:
npm install -g @modelcontextprotocol/inspector
-
Run the Inspector with your server:
npx @modelcontextprotocol/inspector python server.py
-
Use the Inspector interface to test the
web_scrape
tool by providing a URL likeexample.com
and viewing the returned markdown content.
Integrating with Claude for Desktop
To use this server with Claude for Desktop:
-
Make sure you have Claude for Desktop installed.
-
Open the Claude for Desktop configuration file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Mac:
-
Add the following configuration (adjust the path as needed):
{
"mcpServers": {
"web-tools": {
"command": "python",
"args": [
"/absolute/path/to/MCP/server.py"
]
}
}
}
-
Restart Claude for Desktop.
-
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:
-
Create a new Python file in the
tools/
directory, e.g.,tools/new_tool.py
. -
Implement your tool function, following a similar pattern to the existing tools.
-
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)
- 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
- Start the Streamlit app
- Enter the path to your Claude for Desktop configuration file (default path is pre-filled)
- Click "Load Servers" to see all available MCP servers
- Select a server tab and click "Connect" to load its tools
- Select a tool and provide the required parameters
- 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.