Skip to main content
Glama
blazickjp

web-browser-mcp-server

by blazickjp

트위터 팔로우 대장간 배지 파이썬 버전 라이센스: MIT PyPI 다운로드 PyPI 버전

✨ 특징

🌐 AI 도우미가 간단한 MCP 인터페이스를 통해 웹에서 콘텐츠를 탐색하고 추출할 수 있도록 합니다.

웹 브라우저 MCP 서버는 AI 모델이 메시지 제어 프로토콜(MCP)을 통해 웹사이트를 탐색하고, 콘텐츠를 추출하고, 웹 페이지를 이해할 수 있도록 지원합니다. CSS 선택자와 강력한 오류 처리를 통해 스마트한 콘텐츠 추출을 지원합니다.

🤝 기여 • 📝 버그 신고

Related MCP server: mcp-web-tools

✨ 핵심 기능

  • 🎯 스마트 콘텐츠 추출 : CSS 선택기를 사용하여 필요한 것을 정확하게 타겟팅하세요

  • ⚡ 번개같이 빠른 속도 : 최적의 성능을 위해 비동기 처리로 구축됨

  • 📊 풍부한 메타데이터 : 제목, 링크 및 구조화된 콘텐츠 캡처

  • 🛡️ 견고하고 안정적 : 내장된 오류 처리 및 시간 초과 관리 기능

  • 🌍 크로스 플랫폼 : Python이 실행되는 모든 곳에서 작동

🚀 빠른 시작

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 웹 브라우저 서버를 자동으로 설치하려면:

지엑스피1

수동 설치

uv를 사용하여 설치:

uv tool install web-browser-mcp-server

개발을 위해:

# Clone and set up development environment
git clone https://github.com/blazickjp/web-browser-mcp-server.git
cd web-browser-mcp-server

# Create and activate virtual environment
uv venv
source .venv/bin/activate

# Install with test dependencies
uv pip install -e ".[test]"

🔌 MCP 통합

MCP 클라이언트 구성 파일에 다음 구성을 추가하세요.

{
    "mcpServers": {
        "web-browser-mcp-server": {
            "command": "uv",
            "args": [
                "tool",
                "run",
                "web-browser-mcp-server"
            ],
            "env": {
                "REQUEST_TIMEOUT": "30"
            }
        }
    }
}

개발을 위해:

{
    "mcpServers": {
        "web-browser-mcp-server": {
            "command": "uv",
            "args": [
                "--directory",
                "path/to/cloned/web-browser-mcp-server",
                "run",
                "web-browser-mcp-server"
            ],
            "env": {
                "REQUEST_TIMEOUT": "30"
            }
        }
    }
}

💡 사용 가능한 도구

이 서버는 강력한 웹 브라우징 도구를 제공합니다.

웹페이지 탐색

선택적인 CSS 선택기를 사용하여 웹 페이지에서 콘텐츠를 탐색하고 추출합니다.

# Basic webpage fetch
result = await call_tool("browse_webpage", {
    "url": "https://example.com"
})

# Target specific content with CSS selectors
result = await call_tool("browse_webpage", {
    "url": "https://example.com",
    "selectors": {
        "headlines": "h1, h2",
        "main_content": "article.content",
        "navigation": "nav a"
    }
})

⚙️ 구성

환경 변수를 통해 구성:

변하기 쉬운

목적

기본

REQUEST_TIMEOUT

웹페이지 요청 시간 초과(초)

30

🧪 테스트

테스트 모음을 실행합니다.

python -m pytest

📄 라이센스

MIT 라이선스에 따라 배포됩니다. 자세한 내용은 라이선스 파일을 참조하세요.


Pear Labs 팀이 ❤️로 만들었습니다

Available Tools

1 tool
browse_webpageC

Extract content from a webpage with optional CSS selectors for specific elements

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the webpage to browse
selectorsNoOptional CSS selectors to extract specific content

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool extracts content but fails to describe critical behaviors such as error handling (e.g., invalid URLs, network issues), performance traits (e.g., timeouts, rate limits), or output format. This leaves significant gaps in understanding how the tool operates beyond its basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more informative without sacrificing brevity. The structure is clear and direct, earning a high score for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (web scraping with optional selectors), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'content' includes (e.g., text, links, structure), how selectors are applied, or potential limitations (e.g., JavaScript-rendered content). This leaves the agent with insufficient context for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('url' and 'selectors') adequately. The description adds minimal value by mentioning 'optional CSS selectors for specific elements,' which aligns with the schema but doesn't provide additional syntax, examples, or constraints. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Extract') and resource ('content from a webpage'), and mentions optional CSS selectors for refinement. It distinguishes the tool's core function effectively, though without sibling tools, differentiation isn't applicable. However, it lacks specificity about what 'content' entails (e.g., text, HTML, metadata), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or limitations. It mentions optional CSS selectors but doesn't explain when they are beneficial or necessary. With no sibling tools, context for usage is minimal, but the absence of any usage context results in a low score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedbrowse_webpage

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap with other tools. The tool's purpose is clearly defined as extracting webpage content with optional element selection.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern (browse_webpage). Since there are no other tools to compare against, consistency is inherently perfect.

Tool Count2/5

A single tool for a web browser server is too minimal for the apparent scope. Basic web interactions like navigation, clicking, form filling, or handling multiple tabs are missing, making the server feel incomplete and limiting for agents.

Completeness2/5

The server is severely incomplete for a web browser domain. It only offers content extraction, lacking essential operations such as navigation, interaction with page elements, or session management, which are critical for typical web automation tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables web browsing capabilities for locally served LLMs through URL text fetching, link extraction, and web search using Brave and DuckDuckGo engines. Designed to enhance LLMs with real-time web access through the MCP protocol.
    MIT