🛠️ 本地实用程序MCP服务器
全面 模型上下文协议(MCP) 使用FastMCP构建的服务器,为文本处理、文件操作、系统任务等提供了基本的实用工具。
  
🌟 特性
🌡️ 温度转换
- 在摄氏度和华氏度之间转换
- 具有2位小数的高精度计算
📁 文件操作
- 阅读 具有完整内容显示的文本文件
- 写 通过自动目录创建将内容转换为文件
- 列表 包含文件大小和图标的目录内容
🔐 安全和哈希
- 计算 消息摘要 5, SHA1, 沙256 #号
- 哈希文本字符串或整个文件内容
- Base64 编码与解码
📊 文本分析
- 统计单词、字符和行数
- 计算详细的文本统计信息
- 每行平均单词数和每个单词的字符数
🕒 日期与时间
- 获取当前日期和时间信息
- 使用Python strftime自定义格式
- 详细明细(年、月、日、工作日等)
🔑 密码生成
- 使用可定制的选项生成安全密码
- 控制长度和字符集
- 包含/排除大写、小写、数字、符号
🚀 快速开始
先决条件
- Python 3.8或更高版本
- 兼容的MCP客户端(LM Studio、Claude Desktop等)
安装
- 克隆存储库:
git clone https://github.com/aiforhumans/local-utils-mcp.git
cd local-utils-mcp- 创建并激活虚拟环境:
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate- 安装依赖项:
pip install -r requirements.txt运行服务器
启动MCP服务器:
python server.py服务器运行在 stdio 默认情况下,它与大多数MCP客户端兼容。
🔧 配置
LM工作室集成
将此配置添加到LM Studio mcp.json 文件:
{
"mcpServers": {
"local-utils": {
"command": "python",
"args": ["path/to/your/server.py"],
"env": {}
}
}
}Claude桌面集成
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"local-utils": {
"command": "python",
"args": ["path/to/your/server.py"]
}
}
}📖 api参考
可用工具
convert_temp(value: float, unit: str)
将温度转换为摄氏度和华氏度。
参数:
value:要转换的温度值unit:“C”表示摄氏度到华氏度,“F”表示华氏度到摄氏度
例子:
convert_temp(25, "C") → "77.00 °F"
convert_temp(77, "F") → "25.00 °C"read_file(file_path: str)
读取并返回文本文件的内容。
参数:
file_path:文件的绝对或相对路径
退货: 带有路径信息的文件内容
write_file(file_path: str, content: str)
使用自动目录创建将内容写入文本文件。
参数:
file_path:写入文件的路径content:要写入的文本内容
list_directory(directory_path: str = ".")
用文件大小列出目录的内容。
参数:
directory_path:目录路径(默认为当前目录)
退货: 带文件/文件夹图标和大小的格式化列表
calculate_hash(text_or_path: str, hash_type: str = "sha256", is_file: bool = False)
计算文本或文件内容的加密哈希。
参数:
text_or_path:哈希的文本字符串或文件路径hash_type:“md5”、“sha1”或“sha256”(默认)is_file:设置为true对文件进行哈希运算时
base64_encode_decode(text: str, operation: str = "encode")
使用Base64对文本进行编码或解码。
参数:
text:要编码/解码的文本operation:“编码”或“解码”
get_datetime_info(format_string: str = "%Y-%m-%d %H:%M:%S")
获取全面的当前日期和时间信息。
参数:
format_string:用于自定义格式的Python strftime格式字符串
text_stats(text: str)
计算给定文本的详细统计数据。
参数:
text:要分析的文本
退货: 行、单词、字符和平均值
generate_password(length: int = 12, include_uppercase: bool = True, include_lowercase: bool = True, include_numbers: bool = True, include_symbols: bool = False)
生成一个安全的随机密码。
参数:
length:密码长度(默认值:12)include_uppercase:包括A-Z(默认值:true)include_lowercase:包括a-z(默认值:true)include_numbers:包含0-9(默认值:true)include_symbols:包含特殊字符(默认值:false)
🧪 测试
运行测试套件以验证功能:
python test.py这将测试所有核心功能,并验证服务器是否可以正确导入。
🔨 发展
添加新工具
要使用其他工具扩展服务器,请执行以下操作:
- 创建新功能 随着
@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)}"- 添加适当的错误处理 以及有意义的返回消息
- 更新README 带有新工具的文档
- 测试你的工具 确保其正常工作
项目结构
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)🤝 贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📋 需求
- Python 3.8+
- FastMCP 2.9.0+
- MCP 1.9.4+
看 requirements.txt 获取完整的依赖关系列表。
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
⭐ 支持
如果你觉得这个项目很有帮助,请考虑在GitHub上给它一颗星!
______________________________________________________________________
由以下材料制成❤️ 对于MCP社区
