DevTools-BR MCP Server

DevTools-BR MCP Server

MCP server for generating and validating Brazilian documents (CPF, CNPJ, CNH, RG, PIS/PASEP, RENAVAM), encoding/decoding data (Base64, MD5, SHA1, URL), and performing text utilities like removing accents, reversing, and analyzing text.

Category
访问服务器

README

DevTools BR

API REST e servidor MCP com geradores, validadores, encoders e utilitários de texto inspirados no 4Devs.

O código de produção não chama o 4Devs. O projeto implementa os algoritmos localmente e usa o 4Devs apenas em testes de compatibilidade via browser, quando o oracle é ativado de forma explícita.

O que o projeto entrega

  • Geração e validação de documentos brasileiros: CPF, CNPJ, CNH, RG, PIS/PASEP e RENAVAM.
  • Encoders e decoders: Base64, MD5, SHA1 e URL encode/decode.
  • Ferramentas de texto: remover acentos, inverter texto e analisar contagens.
  • API REST v1 para uso por aplicações HTTP.
  • Servidor MCP v1 para uso por clientes compatíveis com Model Context Protocol.
  • Testes locais determinísticos e testes oracle opcionais contra o 4Devs via Playwright.

Requisitos

  • Node.js 20 ou superior.
  • npm.
  • Docker e Docker Compose, se quiser rodar em containers.

Instalação

npm install

REST

Inicie a API REST em desenvolvimento:

npm run dev:rest

Por padrão, a API escuta em http://127.0.0.1:3000.

Exemplo:

curl -s http://127.0.0.1:3000/api/generators/cpf \
  -H 'content-type: application/json' \
  -d '{"formatted":true,"state":"SP","seed":"demo"}'

Resposta:

{
  "cpf": "12345678909",
  "formatted": "123.456.789-09",
  "valid": true
}

seed torna a geração determinística. Use esse campo em testes para obter sempre o mesmo resultado.

Endpoints REST

Todos os endpoints usam POST e recebem JSON.

Endpoint Entrada Saída
/api/generators/cpf formatted, state, seed cpf, formatted, valid
/api/validators/cpf value cpf, formatted, valid, message
/api/generators/cnpj formatted, format, seed cnpj, formatted, format, valid
/api/validators/cnpj value cnpj, formatted, format, valid, message
/api/generators/cnh seed cnh, valid
/api/validators/cnh value cnh, valid, message
/api/generators/rg formatted, seed rg, formatted, valid
/api/validators/rg value rg, formatted, valid, message
/api/generators/pis-pasep formatted, seed pisPasep, formatted, valid
/api/validators/pis-pasep value pisPasep, formatted, valid, message
/api/generators/renavam seed renavam, valid
/api/validators/renavam value renavam, valid, message
/api/encoders/base64/encode text encoded
/api/encoders/base64/decode base64 decoded
/api/encoders/md5 text md5
/api/encoders/sha1 text sha1
/api/encoders/url/encode text encoded
/api/encoders/url/decode url decoded
/api/text/remove-accents text text
/api/text/reverse text text
/api/text/analyze text characters, charactersWithoutSpaces, words, spaces, lines, vowels, consonants

No v1, format: "alphanumeric" para CNPJ é rejeitado. A implementação atual gera CNPJ numérico.

Erros REST

Erros retornam um envelope estável:

{
  "error": {
    "code": "invalid_parameter",
    "message": "Invalid request",
    "field": "state"
  }
}

Códigos comuns:

  • invalid_parameter: payload inválido ou parâmetro fora do domínio aceito.
  • invalid_input: entrada malformada, como Base64 inválido.
  • internal_error: falha inesperada.

MCP

O projeto expõe as mesmas operações via MCP.

Para rodar via stdio:

npm run dev:mcp:stdio

Para rodar via Streamable HTTP:

npm run dev:mcp:http

Por padrão, o endpoint HTTP escuta em:

http://127.0.0.1:3001/mcp

Ferramentas MCP disponíveis:

  • generate_cpf, validate_cpf
  • generate_cnpj, validate_cnpj
  • generate_cnh, validate_cnh
  • generate_rg, validate_rg
  • generate_pis_pasep, validate_pis_pasep
  • generate_renavam, validate_renavam
  • encode_base64, decode_base64
  • encode_md5, encode_sha1
  • encode_url, decode_url
  • remove_text_accents, reverse_text, analyze_text

Recursos MCP disponíveis:

  • devs-clone://catalog/tools
  • devs-clone://schemas/rest-v1
  • devs-clone://schemas/mcp-v1
  • devs-clone://reference/states
  • devs-clone://reference/algorithms

Docker

Suba a API REST e o MCP HTTP com Docker Compose:

docker compose up --build

O Compose publica:

  • REST: http://127.0.0.1:3000
  • MCP HTTP: http://127.0.0.1:3001/mcp

Serviços:

  • rest: executa npm run start:rest.
  • mcp-http: executa npm run start:mcp:http.

Build de produção

Compile o TypeScript:

npm run build

Depois rode os entrypoints compilados:

npm run start:rest
npm run start:mcp:http

Variáveis úteis:

  • HOST: host da API REST. Padrão: 127.0.0.1.
  • PORT: porta da API REST. Padrão: 3000.
  • MCP_HTTP_HOST: host do MCP HTTP. Padrão: HOST ou 127.0.0.1.
  • MCP_HTTP_PORT: porta do MCP HTTP. Padrão: 3001.

Testes

Rode a suíte local:

npm run typecheck
npm run test

Rode grupos específicos:

npm run test:unit
npm run test:rest
npm run test:mcp

Os testes oracle via browser ficam desativados por padrão:

npm run test:oracle

Para comparar fluxos reais com o 4Devs, ative o oracle:

RUN_4DEVS_ORACLE=1 npm run test:oracle

Esses testes dependem da rede e da interface atual do 4Devs. Use-os como referência de compatibilidade, não como dependência de produção.

Estrutura

src/domain      Algoritmos e regras de domínio
src/schemas     Schemas de entrada e saída
src/services    Casos de uso v1
src/rest        Servidor REST
src/mcp         Servidor MCP
tests/domain    Testes unitários de domínio
tests/rest      Testes da API REST
tests/mcp       Testes do MCP
tests/oracle    Testes opcionais contra o 4Devs via browser

Escopo atual

O v1 cobre uma parte selecionada do 4Devs: documentos brasileiros, encoders e ferramentas de texto. O objetivo é expandir esse contrato aos poucos, mantendo entradas, saídas e testes claros antes de adicionar novas ferramentas.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选