Local Utilities
Fornece ferramentas utilitárias essenciais para processamento de texto, operações de arquivos e tarefas do sistema.
Documentação
🛠️ Servidor MCP de Utilitários Locais
Um servidor completo de Model Context Protocol (MCP) construído com FastMCP que fornece ferramentas utilitárias essenciais para processamento de texto, operações de arquivo, tarefas do sistema e muito mais.
🌟 Recursos
🌡️ Conversão de Temperatura
- Converter entre Celsius e Fahrenheit
- Cálculos de alta precisão com 2 casas decimais
📁 Operações de Arquivo
- Ler arquivos de texto com exibição de conteúdo completo
- Escrever conteúdo em arquivos com criação automática de diretórios
- Listar conteúdos de diretórios com tamanhos de arquivo e ícones
🔐 Segurança e Hash
- Calcular hashes MD5, SHA1, SHA256
- Aplicar hash a strings de texto ou conteúdos de arquivos inteiros
- Base64 codificação e decodificação
📊 Análise de Texto
- Contar palavras, caracteres e linhas
- Calcular estatísticas detalhadas de texto
- Média de palavras por linha e caracteres por palavra
🕒 Data e Hora
- Obter informações atuais de data e hora
- Formatação personalizada com Python strftime
- Discriminação detalhada (ano, mês, dia, dia da semana, etc.)
🔑 Geração de Senhas
- Gerar senhas seguras com opções personalizáveis
- Controlar comprimento e conjuntos de caracteres
- Incluir/excluir maiúsculas, minúsculas, números, símbolos
🚀 Início Rápido
Pré-requisitos
- Python 3.8 ou superior
- Cliente MCP compatível (LM Studio, Claude Desktop, etc.)
Instalação
-
Clone o repositório:
git clone https://github.com/aiforhumans/local-utils-mcp.git cd local-utils-mcp -
Crie e ative um ambiente virtual:
python -m venv .venv # Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate -
Instale as dependências:
pip install -r requirements.txt
Executando o Servidor
Inicie o servidor MCP:
python server.py
O servidor roda no transporte stdio por padrão, que é compatível com a maioria dos clientes MCP.
🔧 Configuração
Integração com LM Studio
Adicione esta configuração ao seu arquivo mcp.json do LM Studio:
{
"mcpServers": {
"local-utils": {
"command": "python",
"args": ["path/to/your/server.py"],
"env": {}
}
}
}
Integração com Claude Desktop
Adicione à sua configuração do Claude Desktop:
{
"mcpServers": {
"local-utils": {
"command": "python",
"args": ["path/to/your/server.py"]
}
}
}
📖 Referência da API
Ferramentas Disponíveis
convert_temp(value: float, unit: str)
Converter temperatura entre Celsius e Fahrenheit.
Parâmetros:
value: Valor da temperatura a converterunit: "C" para Celsius para Fahrenheit, "F" para Fahrenheit para Celsius
Exemplo:
convert_temp(25, "C") → "77.00 °F"
convert_temp(77, "F") → "25.00 °C"
read_file(file_path: str)
Ler e retornar o conteúdo de um arquivo de texto.
Parâmetros:
file_path: Caminho absoluto ou relativo para o arquivo
Retorna: Conteúdo do arquivo com informações do caminho
write_file(file_path: str, content: str)
Escrever conteúdo em um arquivo de texto com criação automática de diretórios.
Parâmetros:
file_path: Caminho onde escrever o arquivocontent: Conteúdo de texto a escrever
list_directory(directory_path: str = ".")
Listar conteúdos de um diretório com tamanhos de arquivos.
Parâmetros:
directory_path: Caminho para o diretório (padrão: diretório atual)
Retorna: Lista formatada com ícones de arquivos/pastas e tamanhos
calculate_hash(text_or_path: str, hash_type: str = "sha256", is_file: bool = False)
Calcular hash criptográfico de texto ou conteúdo de arquivo.
Parâmetros:
text_or_path: String de texto ou caminho de arquivo para aplicar hashhash_type: "md5", "sha1" ou "sha256" (padrão)is_file: Defina comotrueao aplicar hash em um arquivo
base64_encode_decode(text: str, operation: str = "encode")
Codificar ou decodificar texto usando Base64.
Parâmetros:
text: Texto para codificar/decodificaroperation: "encode" ou "decode"
get_datetime_info(format_string: str = "%Y-%m-%d %H:%M:%S")
Obter informações abrangentes de data e hora atuais.
Parâmetros:
format_string: String de formato strftime do Python para formatação personalizada
text_stats(text: str)
Calcular estatísticas detalhadas para o texto fornecido.
Parâmetros:
text: Texto para analisar
Retorna: Linhas, palavras, caracteres e médias
generate_password(length: int = 12, include_uppercase: bool = True, include_lowercase: bool = True, include_numbers: bool = True, include_symbols: bool = False)
Gerar uma senha aleatória segura.
Parâmetros:
length: Comprimento da senha (padrão: 12)include_uppercase: Incluir A-Z (padrão: verdadeiro)include_lowercase: Incluir a-z (padrão: verdadeiro)include_numbers: Incluir 0-9 (padrão: verdadeiro)include_symbols: Incluir caracteres especiais (padrão: falso)
🧪 Teste
Execute o conjunto de testes para verificar a funcionalidade:
python test.py
Isso testará todas as funções principais e verificará se o servidor pode ser importado corretamente.
🔨 Desenvolvimento
Adicionando Novas Ferramentas
Para estender o servidor com ferramentas adicionais:
- Crie uma nova função com o decorador
@mcp.tool():
@mcp.tool(
description="Your tool description here"
)
async def your_new_tool(param1: str, param2: int = 10) -> str:
"""
Your tool implementation.
Args:
param1: Description of parameter 1
param2: Description of parameter 2 with default value
Returns:
String result of the tool operation
"""
try:
# Your tool logic here
result = f"Processed {param1} with value {param2}"
return result
except Exception as e:
return f"Error: {str(e)}"
- Adicione tratamento de erros adequado e mensagens de retorno significativas
- Atualize o README com documentação para sua nova ferramenta
- Teste sua ferramenta para garantir que funcione corretamente
Estrutura do Projeto
local-utils-mcp/
├── server.py # Main MCP server
├── requirements.txt # Python dependencies
├── README.md # This file
├── .gitignore # Git ignore rules
├── test.py # Test suite
└── .venv/ # Virtual environment (not in git)
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, por favor abra uma issue primeiro para discutir o que gostaria de alterar.
- Faça um fork do repositório
- Crie sua branch de recursos (
git checkout -b feature/AmazingFeature) - Faça commit de suas alterações (
git commit -m 'Add some AmazingFeature') - Envie para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📋 Requisitos
- Python 3.8+
- FastMCP 2.9.0+
- MCP 1.9.4+
Veja requirements.txt para a lista completa de dependências.
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
🔗 Projetos Relacionados
- FastMCP - O framework FastMCP usado para construir este servidor
- Model Context Protocol - Documentação oficial do MCP
- LM Studio - Cliente MCP popular para modelos de IA locais
⭐ Suporte
Se você achar este projeto útil, considere dar uma estrela no GitHub!
Feito com ❤️ para a comunidade MCP