cadastrar_cliente
Register a new customer in the system by providing mandatory CPF and name, plus optional details and address.
Instructions
Cadastra um novo cliente no sistema. O campo CPF é obrigatório. Se o usuário não fornecer, solicite um CPF (pode ser um gerado para testes).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nome | Yes | ||
| cpf | Yes | ||
| info | Yes | ||
| endereco | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- server.py:11-18 (handler)The MCP tool handler for 'cadastrar_cliente'. Decorated with @mcp.tool(), it accepts nome, cpf, info, and optional endereco, and delegates to database.salvar_novo() to insert a new client record.
@mcp.tool() def cadastrar_cliente(nome: str, cpf: str, info: str, endereco: str = "") -> str: """ Cadastra um novo cliente no sistema. O campo CPF é obrigatório. Se o usuário não fornecer, solicite um CPF (pode ser um gerado para testes). """ return database.salvar_novo("clientes", nome=nome, cpf=cpf, info=info, endereco=endereco) - server.py:11-12 (registration)Tool registration via @mcp.tool() decorator. The FastMCP instance 'mcp' (defined on line 6) registers 'cadastrar_cliente' as an MCP tool by virtue of this decorator annotation.
@mcp.tool() def cadastrar_cliente(nome: str, cpf: str, info: str, endereco: str = "") -> str: - server.py:12-18 (schema)The function signature defines the input schema: nome (str), cpf (str), info (str), and optional endereco (str, defaults to empty). The return type is str.
def cadastrar_cliente(nome: str, cpf: str, info: str, endereco: str = "") -> str: """ Cadastra um novo cliente no sistema. O campo CPF é obrigatório. Se o usuário não fornecer, solicite um CPF (pode ser um gerado para testes). """ return database.salvar_novo("clientes", nome=nome, cpf=cpf, info=info, endereco=endereco) - database.py:17-26 (helper)The database.salvar_novo() helper function that inserts a row into the specified table using keyword arguments as column/value pairs.
def salvar_novo(tabela, **kwargs): conn = sqlite3.connect(DB_NAME) cursor = conn.cursor() colunas = ', '.join(kwargs.keys()) placeholders = ', '.join(['?'] * len(kwargs)) sql = f"INSERT INTO {tabela} ({colunas}) VALUES ({placeholders})" cursor.execute(sql, list(kwargs.values())) conn.commit() conn.close() return f" {tabela.capitalize()} cadastrado com sucesso!"