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.
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_cpfgenerate_cnpj,validate_cnpjgenerate_cnh,validate_cnhgenerate_rg,validate_rggenerate_pis_pasep,validate_pis_pasepgenerate_renavam,validate_renavamencode_base64,decode_base64encode_md5,encode_sha1encode_url,decode_urlremove_text_accents,reverse_text,analyze_text
Recursos MCP disponíveis:
devs-clone://catalog/toolsdevs-clone://schemas/rest-v1devs-clone://schemas/mcp-v1devs-clone://reference/statesdevs-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: executanpm run start:rest.mcp-http: executanpm 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:HOSTou127.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
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。