Token导航 LogoToken导航TokenDH.com
Chuk MCP Lazarus logo
运维云端stdio官方级别未说明来源级核验

Chuk MCP Lazarus

MCP Server

chuk-mcp-lazarus是一个模型解释性服务器,提供加载模型、提取激活、训练探针、引导生成和组件消融等功能,适用于语言模型的深度分析和调试。

工具数

64

提示词数

0

GitHub Stars

18

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chrishayuk

提供方

chrishayuk

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python examples/smoke_test.py

详细介绍

拉扎鲁斯

MCP服务器包装的机械可解释性 楚克·拉扎鲁斯.

加载任何模型、提取激活、列车探测、转向生成, 并通过Claude(或任何MCP客户端)的MCP工具消融组件 可以自主呼叫。

快速开始

# Clone and install
git clone https://github.com/chuk-ai/chuk-mcp-lazarus.git
cd chuk-mcp-lazarus
uv sync

# Run the smoke test (53 tests on SmolLM2-135M, ~3 seconds)
uv run python examples/smoke_test.py

# Run the full 15-step language transition demo
uv run python examples/language_transition_demo.py

克劳德桌面版

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "lazarus": {
      "command": "uv",
      "args": ["run", "chuk-mcp-lazarus", "stdio"],
      "cwd": "/path/to/chuk-mcp-lazarus"
    }
  }
}

工具(64)

工具目的
型号load_model将任何HuggingFace模型加载到内存中
型号get_model_info返回架构元数据
世代generate_text从加载的模型生成文本
世代predict_next_token具有概率的Top-k下一个令牌预测
世代tokenize显示文本是如何标记的
世代logit_lens逐层预测演化(校准的logit透镜)
世代track_token跨层跟踪特定令牌的概率
世代track_race通过交叉检测跨层竞争N个候选令牌
世代embedding_neighbors在嵌入空间中查找最近的标记(余弦相似度)
激活extract_activations特定层和位置的隐藏状态
激活compare_activations跨提示的余弦相似度+PCA
注意attention_pattern指定层的人均注意力权重
注意attention_heads人均熵和焦点分析
探测train_probe对分类器进行激活训练
探测evaluate_probe对保留的数据进行评估
探测scan_probe_across_layers找到交叉层
探测probe_at_inference在自回归生成过程中运行经过训练的探针
探测list_probes列出所有经过训练的探头
转向系统compute_steering_vector对比激活添加
转向系统steer_and_generate在应用转向的情况下生成
转向系统list_steering_vectors列出所有计算向量
消融ablate_layers清零层,测量中断
消融patch_activations在提示之间交换激活
因果关系trace_token哪些层是预测所必需的
因果关系full_causal_trace位置×层因果热图(孟等人风格)
剩余residual_decomposition每层注意力与MLP贡献
剩余layer_clustering跨层表示相似性和聚类分离
剩余logit_attribution直接logit归因:每层组件对预测令牌的贡献
剩余head_attribution人均logit归因:哪些注意力头推向目标代币
剩余top_neurons每神经元MLP识别:哪些神经元向目标标记推送
归因attribution_sweep使用每个提示摘要跨提示批处理登录归因
干预component_intervention零/标度注意力、FFN或某一层的单个头部
神经元discover_neurons自动找到区分提示组的神经元
神经元analyze_neuron特定神经元:跨提示的激活统计数据
神经元neuron_trace通过下游层追踪神经元的影响
方向extract_direction通过平均差分、LDA、PCA或探头权重查找方向
实验create_experiment创建一个命名实验以实现结果持久性
实验add_experiment_result将步骤结果添加到实验中
实验get_experiment检索实验及其结果
实验list_experiments列出所有已保存的实验
比较load_comparison_model加载第二个模型进行并排分析
比较compare_weightsFrobenius范数+每层每个组件的余弦模拟
比较compare_representations提示之间的每层激活差异
比较compare_attention注意力模式中的人均JS差异
比较compare_generations两个模型并排输出的文本
比较unload_comparison_model从比较模型中释放VRAM
几何学token_space标记未嵌入向量与层上残差流之间的角度
几何学direction_angles任何方向之间的成对角度(标记、神经元、头部、残差、FFN、注意力、转向向量)
几何学subspace_decomposition将向量分解为基方向分量+正交残差
几何学residual_trajectory通过参考标记的角度跟踪图层中的残余旋转
几何学feature_dimensionalityPCA谱+特征的维度分类
几何学decode_residual将残差流解码到词汇空间:原始排名与归一化排名、差距分析、平均方向
几何学computation_map完整的预测流程:几何形状、归因、logit镜头竞赛、一次通话中的顶端/神经元
几何学inject_residual将供体残余物注入受体一层并继续生成(马尔可夫特性检验)。 donor_layer 从与注入点不同的层捕获
几何学residual_match查找与某层目标具有最相似残差流的候选提示
几何学compute_subspace不同提示下模型激活的PCA子空间——将基础存储在SubspaceRegistry中
几何学list_subspaces列出存储在SubspaceRegistry中的所有命名PCA子空间
几何学residual_atlas通过PCA在不同的提示下映射残差流:方差谱、vocab解码主成分
几何学weight_geometry地图供应侧:头部/神经元通过未嵌入的有效供应等级推动方向
几何学residual_map整个模型的每层方差谱紧凑(无vocab投影)
几何学branch_and_collapse非折叠叠加:将供体残差注入多个模板,独立进化,折叠到最高置信度
几何学subspace_surgery全位置子空间替换:在每个位置交换实体子空间,同时保留正交补码(施主/坐标/查找模式)
几何学build_dark_table预计算暗坐标查找表:项目参考提示到子空间进行零通注入
几何学list_dark_tables列出DarkTableRegistry中的所有暗表

资源(4)

URI描述
model://info当前模型元数据
probes://registry所有经过培训的探头和精度指标
vectors://registry所有计算出的转向矢量
comparisons://state比较模型状态

支持的型号

适用于任何型号 楚克·拉扎鲁斯 支持:

  • 杰玛 --吉玛3号(270M-27B),翻译吉玛4B/12B
  • 大羊驼 --Llama 2/3,米斯特拉尔,斯莫尔LM2
  • 通义 --问题2/3
  • 花岗岩 --IBM Granite 3.x/4.x(混合曼巴-2/变压器)
  • 贾姆巴 --AI21 Jamba(混合曼巴变压器MoE)
  • 曼巴 --纯SSM型号
  • StarCoder2 --代码生成
  • GPT-2 --GPT-2及兼容

默认演示目标: 翻译杰玛4B (34层,适合苹果硅)。 烟雾测试使用 斯莫尔LM2-135M 为了速度。

演示

脚本涵盖的工具默认模型
language_transition_demo.py17种工具——旗舰15步工作流程(探测、指导、因果追踪)gemma-3-4b-it
comparison_demo.py8种工具——两种模型比较(Gemma 3与TranslateGemma)Gemma-3-4b-it
deep_dive_demo.py8个工具——完整的可解释性管道(logit归因→ 头部→ 神经元)SmolLM2-135M
attribution_sweep_demo.py3个工具——带有提示汇总表的批量归因SmolLM2-135M
track_race_demo.py1个工具——具有交叉检测的多候选logit轨迹SmolLM2-135M
intervention_demo.py1个工具——手术部件干预(零/刻度注意力,FFN)SmolLM2-135M
experiment_demo.py4个工具——实验持久性(创建、添加结果、检索、列表)SmolLM2-135M
ablation_demo.py4种工具——层烧蚀和激活修补SmolLM2-135M
attention_demo.py4种工具——注意力模式和头部熵分析SmolLM2-135M
residual_stream_demo.py4种工具——残差分解和层聚类SmolLM2-135M
logit_attribution_demo.py3个工具——直接logit归因(知识本地化)SmolLM2-135M
causal_tracing_demo.py3种工具——因果追踪(观察与干预)SmolLM2-135M
geometry_demo.py6个工具——激活空间中的角度、轨迹、维度SmolLM2-135M
subspace_demo.py12种工具——PCA子空间、残余注射、手术、暗台SmolLM2-135M
copy_circuit_demo.py8个工具——复制电路假设(DLA、磁头输出、KV矢量)SmolLM2-135M
direction_demo.py7种工具——方向提取、转向、探测SmolLM2-135M
neuron_demo.py4种工具——神经元发现、分析和下游追踪SmolLM2-135M
smoke_test.py53个测试——验证所有具有错误包络覆盖率的工具SmolLM2-135M

演示:语言转换探究

旗舰实验遵循15个步骤的工作流程:

  1. 加载模型 -- load_model("google/gemma-3-4b-it")
  2. 检查架构 -- get_model_info() 显示34层
  3. 分词 --查看提示如何分解为令牌
  4. 生成文本 --查看基线模型输出
  5. 卫生检查激活 --验证激活是否重要
  6. 在早期层进行比较 --语言表征是不同的
  7. 在后期进行比较 --表示法收敛
  8. Logit镜头 --查看预测如何在各个层中演变
  9. 跟踪令牌 --观察特定代币的概率在各层之间的上升
  10. 跨层扫描探头 --找到语言身份可解码的地方
  11. 评估最佳探头 --确认保留的数据
  12. 计算转向矢量 --法国到德国方向
  13. 转向生成 --将法语翻译重定向到德语
  14. 阿尔法扫描 --以不同的转向强度迭代
  15. 因果追踪 --证明哪些层是预测所必需的

运行它: uv run python examples/language_transition_demo.py

演示:模型比较

将基础模型与其微调后的变体进行比较。先看实际 输出差异 compare_generations,然后找到位置 微调改变了权重、激活和注意力模式。 专为Gemma 3 4B与TranslateGemma 4B而设计,使用低资源 语言(冰岛语、斯瓦希里语、爱沙尼亚语、马拉地语) 显示25-30%的改善

运行它: uv run python examples/comparison_demo.py

建筑

建筑.md 10个设计原则。

要点:

  • 异步本机 --所有工具都是 async def,CPU密集型工作包 asyncio.to_thread
  • Pydantic土著 --每个数据结构都是类型化的 BaseModel
  • 模型无关 --适用于9+个模特家庭
  • 错误信封 --工具永远不会升起;总是返回结构化错误
  • JSON安全边界 --工具返回时转换的MLX阵列

项目结构

src/chuk_mcp_lazarus/
├── server.py            # ChukMCPServer instance
├── main.py              # Entry point (stdio / http)
├── model_state.py       # ModelState singleton
├── probe_store.py       # ProbeRegistry singleton
├── steering_store.py    # SteeringVectorRegistry singleton
├── comparison_state.py  # ComparisonState singleton (2nd model)
├── experiment_store.py  # ExperimentStore singleton
├── subspace_registry.py # SubspaceRegistry singleton
├── dark_table_registry.py # DarkTableRegistry singleton
├── resources.py         # MCP resources (4 resources)
├── errors.py            # Error types + envelope helper (17 error types)
├── _bootstrap.py        # Optional dependency stubs
├── _serialize.py        # MLX/NumPy -> JSON-safe
├── _generate.py         # Shared text generation
├── _compare.py          # Shared comparison kernels
├── _extraction.py       # Shared activation extraction
├── _residual_helpers.py # Shared residual-stream helpers
└── tools/
    ├── model/               # load_model, get_model_info
    ├── generation/          # generate_text, predict_next_token, tokenize,
    │                        #   logit_lens, track_token, track_race, embedding_neighbors
    ├── activation/          # extract_activations, compare_activations
    ├── attention/           # attention_pattern, attention_heads
    ├── residual/            # residual_decomposition, layer_clustering,
    │                        #   logit_attribution, head_attribution, top_neurons
    ├── neuron/              # discover_neurons, analyze_neuron, neuron_trace
    ├── probe/               # train_probe, evaluate_probe, scan_probe_across_layers,
    │                        #   probe_at_inference, list_probes
    ├── steering/            # compute_steering_vector, steer_and_generate,
    │                        #   list_steering_vectors, extract_direction
    ├── causal/              # trace_token, full_causal_trace,
    │                        #   ablate_layers, patch_activations
    ├── comparison/          # load_comparison_model, compare_weights,
    │                        #   compare_representations, compare_attention,
    │                        #   compare_generations, unload_comparison_model
    ├── attribution/         # attribution_sweep
    ├── intervention/        # component_intervention
    ├── experiment/          # create_experiment, add_experiment_result,
    │                        #   get_experiment, list_experiments
    └── geometry/            # Geometry tools (per-tool subpackage, 18+ tools)
        ├── _helpers.py          # Shared enums, math, direction extraction
        ├── _injection_helpers.py # Shared injection/generation helpers
        └── (one .py per tool)

发展

# Install with dev dependencies
uv sync --extra dev

# Run smoke tests
uv run python examples/smoke_test.py

# Run with a different model
uv run python examples/smoke_test.py --model TinyLlama/TinyLlama-1.1B-Chat-v1.0

# HTTP mode for development
uv run chuk-mcp-lazarus http --port 8765

需求

许可证

Apache 2.0

目录标签

目录标签

PythonClaude云端部署模型解释性本地部署语言模型分析生成引导激活提取组件消融

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

64

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP