验证mcp服务器
一个MCP服务器,它公开 验证库 基于规则的数据验证库,适用于Claude Desktop等LLM客户端。
设置
克隆仓库并安装依赖项:
git clone https://github.com/judepayne/validation-mcp-server.git
cd validation-mcp-server
pip install -r requirements.txt
Claude桌面集成
将以下内容添加到您的Claude Desktop配置文件中:
{
"mcpServers": {
"validation-lib": {
"command": "python",
"args": ["/path/to/validation-mcp-server/server.py"]
}
}
}
配置文件位于:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json (如果缺席则创建) - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
注意:在某些macOS安装中,文件可能只是命名 config.json 在同一个目录中。
替换 /path/to/validation-mcp-server/server.py 使用计算机上的实际路径,然后重新启动Claude Desktop。
工具
服务器公开了27个工具,按关注点分组:
规则发现
| 工具 | 说明 |
|---|
discover_rulesets | 列出所有可用的规则集 |
discover_rules(entity_type, schema_url, ruleset_name) | 列出规则集的规则和元数据——直接传递模式URL |
验证
| 工具 | 说明 |
|---|
validate | 根据规则集验证单个实体 |
batch_validate | 根据规则集验证实体列表 |
validation_report(ruleset_name, folder=None, relative_paths=None) | 试运行汇总报告——无注释;为了方便起见,传递文件夹名称或明确的路径列表;返回通过/失败/警告计数和每条规则的失败细分 |
逻辑缓存
| 工具 | 说明 |
|---|
reload_logic | 强制从GitHub重新获取规则逻辑 |
get_cache_age | 检查本地规则缓存的年龄 |
list_logic_files | 以目录树的形式浏览缓存的规则文件 |
read_logic_file | 读取特定规则文件的源代码 |
缓存新鲜度:在启动时, ValidationService 如果本地缓存早于以下时间,则自动从GitHub重新加载规则 logic_cache_max_age_seconds (默认1800秒/30分钟,在中配置 local-config.yaml).在会话期间,每5分钟应用一次相同的限制。您还可以随时通过以下方式触发立即刷新 reload_logic().
贷款数据
| 工具 | 说明 |
|---|
generate_loan | LLM根据实际模式和规则生成现实测试贷款的说明 |
实体转换
在以下之间转换 物理的 表示(存储在磁盘上的嵌套JSON,具有版本化的字段名)和 逻辑的 表示法(具有稳定逻辑字段名和类型值的平面字典)。每个模式版本的完整字段映射位于 entity_helpers/loan_v*.json --浏览 list_logic_files().
| 工具 | 说明 |
|---|
convert_to_logical | 将物理借用字典转换为平面逻辑字典;从中自动检测到架构 $schema |
convert_to_physical | 将平面逻辑字典转换回嵌套物理字典;明确提供的架构名称 |
帮助
| 工具 | 说明 |
|---|
list_commands | 返回按类别分组的所有可用命令的格式化引用,并附有示例 |
工作流--文件操作
| 工具 | 说明 |
|---|
refresh_inbox | 将收件箱增加到4笔贷款,在服务器端生成各种记录——仅当用户明确请求刷新时才调用 |
full_workflow_summary(folder=None) | 带有时间戳和本金金额的工作流状态表视图;由任何没有“快速”或“简短”的工作流/摘要请求触发 |
quick_workflow_summary() | 实时自动刷新计数面板(MCP App);仅当用户说“快速”或“简短”时触发 |
search_workflow(field_path, value, folders=None) | 在文件夹中查找与字段值匹配的贷款(例如。 search_workflow('financial.currency', 'USD')) |
read_workflow_files(relative_paths=None) | 按路径读取特定的贷款文件,或省略在一次调用中读取所有文件夹中的所有文件 |
write_workflow_file | 将内容写入工作流目录中的文件 |
move_workflow_files(filenames, from_folder, to_folder) | 在一次通话中在文件夹之间移动一个或多个贷款文件 |
delete_workflow_files(relative_paths) | 永久删除一个或多个贷款文件;路径可能跨越不同的文件夹 |
clear_workflow_folder | 永久删除工作流文件夹中的所有文件 |
工作流--验证
| 工具 | 说明 |
|---|
batch_validate_loan_files | 验证一个或多个特定的工作流贷款文件,并为每个文件附加验证说明(为一个文件传递一个元素列表) |
batch_validate_inbox | 验证收件箱中当前的每个文件,并在每个文件后附加验证说明 |
工作流程——编辑和注释
| 工具 | 说明 |
|---|
edit_loan_file | 通过点符号编辑贷款字段并记录审计说明 |
add_note | 将自由形式的注释附加到工作流贷款文件 |
get_notes | 仅返回工作流借用文件中的审计跟踪(注释数组) |