4Devs MCP服务器
  ](https://nodejs.org/) ](https://www.docker.com/)
MCP(模型上下文协议)服务器,与 4Devs API 集成,用于生成用于测试和开发的有效巴西文档和数据。
📋 概览
4Devs MCP Server 通过 MCP 协议提供对 4Devs API 的编程访问,允许 AI 助手和其他工具管理逼真的巴西数据,包括:
- 完整的个人资料姓名,年龄,文件,地址,联系人
- 有效的巴西文件CPF, RG, CNH, PIS, 证书, 选民头衔
- 地理数据巴西:有有效代码的州和城市
- 批量生成每个请求最多 30 条记录
- 高级自定义性别、年龄、位置和格式控制
🚀 通过远程软件包快速安装
您可以直接在 Claude Desktop 上使用 4Devs MCP Server,而无需通过远程软件包克隆仓库。 npx (GitHub软件包)或 码头工人 (GitHub容器注册表)。
Método 1:通过GitHub包进行NPX
添加到 Claude Desktop 配置文件 :
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"4devs": {
"command": "npx",
"args": ["-y", "@edum-compassuol/4devs-mcp-server"]
}
}
}备注此软件包已发布到 GitHub Package Registry。如果是私有包,则需要使用您的 GitHub 令牌设置 npm 身份验证。
配置身份验证( 如果需要)
如果包是私有的,创建/编辑文件 ~/.npmrc:
//npm.pkg.github.com/:_authToken=SEU_GITHUB_TOKEN
@edum-compassuol:registry=https://npm.pkg.github.comMétodo 2:Docker通过GitHub容器注册表(GHCR)
{
"mcpServers": {
"4devs": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/edum-compassuol/4devs-mcp-server:latest"]
}
}
}备注如果 Docker 映像是私有的,您需要先登录 GHCR: ``bash echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin ``检查安装
添加配置后:
- 重新设计克劳德桌面
- 检查 MCP 服务器列表中的“ 4devs” 服务器
- 测试一个简单的工具,如
gerar_cnh确认它正在工作
✨ 可用工具
1 。🧑 生成_人
使用有效文件生成巴西人的完整数据。
特点:
- 按需生成1至30人
- 可自定义格式的文档(带/不带分号)
- 按性别、年龄和位置过滤器
- 完整数据:姓名,CPF,RG,地址,联系人,物理特征
使用案例:
- Cadastro系统测试
- 发展数据库人口
- 表单验证
- 产品展示
2 。🏙️ 加载_城市
列出巴西州的所有城市及其代码。
特点:
- 返回每个城市的代码和名称
- 支持巴西所有27个州
- 已更新和验证的数据
使用案例:
- 填写城市下拉列表
- 地址校验
- 与物流系统集成
3.📜 gerador_certidao
生成有效的巴西证书编号 。
支持类型:
- 出生证明
- 结婚证书
- 宗教婚姻证书
- 奥比托证书
使用案例:
- 纸张系统测试
- 文档校验
- 模拟法律程序
4.🚗 St_rech
生成有效的 CNH(国家资格证)号码。
特点:
- 带正确校验数字的数字
- 巴西标准格式
使用案例:
- 交通系统测试
- 启用校验
- 汽车租赁系统
5.💼 杰拉尔皮斯
GERA有效的PIS/PASEP/NIS号码。
特点:
- 带正确校验数字的数字
- 可自定义格式(带/不带分号)
使用案例:
- RH系统测试
- 支付单验证
- 福利制度
6 。🗳️ 产生选民标题
GERA有效的Eleitor标题号。
特点:
- 特定状态或随机数字
- 选举司法标准格式
使用案例:
- 选举系统测试
- 选民登记验证
- 民事识别系统
🚀 安装
方法1:NPM包(推荐用于开发)
先决条件
- Node.js 18或更高级
- npm瓯纱
安装步骤
# Clone o repositório
git clone https://github.com/seu-usuario/4devs-mcp-server.git
cd 4devs-mcp-server
# Instale as dependências
npm install
# Compile o projeto
npm run buildClaude 桌面配置
添加到 Claude Desktop 配置文件 :
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"4devs": {
"command": "node",
"args": ["/caminho/completo/para/4devs-mcp-server/build/index.js"]
}
}
}方法2:Docker(推荐用于生产)
先决条件
- Docker 20.10或更高级
- Docker Compose(可选)
构建 Docker 图像
# Clone o repositório
git clone https://github.com/seu-usuario/4devs-mcp-server.git
cd 4devs-mcp-server
# Build da imagem
docker build -t 4devs-mcp-server .使用 Docker 运行
# Executar o container
docker run -i --rm 4devs-mcp-server在 Claude Desktop (Docker) 中配置
{
"mcpServers": {
"4devs": {
"command": "docker",
"args": ["run", "-i", "--rm", "4devs-mcp-server"]
}
}
}Docker Compose(可选)
创建文件 docker-compose.yml:
version: '3.8'
services:
4devs-mcp-server:
build: .
image: 4devs-mcp-server
stdin_open: true
tty: true执行com:
docker-compose up方法3:NPX(直接执行)
# Executar diretamente sem instalação
npx 4devs-mcp-serverClaude 桌面 (NPX) 配置 :
{
"mcpServers": {
"4devs": {
"command": "npx",
"args": ["4devs-mcp-server"]
}
}
}⚙️ 高级设置
环境变量
服务器支持以下环境变量 :
# Nível de log (opcional)
LOG_LEVEL=info # debug, info, warn, error
# Timeout de requisições (opcional, em ms)
REQUEST_TIMEOUT=30000环境变量配置
NPM/Node.js:
{
"mcpServers": {
"4devs": {
"command": "node",
"args": ["/caminho/para/build/index.js"],
"env": {
"LOG_LEVEL": "debug"
}
}
}
}Docker:
{
"mcpServers": {
"4devs": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "LOG_LEVEL=debug", "4devs-mcp-server"]
}
}
}📖 详细使用指南
1. 生成人
生成一个或多个巴西人的完整数据。
参数 :
| 参数 | 类型 | 强制性 | 值 | 描述 |
|---|---|---|---|---|
sexo | string | Yes | “H”, “M”, “I” | H=男性, M=女性, I=无关紧要 |
txt_qtde | number | 是 | 1-30 | 人数 |
pontuacao | string | No | “S”, “N” | 在文档中包含标点符号 |
idade | number | No | 0-120 | 特定年龄 (0=随机) |
cep_estado | string | No | UF | 状态缩写(例如:“SP”) |
cep_cidade | number | 否 | 代码 | 城市代码 (通过 load_cities) |
基本例子:
{
"name": "gerar_pessoa",
"arguments": {
"sexo": "I",
"txt_qtde": 1
}
}高级示例(来自佛罗里亚诺波利斯,SC,25岁):
{
"name": "gerar_pessoa",
"arguments": {
"sexo": "M",
"txt_qtde": 1,
"pontuacao": "S",
"idade": 25,
"cep_estado": "SC",
"cep_cidade": 8349
}
}答案 :
[
{
"nome": "Maria Silva Santos",
"idade": 25,
"cpf": "123.456.789-00",
"rg": "12.345.678-9",
"data_nasc": "15/03/1999",
"sexo": "Feminino",
"signo": "Peixes",
"mae": "Ana Silva",
"pai": "José Santos",
"email": "maria.silva@example.com",
"senha": "abc123XYZ",
"cep": "88000-000",
"endereco": "Rua das Flores 123",
"numero": 456,
"bairro": "Centro",
"cidade": "Florianópolis",
"estado": "SC",
"telefone_fixo": "(48) 3234-5678",
"celular": "(48) 98765-4321",
"altura": "1,65",
"peso": 60,
"tipo_sanguineo": "A+",
"cor": "azul"
}
]2. 加载城市
列出巴西一个州的所有城市。
参数 :
| 参数 | 类型 | 强制性 | 值 | 描述 |
|---|---|---|---|---|
cep_estado | string | 是 | UF | 状态缩写 |
支持的国家: AC、AL、AP、AM、BA、CE、DF、ES、GO、MA、MS、MT、MG、PA、PB、PR、PE、PI、RJ、RN、RS、RO、RR、SC、SP、SE、TO
例如:
{
"name": "carregar_cidades",
"arguments": {
"cep_estado": "SC"
}
}答案 :
{
"estado": "SC",
"total_cidades": 295,
"cidades": [
{
"code": 8319,
"name": "Abdon Batista"
},
{
"code": 8349,
"name": "Florianópolis"
},
{
"code": 8542,
"name": "São José"
}
]
}3. 证书生成器
生成巴西证书编号 。
参数 :
| 参数 | 类型 | 强制性 | 值 | 描述 |
|---|---|---|---|---|
pontuacao | string | No | “S”, “N” | 包括标点符号 |
tipo_certidao | string | 否 | 查看下面 | 证书类型 |
证书类型:
nascimento- 出生证明casamento- 结婚证书casamento_religioso宗教婚姻证书obito- 奥比托证书Indiferente- 随机类型( 默认)
例如:
{
"name": "gerador_certidao",
"arguments": {
"tipo_certidao": "nascimento",
"pontuacao": "S"
}
}答案 :
{
"tipo_certidao": "nascimento",
"numero": "123456 01 55 2020 1 12345 678 1234567-89"
}4.CNH Gerar
生成国家资格证(CNH)号码。
参数 : 无
例如:
{
"name": "gerar_cnh",
"arguments": {}
}答案 :
{
"cnh": "12345678901"
}5.Gerar PIS
生成社会融合计划(PIS)号码。
参数 :
| 参数 | 类型 | 强制性 | 值 | 描述 |
|---|---|---|---|---|
pontuacao | string | No | “S”, “N” | 包括标点符号 |
例如:
{
"name": "gerar_pis",
"arguments": {
"pontuacao": "S"
}
}答案 :
{
"pis": "123.45678.90-1"
}6. 生成选民头衔
生成选民头衔号码 。
参数 :
| 参数 | 类型 | 强制性 | 值 | 描述 |
|---|---|---|---|---|
estado | string | 否 | UF | 状态缩写 |
例如:
{
"name": "gerar_titulo_eleitor",
"arguments": {
"estado": "SP"
}
}答案 :
{
"estado": "SP",
"titulo_eleitor": "123456789012"
}🎯 实际使用实例
例1:从弗洛里亚诺波利斯生成5个人
// 1. Primeiro, obter o código de Florianópolis
{
"name": "carregar_cidades",
"arguments": {
"cep_estado": "SC"
}
}
// Resultado: Florianópolis tem código 8349
// 2. Gerar 5 pessoas de Florianópolis com idade entre 20-30
{
"name": "gerar_pessoa",
"arguments": {
"sexo": "I",
"txt_qtde": 5,
"pontuacao": "S",
"idade": 25,
"cep_estado": "SC",
"cep_cidade": 8349
}
}示例 2:为某人生成完整文档
// 1. Gerar dados da pessoa
{
"name": "gerar_pessoa",
"arguments": {
"sexo": "M",
"txt_qtde": 1,
"pontuacao": "S"
}
}
// 2. Gerar CNH
{
"name": "gerar_cnh",
"arguments": {}
}
// 3. Gerar Certidão de Nascimento
{
"name": "gerador_certidao",
"arguments": {
"tipo_certidao": "nascimento",
"pontuacao": "S"
}
}
// 4. Gerar PIS
{
"name": "gerar_pis",
"arguments": {
"pontuacao": "S"
}
}
// 5. Gerar Título de Eleitor
{
"name": "gerar_titulo_eleitor",
"arguments": {
"estado": "SP"
}
}例3:流行的测试数据库
// Gerar 30 pessoas (máximo por requisição)
{
"name": "gerar_pessoa",
"arguments": {
"sexo": "I",
"txt_qtde": 30,
"pontuacao": "N"
}
}🧪 睾丸
本地测试
# Compilar o projeto
npm run build
# Executar script de teste customizado
node test-tools.jsTestar通信MCP检查员
MCP Inspector 是用于交互式测试 MCP 服务器的官方工具。
# Instalar e executar o Inspector
npm run inspectorInspector 将在 http://localhost:6274 在哪里可以:
- 列出所有可用的工具
- 使用自定义参数测试每个工具
- 查看实时答案
- 调试集成问题
使用 Docker 测试
# Build da imagem
docker build -t 4devs-mcp-server .
# Testar a imagem
docker run -i --rm 4devs-mcp-server🏗️ 项目结构
4devs-mcp-server/
├── src/
│ ├── api/
│ │ ├── client.ts # Cliente HTTP para API 4Devs
│ │ └── types.ts # Tipos TypeScript
│ ├── resources/
│ │ └── readme-resource.ts # Resource MCP com documentação
│ ├── schemas/
│ │ └── tool-schemas.ts # Schemas Zod para validação
│ ├── tools/
│ │ ├── gerar-pessoa.ts # Tool: Gerar Pessoa
│ │ ├── carregar-cidades.ts # Tool: Carregar Cidades
│ │ ├── gerador-certidao.ts # Tool: Gerador Certidão
│ │ ├── gerar-cnh.ts # Tool: Gerar CNH
│ │ ├── gerar-pis.ts # Tool: Gerar PIS
│ │ └── gerar-titulo-eleitor.ts # Tool: Gerar Título Eleitor
│ ├── server.ts # Implementação do servidor MCP
│ └── index.ts # Ponto de entrada
├── build/ # Código compilado (gerado)
├── node_modules/ # Dependências (gerado)
├── test-tools.js # Script de testes
├── Dockerfile # Configuração Docker
├── .dockerignore # Arquivos ignorados no Docker
├── package.json # Configuração npm
├── tsconfig.json # Configuração TypeScript
└── README.md # Esta documentação🔧 开发
可用脚本
# Compilar o projeto
npm run build
# Iniciar o servidor (após compilar)
npm start
# Modo desenvolvimento com watch
npm run dev
# Abrir MCP Inspector
npm run inspector
# Limpar arquivos compilados
npm run clean添加新工具
- 创建工具文件 嗯
src/tools/:
import { FourDevsClient } from '../api/client.js';
import { z } from 'zod';
export const minhaNovaFerramenta = {
name: 'minha_nova_ferramenta',
description: 'Descrição da ferramenta',
inputSchema: {
type: 'object',
properties: {
parametro: {
type: 'string',
description: 'Descrição do parâmetro'
}
},
required: ['parametro']
},
async execute(client: FourDevsClient, args: any) {
// Implementação
const result = await client.request({
acao: 'minha_acao',
...args
});
return {
content: [
{
type: 'text',
text: JSON.stringify(result, null, 2)
}
]
};
}
};- 添加 Zod 方案 嗯
src/schemas/tool-schemas.ts:
export const minhaNovaFerramentaSchema = z.object({
parametro: z.string()
});- 在服务器上注册 嗯
src/server.ts:
import { minhaNovaFerramenta } from './tools/minha-nova-ferramenta.js';
// No método setupHandlers(), adicionar:
case minhaNovaFerramenta.name:
return await minhaNovaFerramenta.execute(this.client, request.params.arguments);贡献项目
- Fork 仓库
- 为您的功能创建一个分支 (
git checkout -b feature/nova-feature) - 提交您的更改(
git commit -m 'Adiciona nova feature') - 推动一个分支(
git push origin feature/nova-feature) - Abra um Pull请求
📚 参考资料
🤝 贡献
欢迎捐款!请:
- 创建项目分叉
- 为您的功能创建一个分支 (
git checkout -b feature/nova-feature) - 提交您的更改(
git commit -m 'Adiciona nova feature') - 推动一个分支(
git push origin feature/nova-feature) - Abra um Pull请求
📄 许可证
这个项目是MIT许可的。请参阅许可证文件以了解更多详情。
⚠️ 通知
- 此服务器仅用于测试和开发目的
- 生成的数据是虚构的,但遵循有效的巴西格式
- 不要将生成的数据用于欺诈或非法目的
- 4Devs API 是第三方服务,可能有使用限制
🐛 已知问题
- 4Devs API 可以为某些端点返回不同类型的响应(字符串或对象)
- 请确保使用
responseType: 'text'用于文档终端,以避免转换为科学符号
📞 支撑
对于问题或疑问:
- Abra-uma发布没有GitHub
- 查看 MCP 文档
- 查看 4Devs API 文档
