Playwright Server

Um servidor que fornece ferramentas Playwright para automação de navegador e raspagem web.

Documentação

Servidor MCP playwright-server

\Um servidor MCP com ferramentas playwright\

Playwright Server MCP server

Componentes

Recursos

O servidor implementa um sistema simples de armazenamento de notas com:

  • Esquema de URI personalizado note:// para acessar notas individuais
  • Cada recurso de nota possui nome, descrição e tipo MIME text/plain

Prompts

O servidor fornece um único prompt:

  • summarize-notes: Cria resumos de todas as notas armazenadas
    • Argumento opcional "style" para controlar o nível de detalhe (breve/detalhado)
    • Gera prompt combinando todas as notas atuais com a preferência de estilo

Ferramentas

O servidor implementa as seguintes ferramentas:

  • playwright_navigate: Navega para uma URL especificada. Esta operação criará automaticamente uma nova sessão se não houver sessão ativa.
    • Requer um argumento url (string).
  • playwright_screenshot: Tira uma captura de tela da página atual ou de um elemento específico.
    • Requer um argumento name (string) para o nome do arquivo da captura de tela.
    • Argumento opcional selector (string) para especificar um seletor CSS para o elemento a ser capturado. Se nenhum seletor for fornecido, uma captura de tela de página inteira é tirada.
  • playwright_click: Clica em um elemento na página usando um seletor CSS.
    • Requer um argumento selector (string) para especificar o seletor CSS do elemento a ser clicado.
  • playwright_fill: Preenche um campo de entrada.
    • Requer um argumento selector (string) para especificar o seletor CSS do campo de entrada.
    • Requer um argumento value (string) para especificar o valor a ser preenchido.
  • playwright_evaluate: Executa código JavaScript no console do navegador.
    • Requer um argumento script (string) para especificar o código JavaScript a ser executado.
  • playwright_click_text: Clica em um elemento na página pelo seu conteúdo de texto.
    • Requer um argumento text (string) para especificar o conteúdo de texto do elemento a ser clicado.
  • playwright_get_text_content: Obtém o conteúdo de texto de todos os elementos visíveis.
  • playwright_get_html_content: Obtém o conteúdo HTML da página.
    • Requer um argumento selector (string) para especificar o seletor CSS do elemento.

Configuração

[TODO: Adicionar detalhes de configuração específicos da sua implementação]

Início Rápido

Instalação

Claude Desktop

No MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json No Windows: %APPDATA%/Claude/claude_desktop_config.json

Desenvolvimento/Configuração de Servidores Não Publicados ``` "mcpServers": { "playwright-server": { "command": "uv", "args": [ "--directory", "C:\Users\xxxxx\Documents\project\python\mcp\playwright-server", "run", "playwright-server" ] } } ```
Configuração de Servidores Publicados ``` "mcpServers": { "playwright-server": { "command": "uvx", "args": [ "playwright-server" ] } } ```

Desenvolvimento

Compilação e Publicação

Para preparar o pacote para distribuição:

  1. Sincronizar dependências e atualizar o arquivo de bloqueio:
uv sync
  1. Compilar distribuições do pacote:
uv build

Isso criará distribuições de origem e wheel no diretório dist/.

  1. Publicar no PyPI:
uv publish

Nota: Você precisará definir as credenciais do PyPI por meio de variáveis de ambiente ou flags de comando:

  • Token: --token ou UV_PUBLISH_TOKEN
  • Ou nome de usuário/senha: --username/UV_PUBLISH_USERNAME e --password/UV_PUBLISH_PASSWORD

Depuração

Como os servidores MCP executam via stdio, a depuração pode ser desafiadora. Para a melhor experiência de depuração, recomendamos fortemente usar o MCP Inspector.

Você pode iniciar o MCP Inspector via npm com este comando:

npx @modelcontextprotocol/inspector uv --directory C:\Users\YUNYING\Documents\project\python\mcp\playwright-server run playwright-server

Ao iniciar, o Inspector exibirá uma URL que você pode acessar no seu navegador para começar a depurar.